TypeScript version of the Cheshire Cat AI framework originally made in Python.
Check out the linked project for more information on what's being worked on.
📜 For the full list of changes, please read the changelog file.
👥 If you want to contribute, please read the contributing file.
📃 To be sure to respect everything, please read the code of conduct file.
- ⚡️ API first, so you get a microservice to easily add a conversational layer to your app
- 🐘 Remembers conversations and documents and uses them in conversation
- 🚀 Extensible via plugins
- 🏛️ Event callbacks, function calling (tools), conversational forms
- 🌍 Supports any language model (works with OpenAI, Google, Ollama, HuggingFace, custom services and many others)
- 🐋 Production ready - 100% dockerized
- Granular plugins folder reload
- Sync/Async ingestion endpoints
- New built-in LLMs and Embedders
- Instant tool call hook
- Granular management of procedures (forms and tools)
- Supports cron jobs (without saving to memory)
- Rate limiter
- Database query executor
- Supports streaming both in WebSocket and HTTP
- Tokens usage visible through model interactions
- Cache support for LLM and Embedder responses
- Built-in CLI
- External plugins registry support
- Add multi-modality support
- Add multi-agent support
- Add multi-chat support
- Bun (>= 1.2) (for local development)
- Docker
# (for development)
bun install
# (for production)
docker compose build --no-cache
# (for development)
docker run -p 6333:6333 qdrant/qdrant
bun run dev
# OR (if you are using the dev docker compose)
docker compose -f compose.dev.yml build --no-cache
docker compose -f compose.dev.yml up -d
# (for production)
docker compose up
bun run cli <command>
# OR (if you are using the dev compose)
docker exec ccat_ts_dev bun run cli <command>
# OR (if you are using the prod compose)
docker exec ccat_ts bun run cli <command>
bun run test
# OR (if you are using the dev compose)
docker exec ccat_ts_dev bun run test
# OR (if you are using the prod compose)
docker exec ccat_ts bun run test
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.