Expand description
hey — minimal terminal AI coding agent 内核(库化入口)。
设计见 docs/DESIGN.md。库化用法:直接调用模块 API——
agent::run_agent(核心循环,不 exit)、tools::Registry、ui::Output trait、
config::Config。错误通过 RunStats.end_reason 传播,调用方决定退出行为
(二进制 CLI 在 main 层处理退出码,库化嵌入不受影响)。
Modules§
- agent
- Agent 循环(docs/DESIGN.md §4):请求 → 流式 → 工具 → 回填。
- config
- 配置:单文件 TOML + env(
HEY_*)+ CLI 覆盖(见 docs/DESIGN.md §8)。 - llm
- Provider trait + 流式增量 + 错误分类 + 工厂。
- mcp
- MCP stdio 客户端(docs/DESIGN.md §9.2):启动子进程,JSON-RPC 2.0 走 stdin/stdout。
- proxy
- 代理:解析(CLI > 配置 > 环境变量)+ reqwest client 构建(见 docs/DESIGN.md §9)。
- sessions
- 会话(docs/DESIGN.md §7):JSONL 追加,每条带稳定 id。
- skills
- Skills(docs/DESIGN.md §6.1):文件级指令的载体,自我进化闭环的刀片。
- tools
- 工具抽象 + bash 输出过滤 + 5 个内建工具(docs/DESIGN.md §5/§13)。
- trust
- 项目信任(docs/DESIGN.md §8):
~/.config/hey/trust.json。 - ui
- 输出层:
Outputtrait(唯一 UI 契约)+ 终端打印 / JSON 事件流实现。