{ "info": { "author": null, "author_email": null, "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12" ], "description": "# Agent OS \n\ud83c\udf1e Build autonomous AI agents!\n\n\ud83d\udee0\ufe0fThe Agent OS is an experimental framework and runtime to build sophisticated, long running, and self-coding AI agents.\n\nWe believe that the most important super-power of AI agents is to write and execute their own code to interact with the world. But for that to work, they need to run in a suitable environment\u2014a place designed to be inhabited by agents. The Agent OS is designed from the ground up to function as a long-term computing substrate for these kinds of self-evolving agents.\n\n\u2753If you want to understand the motivation behind the project, read the [manifesto](docs/articles/manifesto.md). \n\u2753To learn how everything works, start reading the [design docs](docs/design/design.md).\n\nIn short:\n\n - Think of the Agent OS as a *substrate* that is designed for the next generation of robust [Auto-GPTs](https://github.com/Significant-Gravitas/Auto-GPT).\n - The current version is implemented in Python, but the runtime and protocol is designed to work with many different programming languages, and the runtime should eventually be rewritten in a systems language. The current runtime is a prototype (but a serious one).\n - The framework plays well with other AI libraries such as LangChain or LlamaIndex.\n - The system is designed for \"[local-first](https://www.inkandswitch.com/local-first/)\" agents that run on your machine, but it should also be possible to run parts of an agent in the cloud.\n - The data layer is made for longevity. We introduce a novel data structure that is inspired by Git. It's a content addressable storage that maintains your agent's history and memory and makes sure you never lose data.\n - An agent's primary purpose is not to run large language models on your machine (although that's possible too), but to provide a place to execute the code and functions that are generated by these models. It then composes these functions into larger features and routes events and data to them.\n - To demonstrate the power of the Agent OS, this project comes with a demo agent called [\"Jetpack\"](agents/README.md#jetpack) that can chat with you and write self-executing programs.\n\n\n

\"Jetpack\n
\nClick the the image to watch a short demo on YouTube.\n

\n\n\n## Getting Started\nAs long as the project is still in alpha, the best way to get started is to clone this repository.\n\nRequires Python >= 3.10 and [Poetry](https://python-poetry.org/). Works on Linux, macOS, and Windows.\n\nOnce cloned, `cd` into the repository and run:\n```\npoetry install\n```\n\nThe project comes with a CLI that can be used to initiate and run agents. To see the available commands run:\n```\npoetry run aos --help\n```\n\n## Test Drive an Agent \ud83e\udd16 \nTo run your first agent, put an `.env` file in the project root that contains an OpenAI API key. (It also works without an `.env` file or key if you just want to give the project a quick spin.)\n```\nOPENAI_API_KEY=sk-myspecialkey\n```\n### Agent Dependencies\nSome of the dependencies for the demo agents are optional and not part of the core Agent OS source. To install them, run:\n```\npoetry install --with agents\n```\n\n### Jetpack Agent\nThe [\"Jetpack\" agent](agents/README.md) demonstrates what the Agent OS can do and is geared towards end-to-end code generation and execution. It's a conversational agent that can accomplish various tasks for you. To run it, execute the following commands:\n```\npoetry run aos -d agents/jetpack/ push\npoetry run aos -d agents/jetpack/ run\n```\n\nJetpack comes with a web interface, and the Agent OS hosts a web server. To access the interface, browse to http://127.0.0.1:5000/ag/jetpack/wit/actors/frontend/query/web\n\n\n\n## Project Structure\n\n* `agents/`: examples of agent implementations. [See the folder](agents/) for more details.\n * `jetpack/`: the flagship agent demo, geared towards conversational task completion through code generation.\n* `src/`: contains all relevant modules that are part of the Agent OS.\n * `grit/`: object store, inspired by Git.\n * `wit/`: libraries to help write \"wit\" state transition functions\n * `runtime/`: the Agent OS runtime: actor executor, custom python module loader, and wit function resolver.\n * `sync/`: modules to push and pull data into grit from the developer's file system.\n * `web/`: the web server that provides the web interface.\n * `cli/`: the \"aos\" (agent OS) CLI.\n* `tests/`: extensive unit tests that cover most of the `/src` packages \nand modules.\n* `docs/`: documentation, intended to be rendered as a GitBook.\n\n## Running the Tests\nIf you want to hack on the code, it is helpful to run the tests. The project uses `pytest` and has almost 100 unit tests.\n```\npoetry run pytest tests/\n```\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "dynamic": null, "home_page": "https://github.com/lukebuehler/agent-os", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "agent-os-py", "package_url": "https://pypi.org/project/agent-os-py/", "platform": null, "project_url": "https://pypi.org/project/agent-os-py/", "project_urls": { "Homepage": "https://github.com/lukebuehler/agent-os", "Repository": "https://github.com/lukebuehler/agent-os" }, "provides_extra": null, "release_url": "https://pypi.org/project/agent-os-py/0.1.1/", "requires_dist": [ "python-dotenv<2.0.0,>=1.0.0", "pydantic<3.0.0,>=2.0.1", "aiofiles<24.0.0,>=23.1.0", "async-lru<3.0.0,>=2.0.2", "pytest-asyncio<0.22.0,>=0.21.0", "tomlkit<0.12.0,>=0.11.8", "lmdb<2.0.0,>=1.4.1", "watchfiles<0.20.0,>=0.19.0", "starlette<0.29.0,>=0.28.0", "sse-starlette<2.0.0,>=1.6.1", "uvicorn<0.23.0,>=0.22.0", "click<9.0.0,>=8.1.5", "filetype<2.0.0,>=1.2.0" ], "requires_python": "<4.0,>=3.10", "summary": "A library and runtime to build autonomous AI agents.", "version": "0.1.1", "yanked": false, "yanked_reason": null }, "last_serial": 22735585, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "blake2b_256": "6753e3df2f46122ba9e5ce4995776a14b0bb9c518677380f02bd6927fed15151", "md5": "c3b23930cf797c82b3a292f5e93615b3", "sha256": "a9f4479963395546d30848fff25f853aab25bec0126eda4180f7e03b448b6b69" }, "downloads": -1, "filename": "agent_os_py-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c3b23930cf797c82b3a292f5e93615b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.10,<4.0", "size": 71545, "upload_time": "2023-07-26T10:40:35", "upload_time_iso_8601": "2023-07-26T10:40:35.490655Z", "url": "https://files.pythonhosted.org/packages/67/53/e3df2f46122ba9e5ce4995776a14b0bb9c518677380f02bd6927fed15151/agent_os_py-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "f23a85cf3947d898c3479b9d0f854d92a3598fdd00dfc1183f8dbdbb63292982", "md5": "0f3553745dc9ae77b91adf97a4fb010f", "sha256": "dcac2261daec662f0b37f48cba60bf2c8bc7550c1d1f747f1c5f2d9c2dcc9704" }, "downloads": -1, "filename": "agent_os_py-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0f3553745dc9ae77b91adf97a4fb010f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.10,<4.0", "size": 60112, "upload_time": "2023-07-26T10:40:37", "upload_time_iso_8601": "2023-07-26T10:40:37.423136Z", "url": "https://files.pythonhosted.org/packages/f2/3a/85cf3947d898c3479b9d0f854d92a3598fdd00dfc1183f8dbdbb63292982/agent_os_py-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "blake2b_256": "3b759d784f67b75285251b20254c3861582d020a0de49debcb4dae93da997c0d", "md5": "f214005b6e7a35ce0efe451c83004aff", "sha256": "786c9d64d257b20dbf235256228a492fcd7bda59b02c9c38d7071420df05fe75" }, "downloads": -1, "filename": "agent_os_py-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f214005b6e7a35ce0efe451c83004aff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.10,<4.0", "size": 106882, "upload_time": "2023-09-19T15:32:56", "upload_time_iso_8601": "2023-09-19T15:32:56.495482Z", "url": "https://files.pythonhosted.org/packages/3b/75/9d784f67b75285251b20254c3861582d020a0de49debcb4dae93da997c0d/agent_os_py-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "0fc24f04653b1a94ef1a6599508050e6f146971fa25049a1f33c9799dcf9042e", "md5": "9a2c3424f97f4611bb0f7203f1da1a00", "sha256": "138b777d97aac4ec743291c9215816814d33f0e66bbe98d8b9639b6c99ed66ce" }, "downloads": -1, "filename": "agent_os_py-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9a2c3424f97f4611bb0f7203f1da1a00", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.10,<4.0", "size": 87568, "upload_time": "2023-09-19T15:32:57", "upload_time_iso_8601": "2023-09-19T15:32:57.976339Z", "url": "https://files.pythonhosted.org/packages/0f/c2/4f04653b1a94ef1a6599508050e6f146971fa25049a1f33c9799dcf9042e/agent_os_py-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "blake2b_256": "00af1593f679ccf704b4887bd3bc8884b291d8624c48c3c0fc726013b83f049a", "md5": "46ade33784451ec9de2dd102eb5d533c", "sha256": "06e87ff705ef727fb858ad26d890a38cd0e3bf8377d3a55ee1bcd0a63e7669a0" }, "downloads": -1, "filename": "agent_os_py-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "46ade33784451ec9de2dd102eb5d533c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "<4.0,>=3.10", "size": 391155, "upload_time": "2024-04-12T09:25:03", "upload_time_iso_8601": "2024-04-12T09:25:03.706818Z", "url": "https://files.pythonhosted.org/packages/00/af/1593f679ccf704b4887bd3bc8884b291d8624c48c3c0fc726013b83f049a/agent_os_py-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "8608dc823bf36566c1e937255cfa95dda1a4ccb10cbd41629b9cf62d3d2a7ebe", "md5": "2cf25974b793515d707f075933b4faea", "sha256": "3a662a0498337e02c9eae47c78d09303031d43187cfbec42d324da59d280545d" }, "downloads": -1, "filename": "agent_os_py-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2cf25974b793515d707f075933b4faea", "packagetype": "sdist", "python_version": "source", "requires_python": "<4.0,>=3.10", "size": 372249, "upload_time": "2024-04-12T09:25:06", "upload_time_iso_8601": "2024-04-12T09:25:06.173091Z", "url": "https://files.pythonhosted.org/packages/86/08/dc823bf36566c1e937255cfa95dda1a4ccb10cbd41629b9cf62d3d2a7ebe/agent_os_py-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "blake2b_256": "00af1593f679ccf704b4887bd3bc8884b291d8624c48c3c0fc726013b83f049a", "md5": "46ade33784451ec9de2dd102eb5d533c", "sha256": "06e87ff705ef727fb858ad26d890a38cd0e3bf8377d3a55ee1bcd0a63e7669a0" }, "downloads": -1, "filename": "agent_os_py-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "46ade33784451ec9de2dd102eb5d533c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "<4.0,>=3.10", "size": 391155, "upload_time": "2024-04-12T09:25:03", "upload_time_iso_8601": "2024-04-12T09:25:03.706818Z", "url": "https://files.pythonhosted.org/packages/00/af/1593f679ccf704b4887bd3bc8884b291d8624c48c3c0fc726013b83f049a/agent_os_py-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "8608dc823bf36566c1e937255cfa95dda1a4ccb10cbd41629b9cf62d3d2a7ebe", "md5": "2cf25974b793515d707f075933b4faea", "sha256": "3a662a0498337e02c9eae47c78d09303031d43187cfbec42d324da59d280545d" }, "downloads": -1, "filename": "agent_os_py-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2cf25974b793515d707f075933b4faea", "packagetype": "sdist", "python_version": "source", "requires_python": "<4.0,>=3.10", "size": 372249, "upload_time": "2024-04-12T09:25:06", "upload_time_iso_8601": "2024-04-12T09:25:06.173091Z", "url": "https://files.pythonhosted.org/packages/86/08/dc823bf36566c1e937255cfa95dda1a4ccb10cbd41629b9cf62d3d2a7ebe/agent_os_py-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }