Gokin 是一款运行在终端中的开源 AI 编码智能体(CLI 工具),由 ginkida 开发并托管在 GitHub。它通过自然语言与开发者交互,能够理解整个代码库,并协助完成文件操作、代码搜索、Shell 命令执行、Git 工作流以及任务管理等日常开发工作。项目主打“100% 开源、零遥测”,代码直接发送至用户选择的模型提供商,不经过任何代理或中间服务器。
用途
Gokin 定位于为开发者提供终端内的 AI 编程助手,适用于代码理解、文件编辑、命令执行、Git 操作和任务规划等场景。它既可作为日常开发辅助工具,也能在自动化与 CI 流程中以无界面(headless)模式运行单次请求。
主要能力
- 代码理解:多文件分析,支持 grep、glob、read 跨代码库检索;安装 gopls 后自动启用 Go 符号查找、引用和编辑后诊断;会话记忆可自动总结文件、工具、错误和决策,并在上下文压缩后保留。
- 内置工具:共 59 个内置工具,覆盖文件读写编辑、搜索、Git 操作(status、commit、diff、branch、log、blame、PR)、命令执行(bash、run_tests、ssh、env)、任务规划、记忆管理和 MCP 服务器管理。只读工具可并行执行,写入工具串行化。
- 多智能体系统:最多 5 个并行智能体共享内存,支持自动任务分解、提供商故障转移、Git worktree 隔离分支工作,并实时流式输出。
- 技能系统:可从 .gokin/skills/、.claude/skills/、~/.config/gokin/skills/ 和 ~/.claude/skills/ 发现 SKILL.md 工作流,技能按需加载,其渲染后的指令在上下文压缩后仍保留。
- 权限与安全:3 级权限(低/中/高),bash 沙箱模式,内联 diff 预览,文件操作撤销/重做(最多 20 步),计划作用域内撤销/重做。密钥只保存在本地,UI 中掩码显示,不会进入对话历史或工具结果。Ollama 模式零网络调用。
- 敏感信息脱敏:内置 24 条正则规则,对所有工具结果和审计日志自动脱敏,防止代码库中的密钥意外发送给模型。
- 成本追踪:支持各云提供商的按模型定价(Ollama 免费),状态栏实时显示成本,并提供 /cost 和 /stats 命令。Kimi、MiniMax、DeepSeek 支持缓存控制断点。
- 扩展思考:完整支持 Kimi / GLM / DeepSeek 推理模型的多轮思考,思考块签名跨轮保留。
- 自主循环:后台调度器可触发周期性任务,不阻塞前台;连续失败 5 次后自动暂停,并跨会话持久化。
- 自动化与 CI:通过 -p(--print)或 --headless 以非交互方式运行单次请求,支持 json 和 stream-json 输出格式,便于脚本集成。
- Python 执行:repl_exec 支持有界内核,可查看状态或重置,资源使用受限制,内存超限会返回类型化错误并丢弃 Python 代际。
使用方式
- 安装:需 Go 1.25+ 从源码构建;也可参考仓库 README 的安装说明。
- 配置:配置文件位于 ~/.config/gokin/config.yaml,可通过 --config 指定其他路径。提供商包括 Kimi、GLM、MiniMax、DeepSeek(均通过 Anthropic 兼容 API)以及 Ollama(完全本地)。GLM 编码计划用户可用 /set glmsearch on 启用 web_search_prime 工具。
- 交互:在终端中自然语言输入即可;提供 65 个斜杠命令(如 /plan、/commit、/model、/undo、/redo 等)和键盘快捷键;Ctrl+S 或 /settings 打开交互式设置界面。
- 无界面模式:gokin -p "你的请求" 或 --headless 运行,可用 --prompt 传递提示或从标准输入读取;--tools、--allowedTools、--disallowedTools 用于精确控制工具能力白名单与拒绝规则;--permission-mode 支持 default、acceptEdits、dontAsk、bypassPermissions、plan 等模式。
- 模型切换:随时切换模型;Kimi 提示缓存与模型绑定,切换后建议用 /clear 开始新会话。
适用场景
- 终端内进行代码理解、重构、搜索和文件操作。
- Git 工作流辅助,如提交、分支、PR 操作。
- 在 CI/自动化脚本中以单次请求模式调用,配合 dontAsk 权限模式实现确定性行为。
- 对数据隐私敏感、希望完全本地运行(Ollama)或直连所选云提供商的开发者。
- 需要多智能体并行处理复杂任务分解的场景。
限制
- 需要 Go 1.25+ 从源码构建,暂未提供二进制包等更简便的安装方式信息。
- 云提供商需要相应的 API 凭证;Ollama 需本地部署模型。
- Python 执行能力受内核资源限制,超限会丢弃整个 Python 代际。
- engine.mode 和 engine.repl 限制为启动时绑定,运行中修改需重启生效。
- 该工具为命令行界面,无图形界面版本。
- 部分功能(如 gopls MCP 支持、GLM web_search_prime)依赖额外条件或配置。
项目采用 Go 语言编写,共 610 个 Go 文件(376 个源文件、234 个测试文件),100% Go。