Agent Kit is a comprehensive AI agent development framework that integrates Claude Agent SDK, providing a complete solution from frontend to backend. This project aims to help developers quickly build, deploy, and scale production-grade AI Agent applications.
npx skills add https://github.com/leemysw/agent-kit --skill feishu-docxCLI を使用してこのスキルをインストールし、ワークスペースで SKILL.md ワークフローの使用を開始します。
Production-Ready AI Agent Development Framework Powered by Claude Agent SDK
基于 Claude Agent SDK 构建的生产级 AI 智能体开发框架
Agent Kit is a comprehensive AI agent development framework that integrates Claude Agent SDK, providing a complete solution from frontend to backend. This project aims to help developers quickly build, deploy, and scale production-grade AI Agent applications. It includes built-in multi-channel access via WebSocket, Discord, and Telegram, with unified session routing and message handling.
🚀 High-Performance Architecture
|
🎯 Complete AI Integration
|
🛠️ Developer Friendly
|
1️⃣ Clone the repository
git clone https://github.com/leemysw/agent-kit.git
cd agent-kit
2️⃣ Configure environment variables
# Copy environment variable template
cp example.env .env
# Edit .env file and add your API key
3️⃣ Start services
make start
4️⃣ Access the application
./data in the repository is mounted to /home/agent/.agent-kit inside the container1️⃣ Clone the repository
git clone https://github.com/leemysw/agent-kit.git
cd agent-kit
2️⃣ Backend setup
# Install backend dependencies and CLI
pip install -e .
# Configure environment variables
cp example.env .env
# Edit .env file and add your API key
If you install the package with pip install harness-agent-kit, only the backend service and CLI are included. The Web frontend is not bundled in the Python package. Use Docker deployment or run the repository source if you need the Web UI.
Configure .env file:
# Claude API configuration
ANTHROPIC_AUTH_TOKEN=your_auth_token_here
ANTHROPIC_BASE_URL=https://api.anthropic.com or https://open.bigmodel.cn/api/anthropic
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022 or glm-5
# Server configuration
HOST=0.0.0.0
PORT=8010
DEBUG=true
WORKERS=1
WORKSPACE_PATH=
Storage initialization:
The backend now uses workspace-based file storage by default. Session metadata is stored in meta.json, and message history is appended to messages.jsonl under each Agent workspace. On first startup, legacy SQLite history in cache/data/agent-kit.db is migrated automatically if it exists.
3️⃣ Frontend setup
cd web
# Install dependencies
npm install
# Configure environment variables
cp example.env .env.local
# Edit .env.local file
Configure .env.local file:
# Development environment configuration
NEXT_PUBLIC_API_URL=http://localhost:8010/agent/v1
NEXT_PUBLIC_WS_URL=ws://localhost:8010/agent/v1/chat/ws
NEXT_PUBLIC_DEFAULT_MODEL=glm-5
4️⃣ Run the project
# Start backend (in project root directory)
agent-kit run
# Start frontend (in web directory)
npm run dev
You can also run both backend and frontend from the project root:
make dev
If you only install dependencies without editable install, use python main.py to start the backend instead.
5️⃣ Access the application
agent-kit/
├── agent/ # Backend service
│ ├── api/ # API routes
│ ├── core/ # Core configuration
│ ├── service/ # Business logic
│ │ ├── agent/ # Agent workspace and templates
│ │ ├── db/ # File-based repositories
│ │ ├── process/ # Message processing pipeline
│ │ ├── session/ # Session routing
│ │ └── storage/ # JSON/JSONL storage layer
│ ├── shared/ # Shared modules
│ └── utils/ # Utility functions
├── web/ # Frontend application
│ ├── src/
│ │ ├── app/ # Next.js pages
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom Hooks
│ │ ├── lib/ # Utility library
│ │ ├── store/ # Zustand state management
│ │ └── types/ # TypeScript types
├── deploy/ # Deployment files
├── docs/ # Documentation
│ ├── websocket-session-flow.md # WebSocket flow
│ └── guides/ # Claude Agent SDK guides
├── main.py # Application entry point
└── README.md # This file
~/.agent-kit/agents/index.jsonagent.jsonsessions/<encoded_session_key>/meta.jsonsessions/<encoded_session_key>/messages.jsonl| Config Item | Description | Default Value |
|---|---|---|
ANTHROPIC_AUTH_TOKEN |
Claude auth token | - |
ANTHROPIC_BASE_URL |
API base URL | https://api.anthropic.com |
ANTHROPIC_MODEL |
Model to use | glm-5 |
HOST |
Server host | 0.0.0.0 |
PORT |
Server port | 8010 |
DEBUG |
Debug mode | true |
WORKERS |
Number of workers | 1 |
WORKSPACE_PATH |
Workspace root path | ~/.agent-kit/workspace |
| Config Item | Description | Default Value |
|---|---|---|
NEXT_PUBLIC_API_URL |
Backend API URL | http://localhost:8010/agent/v1 |
NEXT_PUBLIC_WS_URL |
WebSocket URL | ws://localhost:8010/agent/v1/chat/ws |
NEXT_PUBLIC_DEFAULT_MODEL |
Default model | glm-5 |
The backend currently supports three message entry channels:
WebSocket (Web UI)Discord (agent/service/channel/discord_channel.py)Telegram (agent/service/channel/telegram_channel.py).env)# Discord
DISCORD_ENABLED=true
DISCORD_BOT_TOKEN=your_discord_bot_token
DISCORD_ALLOWED_GUILDS=123456789012345678,987654321098765432
DISCORD_TRIGGER_WORD=@agent-kit
# Telegram
TELEGRAM_ENABLED=true
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
TELEGRAM_ALLOWED_USERS=12345678,87654321
Channels are registered automatically at app startup based on DISCORD_ENABLED/TELEGRAM_ENABLED.
All IM channels share the same session key pattern:
agent:<agentId>:<channel>:<chatType>:<ref>[:topic:<threadId>]
Examples:
agent:main:dg:group:<guild_id>:<channel_id>agent:main:tg:dm:<user_id>TELEGRAM_ALLOWED_USERS.DISCORD_TRIGGER_WORD: the current implementation strips the trigger word if present, but does not require it.For detailed guides and API documentation, please visit:
All forms of contributions are welcome!
If you find a bug or have a new feature suggestion, please submit it through GitHub Issues.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
If this project helps you, please give it a ⭐️ Star!