一个用 Go 从零构建、面向真实软件工程任务的 Coding Agent Harness,聚焦可靠执行、上下文管理与安全边界。
| Harness 能力 | 实现 |
|---|---|
| Agent Runtime | 流式响应、tool calling、轮次上限与安全终止 |
| 安全边界 | 工作区隔离、符号链接越界防护、写前读取、并发修改检测与人工审批 |
| 任务闭环 | 代码分析、变更执行、命令运行与最终验证 |
| 上下文管理 | JSONL 增量持久化、上下文压缩、Session 恢复与中断状态保留 |
| 可观测性 | 可选 JSONL trace,记录 Run、模型调用、工具执行和验证状态 |
先在 DeepSeek 开放平台 申请 API Key。
安装 gcode:
curl -fsSL https://raw.githubusercontent.com/mctang24/go-coding-agent/main/install.sh | sh安装完成后,进入需要处理的项目目录。首次运行时按提示输入 API Key,gcode 会自动保存。
交互式运行:
gcode启动后直接输入任务:
> 分析当前项目的入口和主要调用链
也可以单次执行一个任务:
gcode "检查当前项目的测试失败原因,修复后运行测试"需要记录执行轨迹时,在启动命令中增加 -trace true。
| 输入 | 语义 |
|---|---|
Esc |
中断当前 Run,保留 Session 并继续交互 |
Ctrl+C |
中断当前 Run,结束 Session,输出 sessionId 并退出 |
/compact |
压缩当前上下文,不结束 Session |
/new |
结束当前 Session,输出旧 sessionId,然后创建新 Session |
/exit |
结束当前 Session,输出 sessionId 并退出 |
-session <sessionId> |
仅恢复已有 Session;新 Session ID 始终由程序自动生成 |
恢复 CLI 输出的 Session:
gcode -session "<printed-session-id>"