Mini Claude Code - 极简教学版 AI 编程助手
Project description
MiniCC
极简版 Claude Code,用于教学。
想知道 Claude Code 这类 AI 编程助手是怎么实现的? 看这个项目就够了。核心代码约 1400 行,架构清晰,注释充分。
能干嘛
- 读写文件、搜索代码、执行 shell 命令
- 创建子任务并行处理
- 终端 UI 界面,支持流式输出
技术栈
- pydantic-ai - Agent 框架
- Textual - TUI 框架
快速开始
# 安装
pip install minicc
# 设置 API Key
export ANTHROPIC_API_KEY="your-key"
# 或 export OPENAI_API_KEY="your-key"
# 运行
minicc
开发
git clone https://github.com/TokenRollAI/miniCC.git
cd miniCC
uv sync
uv run minicc
项目结构
minicc/
├── app.py # TUI 主程序
├── agent.py # Agent 定义
├── tools.py # 工具实现 (文件操作、搜索、bash)
├── config.py # 配置管理
├── schemas.py # 数据模型
└── ui/ # UI 组件
配置
配置文件在 ~/.minicc/config.json:
{
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
}
Prompt Cache (Anthropic)
按照 pydantic-ai Anthropic 指南 可以在配置里开启 prompt caching:
{
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"prompt_cache": {
"instructions": true,
"tool_definitions": "1h",
"messages": true
}
}
instructions缓存系统提示词;tool_definitions缓存工具定义;messages缓存最近一条用户消息true表示 5 分钟 TTL,或显式写"5m"/"1h"- Anthropic 最多支持 4 个 cache points,pydantic-ai 会按指南自动裁剪超出的 CachePoint
工具列表
| 工具 | 作用 |
|---|---|
| read_file | 读文件 |
| write_file | 写文件 |
| update_file | 改文件 |
| search_files | 按模式搜索文件 |
| grep | 正则搜索内容 |
| bash | 执行命令 |
| spawn_agent | 创建子任务 |
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
minicc-0.1.0.tar.gz
(150.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
minicc-0.1.0-py3-none-any.whl
(22.9 kB
view details)
File details
Details for the file minicc-0.1.0.tar.gz.
File metadata
- Download URL: minicc-0.1.0.tar.gz
- Upload date:
- Size: 150.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65c48fd374c3ad84facca373f8d45422789413d40bfa8857ad3d7694eb2c1e37
|
|
| MD5 |
1fd0696322bbe6164d47314983853e8c
|
|
| BLAKE2b-256 |
e2ce6143dfc173a02bc84ba5aa041bfc767951cfb9f519b8bbc8753235d1f1ce
|
File details
Details for the file minicc-0.1.0-py3-none-any.whl.
File metadata
- Download URL: minicc-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93579c0a8b5e591a5b24588d2004deb78b0c76d4a927c3b7421a8b35cf36d25b
|
|
| MD5 |
8ee40402527945e2ecc0525b89de2f0d
|
|
| BLAKE2b-256 |
bbc6e503df0474247990f5abeb7b175d538d4e3db0c6dcf06b8bb6f0cee285ab
|