{"id":13492890,"url":"https://github.com/kreneskyp/ix","last_synced_at":"2025-04-12T15:42:53.061Z","repository":{"id":152447804,"uuid":"623760713","full_name":"kreneskyp/ix","owner":"kreneskyp","description":"Autonomous GPT-4 agent platform","archived":false,"fork":false,"pushed_at":"2024-03-04T01:20:20.000Z","size":6769,"stargazers_count":1023,"open_issues_count":14,"forks_count":126,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-27T15:14:29.200Z","etag":null,"topics":["ai","gpt-4","openai","python"],"latest_commit_sha":null,"homepage":"","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/kreneskyp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"kreneskyp","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-04-05T03:05:22.000Z","updated_at":"2025-03-21T19:08:40.000Z","dependencies_parsed_at":"2023-11-14T01:36:19.846Z","dependency_job_id":"71086df5-d86c-4380-804b-24f204e6c94b","html_url":"https://github.com/kreneskyp/ix","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreneskyp%2Fix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreneskyp%2Fix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreneskyp%2Fix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kreneskyp%2Fix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kreneskyp","download_url":"https://codeload.github.com/kreneskyp/ix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247033811,"owners_count":20872532,"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":["ai","gpt-4","openai","python"],"created_at":"2024-07-31T19:01:10.224Z","updated_at":"2025-04-03T16:12:27.531Z","avatar_url":"https://github.com/kreneskyp.png","language":"Python","readme":"# iX - Autonomous GPT-4 Agent Platform\n\n[![Unit Tests](https://img.shields.io/github/actions/workflow/status/kreneskyp/ix/test.yml)](https://github.com/kreneskyp/ix/actions/workflows/test.yml)\n[![Discord Server](https://dcbadge.vercel.app/api/server/jtrMKxzZZQ)](https://discord.gg/jtrMKxzZZQ)\n[![Twitter Follow](https://img.shields.io/twitter/follow/kreneskyp?style=social)](https://twitter.com/kreneskyp)\n\n\u003cdiv\u003e\n\u003cimg align=\"left\" src=\"ix_350.png\" alt=\"midjourney prompt: The ninth planet around the sun\"\u003e\n\u003cp\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\nAmidst the swirling sands of the cosmos, Ix stands as an enigmatic jewel, \nwhere the brilliance of human ingenuity dances on the edge of forbidden \nknowledge, casting a shadow of intrigue over the galaxy.\n\n\\- Atreides Scribe, The Chronicles of Ixian Innovation\n\u003cp\u003e\n\u003c/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003c/div\u003e\n\n\n## 🌌 About\n\u003cdiv\u003e\nIX is a platform for designing and deploying autonomous and [semi]-autonomous LLM powered agents and workflows. IX\nprovides a flexible and scalable solution for delegating tasks to AI powered agents. Agents created with the platform\ncan automate a wide variety of tasks, while running in parallel and communicating with each other.\n\u003cbr\u003e\n\u003c/div\u003e\n\n##### Build AI powered workflows:\n- QA chat bots\n- Code generation\n- Data extraction\n- Data analysis\n- Data augmentation\n- Research assistants\n\n## Key Features\n\n### 🧠 Models\n  - OpenAI\n  - Google PaLM (Experimental)\n  - Anthropic (Experimental)\n  - Llama (Experimental)\n\n### ⚒️ No-code Agent Editor\nNo-code editor for creating and testing agents. The editor provides an interface to drop and connect nodes into a graph\nrepresenting the cognitive logic of an agent. Chat is embedded in the editor to allow for rapid testing and debugging.\n\nhttps://github.com/kreneskyp/ix/assets/68635/f43923b9-7bce-4b64-b30e-3204eb1673e4\n\n### 💬 Multi-Agent Chat interface\nCreate your own teams of agents and interact with them through a single interface. Chat room support multiple agents.\nBy default it includes the IX moderator agent, which delegates tasks to other agents. You can `@mention` specific \nagents to complete the tasks.\n\n\nhttps://github.com/kreneskyp/ix/assets/68635/d1418c23-afb5-4aed-91c7-bf99b1c165d5\n\n\n### 💡 Smart Input \nThe smart input bar auto-completes agent `@mentions` and file \u0026 data `{artifacts}` created by tasks.\n\nhttps://github.com/kreneskyp/ix/assets/68635/27cf7085-7349-4641-9327-d31a3041a94c\n\n\n### ⚡ Message Queue Drive Agent Workers\nThe agent runner backend is dockerized and is triggered with a celery message queue. This allows the backend to scale\nhorizontally to support a fleet of agents running in parallel.\n\n![WorkerScalingTest_V3](https://github.com/kreneskyp/ix/assets/68635/bac934be-01c6-4882-bcfc-73a5ee85aa1e)\n\n\n### ⚙️ Component Config Layer\n\nIX implements a component config layer that maps LangChain components to the configuration graph. The config layer\npowers a number of other systems and features. For example, component field and connector definitions are used to\nrender nodes and forms dynamically in the no-code editor. \n\n\n## 🛠️ Getting Started\n\n##### Prerequisites\n\u003cdetails\u003e \n  \u003csummary\u003eWindows Linux Subsystem (windows only)\u003c/summary\u003e \n  \u003col\u003e\n      \u003cli\u003eOpen powershell\u003c/li\u003e\n      \u003cli\u003erun `wsl --install` to install and/or activate WSL\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e \n  \u003csummary\u003eDocker\u003c/summary\u003e\n  Install Docker Desktop for your OS:\u003cbr/\u003e\n  \u003cA href=\"https://www.docker.com/products/docker-desktop/\"\u003ehttps://www.docker.com/products/docker-desktop/\u003c/A\u003e\n\n  Detailed install instructions:\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.docker.com/desktop/install/mac-install/\"\u003eMac\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.docker.com/desktop/install/windows-install/\"\u003eWindows\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e \n  \u003csummary\u003ePython\u003c/summary\u003e \n  Python 3.8 or higher is required for the CLI. The app python version is managed by the image.\n\u003c/details\u003e\n\n\n### Agent-IX CLI\n\nThe quickest way to start IX is with the agent-ix CLI. The CLI starts a preconfigured docker cluster with \ndocker-compose. It downloads the required images automatically and starts the app cluster.\n\n```bash\npip install agent-ix\nix up\n```\n\nScale agent workers with the `scale` command. Each worker will run agent processes in parallel. The limit to the number\nof workers is based on available memory and CPU capacity.\n\n```bash\nix scale 5\n```\n\nThe client may start a specific version, including the unstable `dev` image built on `master` branch.\n```bash\nix up --version dev\n```\n\n\n## How does it work\n\n\n### Basic Usage\nYou chat with an agent that uses that direction to investigate, plan, and complete tasks. The agents are\ncapable of searching the web, writing code, creating images, interacting with other APIs and services. If it can be \ncoded, it's within the realm of possibility that an agent can be built to assist you.\n\n1. Setup the server and visit [http://0.0.0.0:8000](http://0.0.0.0:8000), a new chat will be created automatically with the default agents.\n\n2. Enter a request and the IX moderator will delegate the task to the agent best suited for the response. Or `@mention`\nan agent to request a specific agent to complete the task.\n\n3. Customized agents may be added or removed from the chat as needed to process your tasks\n\n### Creating Custom Agents and Chains\n\nIX provides the moderator agent IX, a coder agent, and other example agents. Custom agents \nmay be built using the chain editor or the python API. \n\n#### Chain Editor\n\n1. Navigate to the [chain editor](http://localhost:8000/chains/new)\n2. Click on the root connector to open the component search\n3. Drag agents, chains, tools, and other components into the editor\n4. Connect the components to create a chain\n5. Open the test chat to try it out!\n\n#### Python API\nChains [python API docs](docs/chains/chains.rst)\n\n\n\n## 🧙 Development setup\n\n### 1. Prerequisites\n\nBefore getting started, ensure you have the following software installed on your system:\n\n\u003cdetails\u003e \n  \u003csummary\u003eWindows Linux Subsystem (windows only)\u003c/summary\u003e \n  \u003col\u003e\n      \u003cli\u003eOpen powershell\u003c/li\u003e\n      \u003cli\u003erun `wsl --install` to install and/or activate WSL\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e \n  \u003csummary\u003eDocker\u003c/summary\u003e\n  Install Docker Desktop for your OS:\u003cbr/\u003e\n  \u003cA href=\"https://www.docker.com/products/docker-desktop/\"\u003ehttps://www.docker.com/products/docker-desktop/\u003c/A\u003e\n\n  Detailed install instructions:\n\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.docker.com/desktop/install/mac-install/\"\u003eMac\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.docker.com/desktop/install/windows-install/\"\u003eWindows\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e \n  \u003csummary\u003eGit \u0026 Make\u003c/summary\u003e \n  \u003cul\u003e\n    \u003cli\u003e\u003cb\u003eMac:\u003c/b\u003e \u003ccode\u003ebrew install git make\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003e\u003cb\u003eLinux:\u003c/b\u003e \u003ccode\u003eapt install git make\u003c/code\u003e\u003c/li\u003e\n    \u003cli\u003e\u003cb\u003eWindows (WSL):\u003c/b\u003e \u003ccode\u003eapt install git make\u003c/code\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\n### 2. Clone the repository\n\n```bash\ngit clone https://github.com/kreneskyp/ix.git\ncd ix\n```\n\n### 3. Setup env\n\nSetup config in `.env`\n\n```bash\ncp .env.template .env\n```\n\n```\nOPENAI_API_KEY=YOUR_KEY_HERE\n```\n\n### 4. Build \u0026 Initialize the IX cluster.\nThe image will build automatically when needed in most cases. Set `NO_IMAGE_BUILD=1` to skip rebuilding the image.\n\nUse the `image` target to build and start the IX images. The `dev_setup` target will build the frontend and \ninitialize the database. See the developer tool section for more commands to manage the dev environment.\n\n```\nmake dev_setup\n```\n\n### 5. Run the IX cluster\n\nThe IX cluster runs using docker-compose. It will start containers for the web server, app server, agent workers, database,\nredis, and other supporting services.\n\n```bash\nmake cluster\n```\n\n### 6. View logs\n\nWeb and app container logs\n```bash\nmake server\n```\n\nAgent worker container logs\n```bash\nmake worker\n```\n\n\n### 7. Open User Interface\n\nVisit [http://0.0.0.0:8000](http://0.0.0.0:8000) to access the user interface. From there you may create and edit\nagents and chains. \nThe platform will automatically spawn agent processes to complete tasks as needed.\n\n\n### Scaling workers\nAdjust the number of active agent workers with the `scale` target. The default is 1 agent worker to handle tasks. There\nis no hard limit on agents, but the number of workers is limited by available memory and CPU capacity.\n\n```bash\nmake scale N=5\n```\n\n\n## Developer Tools\n\nHere are some helpful commands for developers to set up and manage the development environment:\n\n### Running:\n- `make up` / `make cluster`: Start the application in development mode at [http://0.0.0.0:8000](http://0.0.0.0:8000).\n- `make server`: watch logs for web and app containers.\n- `make worker`: watch logs for agent worker containers.\n\n### Building:\n- `make image`: Build the Docker image.\n- `make frontend`: Rebuild the front end (GraphQL, relay, webpack).\n- `make webpack`: Rebuild JavaScript only.\n- `make webpack-watch`: Rebuild JavaScript on file changes.\n- `make dev_setup`: Builds frontend and generates database.\n- `make node_types_fixture`: Builds database fixture for component type definitions.\n\n### Database\n- `make migrate`: Run Django database migrations.\n- `make migrations`: Generate new Django database migration files.\n\n### Utility\n- `make bash`: Open a bash shell in the Docker container.\n- `make shell`: Open a Django shell_plus session.\n\n### Agent Fixtures\n\nDump fixtures with the `dump_agent` django command. This command will gather and dump the agent and chain, including\nthe component graph.\n\n1.\n    ```\n    make bash\n    ```\n2.\n    ```bash\n    ./manage.py dump_agent -a alias\n    ```\n","funding_links":["https://github.com/sponsors/kreneskyp"],"categories":["Agent Categories","Python","Conversational / General Agents","工具","Openai","Tools","Frameworks","Learning","Autonomous Agents"],"sub_categories":["\u003ca name=\"Unclassified\"\u003e\u003c/a\u003eUnclassified","代理","Agents","Repositories"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkreneskyp%2Fix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkreneskyp%2Fix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkreneskyp%2Fix/lists"}