Skip to content
kingen7Public

About

MiCode 是一个 基于Claude Code终端 AI 编程助手。用户可通过自然语言下指令,Agent 自己读代码、改文件、跑命令,整个过程自主完成,不需要人盯每一步。底层做了多层架构,支持多家模型厂商的 API,还支持多个 Agent 并行协作。

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

26 Commits

Folders and files

Repository files navigation

MiCode

命令行 AI 助手(对标 ClaudeCode)。当前里程碑:纯对话能力 —— 终端交互、流式逐字输出、多轮上下文、多 Provider 后端、Claude extended thinking。

特性

  • 交互式对话(REPL),流式逐字输出(SSE)
  • 进程内多轮上下文
  • 支持 Anthropic Claude 与 OpenAI 两类后端,YAML 配置切换
  • Anthropic extended thinking,思考过程可见、可运行时切换隐藏
  • 统一 Provider 接口,便于扩展新后端

安装

需要 Python 3.11+。

pip install -e ".[dev]"

配置

配置文件默认位于 ~/.config/micode/config.yml,可用 --config 覆盖。可在 profiles: 下定义多个 profile,每个含六个字段:

字段 必填 说明
name — profile 标识,即 profiles: 下的键名
protocol 是 协议:anthropic 或 openai
model 是 模型名
base_url 是 请求地址(可用自定义/兼容端点)
api_key 是 认证密钥;支持明文或 ${ENV_VAR} 引用环境变量
thinking 否 是否启用扩展思考(仅 Anthropic 生效)

顶层 default: 指向某个 profile 名作为默认。

api_key 支持 ${ENV_VAR} 形式引用环境变量,便于把密钥排除在版本库之外。引用的环境变量未设置时,该 profile 标记为不可用(不影响其它 profile)。参见 config.example.yml。

启动

export ANTHROPIC_API_KEY=sk-...
micode                       # 用默认 profile
micode --profile gpt         # 指定 profile
micode --config path.yml     # 指定配置文件

对话内命令

命令 作用
/help 显示命令
/show 显示当前 profile
/clear 清空对话上下文
/use <name> 切换 profile(上下文保留)
/thinking [on|off] 切换思考过程显示
/exit /quit 退出(或 Ctrl+D)

流式输出中按 Ctrl+C 中断当前回复(已输出内容保留,并计入上下文);输入态 Ctrl+C 仅提示、不退出。

项目布局

src/micode/
├── cli.py            入口、装配
├── config.py         配置加载、${VAR} 解析、profile 选择
├── chat.py           会话 REPL、命令分发、事件消费
├── ui.py             输入与流式渲染
└── providers/        统一 Provider 接口 + Anthropic/OpenAI 实现 + 工厂

开发

pytest -q                     # 单元测试
mypy src/micode              # 类型检查
ruff check src tests          # lint

设计文档见 docs/specs/(spec / plan / task / checklist)。

About

MiCode 是一个 基于Claude Code终端 AI 编程助手。用户可通过自然语言下指令,Agent 自己读代码、改文件、跑命令,整个过程自主完成,不需要人盯每一步。底层做了多层架构,支持多家模型厂商的 API,还支持多个 Agent 并行协作。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages