{"id":28487631,"url":"https://github.com/logarithm-labs/curator-agent","last_synced_at":"2025-08-17T13:33:57.562Z","repository":{"id":292079463,"uuid":"964574298","full_name":"Logarithm-Labs/curator-agent","owner":"Logarithm-Labs","description":"A sophisticated agent system designed to optimize asset allocation across multiple Logarithm vaults within a meta vault framework, with the primary objective of maximizing returns.","archived":false,"fork":false,"pushed_at":"2025-06-25T13:13:10.000Z","size":15923,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-25T13:27:06.988Z","etag":null,"topics":["agent","agent-based-simulation","defi","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Logarithm-Labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-11T12:37:49.000Z","updated_at":"2025-06-25T13:13:14.000Z","dependencies_parsed_at":"2025-06-25T13:37:14.115Z","dependency_job_id":null,"html_url":"https://github.com/Logarithm-Labs/curator-agent","commit_stats":null,"previous_names":["logarithm-labs/curator-agent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Logarithm-Labs/curator-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logarithm-Labs%2Fcurator-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logarithm-Labs%2Fcurator-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logarithm-Labs%2Fcurator-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logarithm-Labs%2Fcurator-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Logarithm-Labs","download_url":"https://codeload.github.com/Logarithm-Labs/curator-agent/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logarithm-Labs%2Fcurator-agent/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263102694,"owners_count":23414154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-based-simulation","defi","python"],"created_at":"2025-06-08T04:32:19.118Z","updated_at":"2025-07-02T08:32:04.478Z","avatar_url":"https://github.com/Logarithm-Labs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Curator Agent\n\nA sophisticated agent system designed to optimize asset allocation across multiple Logarithm vaults within a meta vault framework, with the primary objective of maximizing returns.\n\n## Overview\n\nThe Curator Agent employs advanced strategies to dynamically manage and rebalance assets across various Logarithm vaults, ensuring optimal performance and risk-adjusted returns.\n\n## System Architecture\n\n![Workflow Diagram](images/workflow.png)\n\n## Prerequisites\n\n- Python 3.12\n- `uv` package manager\n- OpenAI API key\n- Sufficient disk space for backtest data\n\n## Installation\n\n### For Development/Contributing\n\n1. **Install `uv` Package Manager**\n   ```bash\n   curl -LsSf https://astral.sh/uv/install.sh | sh\n   ```\n\n2. **Install Project Dependencies**\n   ```bash\n   uv sync --locked\n   ```\n\n### For Using as a Package in Other Projects\n\nYou can install curator-agent as a package in your own projects using `uv`:\n\n```bash\n# Install from GitHub repository\nuv add git+ssh://git@github.com/Logarithm-Labs/curator-agent.git#egg=curator\n\n# Or install from a specific branch/tag\nuv add git+ssh://git@github.com/Logarithm-Labs/curator-agent.git@main#egg=curator\n```\n\n#### Usage Example\n\nAfter installation, you can use the curator modules in your project:\n\n```python\nfrom curator import (\n    AllocationAction,\n    ReallocationAction,\n    WithdrawAction,\n    AnalysisSummary,\n    validate_allocation,\n    ValidationFeedback,\n    create_allocation_agent,\n    create_reallocation_agent,\n    create_withdraw_agent,\n    create_analysis_agent\n)\n\n# Use validation utilities\nresult = validate_allocation(1000.0, [\"btc\", \"eth\"], [600.0, 400.0], [800.0, 500.0])\nprint(f\"Validation result: {result.result}\")\n\n# Import action classes and agent creation functions\n# See examples/basic_usage.py for more details\n```\n\nSee `examples/basic_usage.py` for a complete usage example.\n\n## Running Backtests\n\n### 1. Build Observations\n\nThe system uses historical data from `back_test/data/hyperliquid` to generate observations. This data includes:\n- Logarithm vaults performance metrics\n\nWithin the loader functions in `back_test/loader`, the following information is simulated during building:\n- Pending Withdrawals and Idle Assets of Logarithm vaults based on standard distribution sampling\n- Deposits to and Withdraws from the Agent are simulated based on uniform distribution sampling\n\nTo build observations:\n```bash\nuv run -m back_test.build_observations\n```\n\n### 2. Execute Backtests\n\nBefore running the backtests, ensure your OpenAI API key is configured in your environment:\n```bash\nexport OPENAI_API_KEY='your-api-key'\n```\n\nRun the following commands to execute different strategies:\n```bash\n# Run the curator strategy\nuv run -m back_test.curator_strategy\n\n# Run the baseline strategy for comparison\nuv run -m back_test.baseline_strategy\n```\n\n### 3. Visualize Results\n\nGenerate performance visualizations:\n```bash\nuv run -m back_test.dashboard\n```\n\n**Important:** Before running the dashboard, ensure the correct log path is configured in `dashboard.py`.\n\n## Project Structure\n\n```\n.\n├── back_test/\n│   ├── data/\n│   │   └── hyperliquid/    # Historical performance data\n│   ├── build_observations.py\n│   ├── curator_strategy.py\n│   ├── baseline_strategy.py\n│   └── dashboard.py\n└── images/\n    └── workflow.png\n```\n\n## Contributing\n\nPlease read our contributing guidelines before submitting pull requests.\n\n## License\n\nMIT License\n\nCopyright (c) 2025 Curator Agent\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Support\n\nFor support and questions, please join our Discord community: [Discord Server](https://discord.gg/WUywV5Qh)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogarithm-labs%2Fcurator-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogarithm-labs%2Fcurator-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogarithm-labs%2Fcurator-agent/lists"}