{"id":26104057,"url":"https://github.com/hughlv/agentok","last_synced_at":"2025-03-09T21:01:44.009Z","repository":{"id":211112522,"uuid":"723728776","full_name":"dustland/agentok","owner":"dustland","description":"AG2 Visualized - Build Multi-Agentic Apps with Drag-and-Drop.","archived":false,"fork":false,"pushed_at":"2025-02-14T18:04:30.000Z","size":71670,"stargazers_count":279,"open_issues_count":38,"forks_count":34,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-02-28T10:03:42.028Z","etag":null,"topics":["ag2","artificial-intelligence","autogen","deepseek","gpt","llm","multi-agent","openai"],"latest_commit_sha":null,"homepage":"http://studio.agentok.ai/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dustland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2023-11-26T15:36:29.000Z","updated_at":"2025-02-27T16:50:35.000Z","dependencies_parsed_at":"2024-01-10T14:09:29.069Z","dependency_job_id":"a6474d40-ac0d-421a-85bf-eccac1c50e2b","html_url":"https://github.com/dustland/agentok","commit_stats":{"total_commits":466,"total_committers":4,"mean_commits":116.5,"dds":0.03648068669527893,"last_synced_commit":"a37040c64f9715bc90c066e1898ac607be03247c"},"previous_names":["tiwater/flowgen","hughlv/agentok","lyu-ai/agentok","dustland/agentok"],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentok","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentok/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentok/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustland%2Fagentok/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dustland","download_url":"https://codeload.github.com/dustland/agentok/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242750785,"owners_count":20179257,"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":["ag2","artificial-intelligence","autogen","deepseek","gpt","llm","multi-agent","openai"],"created_at":"2025-03-09T21:01:06.326Z","updated_at":"2025-03-09T21:01:43.987Z","avatar_url":"https://github.com/dustland.png","language":"TypeScript","funding_links":[],"categories":["Multi-Agent \u0026 Orchestration"],"sub_categories":["Other IDEs"],"readme":"\u003cimg src=\"./frontend/public/logo.png\" width=\"76\" /\u003e\n\n# Agentok Studio\n\n**AG2 Visualized - Build Agentic Apps with Drag-and-Drop Simplicity.**\n\n[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers\u0026message=Open\u0026color=blue\u0026logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/dustland/agentok)\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Codespaces-Open-blue?style=flat\u0026logo=github)](https://codespaces.new/dustland/agentok)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n![GitHub release](https://img.shields.io/github/v/release/dustland/agentok)\n[![GitHub star](https://img.shields.io/github/stars/dustland/agentok?style=flat\u0026logo=github\u0026color=black\u0026labelColor=gray)](https://star-history.com/#dustland/agentok)\n\n🎉 February 10, 2025: Introduced a DeepSeek Assistant Node. Meanwhile, we also added a new feature that allows users to configure the LLM model for all conversable nodes.\n\n## 🌟 What is Agentok Studio\n\nAgentok Studio is a tool built upon [AG2](https://github.com/ag2ai/ag2) (Previously AutoGen), a powerful agent framework from Microsoft and [a vibrant community of contributors](https://github.com/ag2ai/ag2?tab=readme-ov-file#contributors-wall).\n\n### Visualizing AG2\n\nWe consider AG2 to be at the forefront of next-generation Multi-Agent Applications technology. Agentok Studio takes this concept to the next level by offering intuitive visual tools that streamline the creation and management of complex agent-based workflows.\n\n![group-chat](./frontend/public/images/screenshot/group-chat.png)\n\n### Conversation Relations\n\nThe relationship between two agents is essential. To incorporate tool calls in a conversation, the LLM must determine which tools to invoke, while informing the user proxy about which nodes to execute. Configuring tools on the edge between these nodes is crucial for optimal operation.\n\n![sequantial-chat](./frontend/public/images/screenshot/sequential-chat.png)\n\nYou can switch between light and dark themes using the toggle in the top right corner.\n\nFor more information related to Conversation Patterns, please refer to [Conversation Patterns](https://docs.ag2.ai/docs/tutorial/conversation-patterns).\n\n### Tools\n\nWe provide a tool editor to help you create and manage tools.\n\n![tool-editor](./frontend/public/images/screenshot/tool-editor.png)\n\nThe tool can contain variables, which users can configure in the tool management page.\n\n![tool-config](./frontend/public/images/screenshot/tool-config.png)\n\n### Full Visibility of Code and Data\n\nWe strive to create a user-friendly tool that generates native Python code with minimal dependencies. Simply put, Agentok Studio is a diagram-based code generator for AG2. The generated code is self-contained and can be executed anywhere as a normal Python program, relying solely on the official `ag2` library.\n\n![codegen-1](./frontend/public/images/screenshot/code-generation.png)\n\nAs shown above, we provide full visibility into the underlying data representation of the flow for diagnosis and debugging.\n\nWe also attached the original logs(stdout and stderr) from AG2 execution, so you can fully understand the underlying execution process:\n\n![logs](./frontend/public/images/screenshot/logs.png)\n\n\u003e [!Note]\n\u003e RAG feature has been removed from this project, as we believe it should be a separate service.\n\n## 💡 Quickstart\n\nVisit [https://studio.agentok.ai](https://studio.agentok.ai) to quickly explore Agentok Studio's features. While we offer an online deployment, please note that it is not intended for production use. The service level agreement is not guaranteed, and stored data may be wiped due to breaking changes.\n\nAfter logging in as a Guest or with your OAuth2 account, click **Create New Project** to start a new project. Each new project comes with a sample workflow. Switch to the **Chat** tab to begin the conversation.\n\n![group-chat](./frontend/public/images/screenshot/group-chat.png)\n\nFor a more in-depth look at the project, please refer to [Getting Started](https://agentok.ai/getting-started).\n\n## 🐳 Run Locally (with Docker)\n\nThe project consists of a Frontend (built with Next.js) and Backend service (built with FastAPI in Python), both fully dockerized.\n\nBefore running the project, create `.env` files in both the `frontend` and `api` directories:\n\n```bash\ncp frontend/.env.sample frontend/.env\ncp api/.env.sample api/.env\ncp api/OAI_CONFIG_LIST.sample api/OAI_CONFIG_LIST\n```\n\nNote: Supabase provides both **anon** and **service_role** keys for each project. Use the anon key for `NEXT_PUBLIC_SUPABASE_ANON_KEY` (frontend) and service role key for `SUPABASE_SERVICE_KEY` (backend).\n\nThe easiest way to run locally is using docker-compose:\n\n```bash\ndocker-compose up -d\n```\n\nYou can also build and run the UI and service separately with Docker:\n\n```bash\ndocker build -t agentok-api ./api\ndocker run -d -p 5004:5004 agentok-api\n\ndocker build -t agentok-frontend ./frontend\ndocker run -d -p 2855:2855 agentok-frontend\n```\n\n(Port 2855 represents our first office address.)\n\n## 🛠️ Run Locally (Without Docker)\n\nFor development or running from source:\n\n### Frontend\n\n1. Navigate to the frontend directory: `cd frontend`\n2. Rename `.env.sample` to `.env.local` and configure variables\n3. Install dependencies: `pnpm install` or `yarn`\n4. Start the development server: `pnpm dev` or `yarn dev`\n\n\u003e Note: If you encounter frequent Server Errors related to 'useContext', try removing `--turbo` from the **dev** command in package.json.\n\n### Backend Services\n\n1. Navigate to the api directory: `cd api`\n2. Rename `.env.sample` to `.env` and `OAI_CONFIG_LIST.sample` to `OAI_CONFIG_LIST`\n3. Install Poetry\n4. Start the service: `poetry run uvicorn agentok_api.main:app --reload --port 5004`\n\n`REPLICATE_API_TOKEN` is required for LLaVa agent functionality.\n\n**IMPORTANT**: AG2's latest version requires Docker for code execution by default. Either:\n\n1. Install Docker locally, OR\n2. Set `AUTOGEN_USE_DOCKER=False` in `api/.env`\n\nNote: Docker requirement is disabled by default in our dockerized deployment.\n\n### Database Services\n\nThis project uses Supabase for authentication and data storage. Follow [./db/README.md](./db/README.md) to prepare the database and set environment variables (SUPABASE\\_\\* in .env.sample).\n\nOnce services are running, access:\n\n- API: http://localhost:5004 (OpenAPI docs: http://localhost:5004/docs)\n- Frontend: http://localhost:2855\n\n### Observability with AgentOps\n\nWe use [AgentOps](https://agentops.ai) to monitor the performance of the system. To enable it, you can set environment variable `AGENTOPS_API_KEY` in `api/.env`.\n\n## 👨‍💻 Contributing\n\nWe welcome all contributions! This includes code, documentation, and other project aspects. Open a [GitHub Issue](https://github.com/hughlv/agentok/issues/new) or join our [Discord Server](https://discord.gg/xBQxwRSWfm).\n\nPlease read our [Contributing Guide](./CONTRIBUTING.md) before getting started.\n\nNew to GitHub? Check out their [guide on collaborating with issues and pull requests](https://help.github.com/categories/collaborating-with-issues-and-pull-requests/).\n\nConsider contributing to [AG2](https://github.com/ag2ai/ag2) as well, since Agentok Studio builds upon its capabilities.\n\nThis project uses [📦🚀semantic-release](https://github.com/semantic-release/semantic-release) for versioning and releases. Releases are triggered manually via GitHub Actions to avoid excessive automation.\n\nWe enforce [Commitlint](https://commitlint.js.org/#/) conventions for commit messages.\n\n## Contributors Wall\n\n\u003ca href=\"https://github.com/hughlv/agentok/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=hughlv/agentok\" /\u003e\n\u003c/a\u003e\n\n## 📝 License\n\nThis project is licensed under the [Apache 2.0 License with additional terms and conditions](./LICENSE.md).\n\n## 📖 Citation\n\nIf you find this project useful, please consider citing it:\n\n```bibtex\n@misc{agentok,\n  author = {Dustland},\n  title = {Agentok Studio},\n  year = {2025},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https://github.com/dustland/agentok}}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhughlv%2Fagentok","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhughlv%2Fagentok","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhughlv%2Fagentok/lists"}