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
- External plugins registry support
- Built-in CLI
- Supports multimodality
- Bun (>= 1.1.19) (for local development)
- Docker
# (for development)
bun install
rm -f .git/hooks/pre-commit && ln -s ../../pre-commit .git/hooks/pre-commit
# (for production)
docker compose build --no-cache
# (for development)
docker run -p 6333:6333 qdrant/qdrant
bun run dev
# OR
docker compose build -f compose.dev.yml --no-cache # (if you want to use Docker for development)
# (for production)
docker compose up
bun run test
# OR
docker compose -f compose.dev.yml exec ccat-ts-dev bun run test
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.