https://github.com/zalweny26/ts-cat
TypeScript version of the Cheshire Cat AI project
https://github.com/zalweny26/ts-cat
bun cheshire-cat elysia langchain typescript
Last synced: 3 months ago
JSON representation
TypeScript version of the Cheshire Cat AI project
- Host: GitHub
- URL: https://github.com/zalweny26/ts-cat
- Owner: zAlweNy26
- License: gpl-3.0
- Created: 2024-03-20T21:51:26.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T18:17:18.000Z (3 months ago)
- Last Synced: 2025-03-10T17:52:22.272Z (3 months ago)
- Topics: bun, cheshire-cat, elysia, langchain, typescript
- Language: TypeScript
- Homepage: https://zalweny26.github.io/ts-cat/
- Size: 2.43 MB
- Stars: 14
- Watchers: 2
- Forks: 4
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Cheshire Cat (Stregatto)
[](https://github.com/zAlweNy26/ts-cat)
[](https://discord.gg/bHX5sNFCYU)
[](https://github.com/zAlweNy26/ts-cat/issues)
[](https://github.com/zAlweNy26/ts-cat/tags)
[](https://github.com/zAlweNy26/ts-cat)TypeScript version of the [Cheshire Cat AI](https://github.com/cheshire-cat-ai/core) framework originally made in Python.
Check out the [linked project](https://github.com/zAlweNy26/ts-cat/projects?query=is%3Aopen) for more information on what's being worked on.
📜 For the full list of changes, please read the [changelog](./CHANGELOG.md) file.
👥 If you want to contribute, please read the [contributing](./CONTRIBUTING.md) file.
📃 To be sure to respect everything, please read the [code of conduct](./CODE_OF_CONDUCT.md) file.
## Why use the cat?
- ⚡️ 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## Features
- [x] Granular plugins folder reload
- [x] Sync/Async ingestion endpoints
- [x] New built-in LLMs and Embedders
- [x] Instant tool call hook
- [x] Granular management of procedures (forms and tools)
- [x] Supports cron jobs (without saving to memory)
- [x] Rate limiter
- [x] Database query executor
- [x] Supports streaming both in WebSocket and HTTP
- [x] Tokens usage visible through model interactions
- [x] 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## Pre-requisites
- Bun (>= 1.2) (for local development)
- Docker## Installation
```bash
# (for development)
bun install# (for production)
docker compose build --no-cache
```## How to run
```bash
# (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
```## How to run CLI
```bash
bun run cli
# OR (if you are using the dev compose)
docker exec ccat_ts_dev bun run cli
# OR (if you are using the prod compose)
docker exec ccat_ts bun run cli
```## How to test
```bash
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
```## License
This project is licensed under the GPL-3.0 License - see the [LICENSE](./LICENSE) file for details.