{"id":24444560,"url":"https://github.com/upsonic/upsonic","last_synced_at":"2026-05-15T12:05:29.604Z","repository":{"id":251983288,"uuid":"806192576","full_name":"Upsonic/Upsonic","owner":"Upsonic","description":"The most reliable AI agent framework that supports MCP.","archived":false,"fork":false,"pushed_at":"2025-05-01T17:11:21.000Z","size":4205,"stargazers_count":7398,"open_issues_count":44,"forks_count":689,"subscribers_count":56,"default_branch":"master","last_synced_at":"2025-05-01T17:49:53.512Z","etag":null,"topics":["agent","agent-framework","claude","computer-use","llms","mcp","model-context-protocol","openai","rag","reliability"],"latest_commit_sha":null,"homepage":"https://docs.upsonic.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Upsonic.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":"2024-05-26T16:23:38.000Z","updated_at":"2025-05-01T17:04:10.000Z","dependencies_parsed_at":"2024-08-07T00:30:46.257Z","dependency_job_id":"f4136d83-d751-4bd9-8ca5-7454f9e2e167","html_url":"https://github.com/Upsonic/Upsonic","commit_stats":null,"previous_names":["upsonic/gpt-computer-assistant","upsonic/upsonic"],"tags_count":216,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FUpsonic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FUpsonic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FUpsonic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Upsonic%2FUpsonic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Upsonic","download_url":"https://codeload.github.com/Upsonic/Upsonic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252882600,"owners_count":21819151,"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-framework","claude","computer-use","llms","mcp","model-context-protocol","openai","rag","reliability"],"created_at":"2025-01-20T22:56:32.252Z","updated_at":"2026-05-15T12:05:29.595Z","avatar_url":"https://github.com/Upsonic.png","language":"Python","funding_links":[],"categories":["Projects","Frameworks","Chatbots","🧱 Agent Frameworks","Building","🌟 Core Frameworks"],"sub_categories":["Frameworks \u0026 Models","Advanced Components","Lightweight / Minimalist","Frameworks"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg width=\"947\" alt=\"Upsonic_README\" src=\"https://github.com/user-attachments/assets/acb3f413-e4fe-44a6-9aff-40d4e9031188\" /\u003e\n\n# Upsonic\n\n**Build Autonomous AI Agents in Python**\n\n[![PyPI version](https://badge.fury.io/py/upsonic.svg)](https://badge.fury.io/py/upsonic)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENCE)\n[![Python Version](https://img.shields.io/pypi/pyversions/upsonic.svg)](https://pypi.org/project/upsonic/)\n[![GitHub stars](https://img.shields.io/github/stars/Upsonic/Upsonic.svg?style=social\u0026label=Star)](https://github.com/Upsonic/Upsonic)\n[![GitHub issues](https://img.shields.io/github/issues/Upsonic/Upsonic.svg)](https://github.com/Upsonic/Upsonic/issues)\n[![Documentation](https://img.shields.io/badge/docs-upsonic.ai-brightgreen.svg)](https://docs.upsonic.ai)\n[![Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white)](https://discord.gg/pmYDMSQHqY)\n\n[Documentation](https://docs.upsonic.ai) • [Quickstart](https://docs.upsonic.ai/get-started/quickstart) • [Examples](https://docs.upsonic.ai/examples) • [Discord](https://discord.gg/pmYDMSQHqY)\n\n\u003c/div\u003e\n\n---\n\n## Overview\n\nUpsonic is a Python framework for building autonomous agents like OpenClaw and Claude Cowork, as well as more traditional agent systems.\n\n## Quick Start\n\n### Installation\n\n```bash\nuv pip install upsonic\n# pip install upsonic\n```\n\n### IDE Integration\n\nAdd Upsonic docs as a source in your coding tools:\n\n**Cursor:** Settings → Indexing \u0026 Docs → Add `https://docs.upsonic.ai/llms-full.txt`\n\nAlso works with VSCode, Windsurf, and similar tools.\n\n---\n\n## Create Autonomous Agent\n\n### Build Your Own\n\n```python\nfrom upsonic import AutonomousAgent, Task\n\nagent = AutonomousAgent(\n    model=\"anthropic/claude-sonnet-4-5\",\n    workspace=\"/path/to/logs\"\n)\n\ntask = Task(\"Analyze server logs and detect anomaly patterns\")\n\nagent.print_do(task)\n```\n\nAll file and shell operations are restricted to `workspace`. Path traversal and dangerous commands are blocked.\n\n### Use Our Prebuilt Ones\n\nPrebuilt autonomous agents are ready-to-run agents built by the Upsonic community, each packaging a skill, system prompt, and first message so you can go from install to running in seconds. The collection is [open to contributions](https://github.com/Upsonic/Upsonic/tree/master/src/upsonic/prebuilt), bring your agent and open a PR.\n\nLearn more: [Prebuilt Autonomous Agents](https://docs.upsonic.ai/concepts/prebuilt-autonomous-agents/overview)\n\n\u003e **Next steps:** Connect a [Sandbox Provider (E2B)](https://docs.upsonic.ai/concepts/autonomous-agent/overview) for isolated cloud execution environments.\n\n---\n\n## Create Traditional Agent\n\n```python\nfrom upsonic import Agent, Task\n\nagent = Agent(model=\"anthropic/claude-sonnet-4-5\", name=\"Stock Analyst Agent\")\n\ntask = Task(description=\"Analyze the current market trends\")\n\nagent.print_do(task)\n```\n\n### Add Custom Tools\n\n```python\nfrom upsonic import Agent, Task\nfrom upsonic.tools import tool\n\n@tool\ndef sum_tool(a: float, b: float) -\u003e float:\n    \"\"\"\n    Add two numbers together.\n\n    Args:\n        a: First number\n        b: Second number\n\n    Returns:\n        The sum of a and b\n    \"\"\"\n    return a + b\n\ntask = Task(\n    description=\"Calculate 15 + 27\",\n    tools=[sum_tool]\n)\n\nagent = Agent(model=\"anthropic/claude-sonnet-4-5\", name=\"Calculator Agent\")\n\nresult = agent.print_do(task)\n```\n\n\u003e **Next steps:** Integrate [MCP Tools](https://docs.upsonic.ai/concepts/tools/mcp-tools/overview) to connect your agents to thousands of external data sources and services.\n\n---\n\n## OCR and Document Processing\n\nUpsonic provides a unified OCR interface with a layered pipeline: Layer 0 handles document preparation (PDF to image conversion, preprocessing), Layer 1 runs the OCR engine.\n\n```bash\nuv pip install \"upsonic[ocr]\"\n```\n\n```python\nfrom upsonic.ocr import OCR\nfrom upsonic.ocr.layer_1.engines import EasyOCREngine\n\nengine = EasyOCREngine(languages=[\"en\"])\nocr = OCR(layer_1_ocr_engine=engine)\n\ntext = ocr.get_text(\"invoice.pdf\")\nprint(text)\n```\n\nSupported engines: EasyOCR, RapidOCR, Tesseract, PaddleOCR, DeepSeek OCR, DeepSeek via Ollama.\n\nLearn more: [OCR Documentation](https://docs.upsonic.ai/concepts/ocr/overview)\n\n---\n\n## Check Our Videos\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://www.youtube.com/watch?v=GOYko0KfBtg\"\u003e\n        \u003cimg src=\"https://img.youtube.com/vi/GOYko0KfBtg/maxresdefault.jpg\" width=\"400\" alt=\"Upsonic Demo Video 1\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://www.youtube.com/watch?v=ulUEFIolesQ\"\u003e\n        \u003cimg src=\"https://img.youtube.com/vi/ulUEFIolesQ/maxresdefault.jpg\" width=\"400\" alt=\"Upsonic Demo Video 2\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Documentation and Resources\n\n- **[Documentation](https://docs.upsonic.ai)** - Complete guides and API reference\n- **[Quickstart Guide](https://docs.upsonic.ai/get-started/quickstart)** - Get started in 5 minutes\n- **[Examples](https://docs.upsonic.ai/examples)** - Real-world examples and use cases\n- **[API Reference](https://docs.upsonic.ai/reference)** - Detailed API documentation\n\n## Community and Support\n\n\u003e **💬 [Join our Discord community!](https://discord.gg/pmYDMSQHqY)** — Ask questions, share what you're building, get help from the team, and connect with other developers using Upsonic.\n\n- **[Discord](https://discord.gg/pmYDMSQHqY)** - Chat with the community and get real-time support\n- **[Issue Tracker](https://github.com/Upsonic/Upsonic/issues)** - Report bugs and request features\n- **[Changelog](https://docs.upsonic.ai/changelog)** - See what's new in each release\n\n## License\n\nUpsonic is released under the MIT License. See [LICENCE](LICENCE) for details.\n\n## Contributing\n\nWe welcome contributions from the community! Please read our [Contributing Guide](CONTRIBUTING.md) and code of conduct before submitting pull requests.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsonic%2Fupsonic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupsonic%2Fupsonic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsonic%2Fupsonic/lists"}