{"id":13455908,"url":"https://github.com/cheshire-cat-ai/core","last_synced_at":"2025-05-13T23:07:07.536Z","repository":{"id":81246908,"uuid":"599338659","full_name":"cheshire-cat-ai/core","owner":"cheshire-cat-ai","description":"AI agent microservice","archived":false,"fork":false,"pushed_at":"2025-05-02T13:20:55.000Z","size":11739,"stargazers_count":2755,"open_issues_count":45,"forks_count":370,"subscribers_count":31,"default_branch":"main","last_synced_at":"2025-05-08T22:39:15.594Z","etag":null,"topics":["agent","ai","assistant","bot","bot-framework","chatbot","conversational","conversational-forms","docker","framework","function-calling","llm","plugin","python","vector-search"],"latest_commit_sha":null,"homepage":"https://cheshirecat.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cheshire-cat-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-08T23:41:18.000Z","updated_at":"2025-05-08T20:16:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"2528458c-c0e3-47f3-9a14-27a6e26f0609","html_url":"https://github.com/cheshire-cat-ai/core","commit_stats":{"total_commits":1671,"total_committers":73,"mean_commits":22.89041095890411,"dds":"0.49730700179533216","last_synced_commit":"ca6a1aa757f2cfb205a5e43de437aa05a9ec9a88"},"previous_names":["cheshire-cat-ai/core"],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheshire-cat-ai%2Fcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheshire-cat-ai%2Fcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheshire-cat-ai%2Fcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cheshire-cat-ai%2Fcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cheshire-cat-ai","download_url":"https://codeload.github.com/cheshire-cat-ai/core/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254041092,"owners_count":22004664,"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","ai","assistant","bot","bot-framework","chatbot","conversational","conversational-forms","docker","framework","function-calling","llm","plugin","python","vector-search"],"created_at":"2024-07-31T08:01:13.321Z","updated_at":"2025-05-13T23:07:02.521Z","avatar_url":"https://github.com/cheshire-cat-ai.png","language":"Python","funding_links":[],"categories":["AI Orchestration \u0026 Deployment","🚀 AI Tools for Vim, Neovim, and Terminal","HarmonyOS","Python","Web \u0026 Desktop UIs","A01_文本生成_文本对话","📚 Projects (1974 total)","Agent Integration \u0026 Deployment Tools","Apps","chatbot","LLMOps","开源项目","Open Source Projects","Assistants","*Ops for AI"],"sub_categories":["Workflow Orchestration for AI","Windows Manager","大语言对话模型及数据","MCP Servers","AI Developer Toolkit","AI","Observability","其他聊天机器人","Other / Chatbots","Model Serving \u0026 Inference"],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch2\u003eCheshire Cat AI\u003c/h2\u003e\n  \u003ch3\u003e🇮🇹 Stregatto - 🇨🇳 柴郡貓 - 🇮🇳 चेशायर बिल्ली - 🇷🇺 Чеширский кот\u003c/h3\u003e\n\u003cbr/\u003e\n  \u003ca href=\"https://github.com/cheshire-cat-ai/core\"\u003e\n  \u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/cheshire-cat-ai/core?style=social\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/bHX5sNFCYU\"\u003e\n        \u003cimg src=\"https://img.shields.io/discord/1092359754917089350?logo=discord\"\n            alt=\"chat on Discord\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/cheshire-cat-ai/core/issues\"\u003e\n  \u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/cheshire-cat-ai/core\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/cheshire-cat-ai/core/tags\"\u003e\n  \u003cimg alt=\"GitHub tag (with filter)\" src=\"https://img.shields.io/github/v/tag/cheshire-cat-ai/core\"\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"GitHub top language\" src=\"https://img.shields.io/github/languages/top/cheshire-cat-ai/core\"\u003e\n\n  \u003cbr/\u003e\n  \u003cvideo src=\"https://github.com/cheshire-cat-ai/core/assets/6328377/7bc4acff-34bf-4b8a-be61-4d8967fbd60f\"\u003e\u003c/video\u003e\n\u003c/div\u003e\n\n## AI agent as a microservice\n\nThe Cheshire Cat is a framework to build custom AI agents:\n\n- ⚡️ API first, to easily add a conversational layer to your app\n- 💬 Chat via WebSocket and manage your agent with an customizable REST API\n- 🐘 Built-in RAG with Qdrant\n- 🚀 Extensible via plugins\n- 🪛 Event callbacks, function calling (tools), conversational forms\n- 🏛 Easy to use admin panel\n- 🌍 Supports any language model via langchain\n- 👥 Multiuser with granular permissions, compatible with any identity provider\n- 🐋 100% dockerized\n- 🦄 Active [Discord community](https://discord.gg/bHX5sNFCYU) and easy to understand [docs](https://cheshire-cat-ai.github.io/docs/)\n \n\n\n## Quickstart\n\nTo make Cheshire Cat run on your machine, you just need [`docker`](https://docs.docker.com/get-docker/) installed:\n\n```bash\ndocker run --rm -it -p 1865:80 ghcr.io/cheshire-cat-ai/core:latest\n```\n- Chat with the Cheshire Cat on [localhost:1865/admin](http://localhost:1865/admin)\n- Try out the REST API on [localhost:1865/docs](http://localhost:1865/docs)\n\nEnjoy the Cat!  \nFollow instructions on how to run it properly with [docker compose and volumes](https://cheshire-cat-ai.github.io/docs/quickstart/installation-configuration/).\n\n## Minimal plugin example\n\n\u003cdetails\u003e\n    \u003csummary\u003e\n        Hooks (events)\n    \u003c/summary\u003e\n\n```python\nfrom cat.mad_hatter.decorators import hook\n\n# hooks are an event system to get finegraned control over your assistant\n@hook\ndef agent_prompt_prefix(prefix, cat):\n    prefix = \"\"\"You are Marvin the socks seller, a poetic vendor of socks.\nYou are an expert in socks, and you reply with exactly one rhyme.\n\"\"\"\n    return prefix\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\n        Tools\n    \u003c/summary\u003e\n\n```python\nfrom cat.mad_hatter.decorators import tool\n\n# langchain inspired tools (function calling)\n@tool(return_direct=True)\ndef socks_prices(color, cat):\n    \"\"\"How much do socks cost? Input is the sock color.\"\"\"\n    prices = {\n        \"black\": 5,\n        \"white\": 10,\n        \"pink\": 50,\n    }\n\n    price = prices.get(color, 0)\n    return f\"{price} bucks, meeeow!\" \n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\n        Conversational Forms\n    \u003c/summary\u003e\n\n## Conversational form example\n\n```python\nfrom pydantic import BaseModel\nfrom cat.experimental.form import form, CatForm\n\n# data structure to fill up\nclass PizzaOrder(BaseModel):\n    pizza_type: str\n    phone: int\n\n# forms let you control goal oriented conversations\n@form\nclass PizzaForm(CatForm):\n    description = \"Pizza Order\"\n    model_class = PizzaOrder\n    start_examples = [\n        \"order a pizza!\",\n        \"I want pizza\"\n    ]\n    stop_examples = [\n        \"stop pizza order\",\n        \"not hungry anymore\",\n    ]\n    ask_confirm = True\n\n    def submit(self, form_data):\n        \n        # do the actual order here!\n\n        # return to convo\n        return {\n            \"output\": f\"Pizza order on its way: {form_data}\"\n        }\n```\n\u003c/details\u003e\n\n## Docs and Resources\n\n- [Official Documentation](https://cheshire-cat-ai.github.io/docs/)\n- [Discord Server](https://discord.gg/bHX5sNFCYU)\n- [Website](https://cheshirecat.ai/)\n- [Tutorial - Write your first plugin](https://cheshirecat.ai/write-your-first-plugin/)\n\n\n## Roadmap \u0026 Contributing\n\nDetailed roadmap is [here](./ROADMAP.md).  \nSend your pull request to the `develop` branch. Here is a [full guide to contributing](./CONTRIBUTING.md).\n\nWe are committed to openness, privacy and creativity, we want to bring AI to the long tail. If you want to know more about our vision and values, read the [Code of Ethics](./CODE-OF-ETHICS.md). \n\nJoin our [community on Discord](https://discord.gg/bHX5sNFCYU) and give the project a star ⭐!\nThanks again!🙏\n\n## License and trademark\n\nCode is licensed under [GPL3](./LICENSE).  \nThe Cheshire Cat AI logo and name are property of Piero Savastano (founder and maintainer).\n\n## Which way to go?\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg align=\"center\" src=./readme/cheshire-cat.jpeg width=400px alt=\"Wikipedia picture of the Cheshire Cat\"\u003e\n\u003c/p\u003e\n\n```\n\"Would you tell me, please, which way I ought to go from here?\"\n\"That depends a good deal on where you want to get to,\" said the Cat.\n\"I don't much care where--\" said Alice.\n\"Then it doesn't matter which way you go,\" said the Cat.\n\n(Alice's Adventures in Wonderland - Lewis Carroll)\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheshire-cat-ai%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcheshire-cat-ai%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheshire-cat-ai%2Fcore/lists"}