Ogcode
开源可自托管的 AI 编码智能体:理解代码库、使用真实工具、记住决策并交付变更,你的电脑、模型与数据由你掌控。
- Star 数
- ★ 143
- 最近更新
- 1 天前
- License
- AGPL-3.0
- 主语言
- Go
- FA 评分
- 46/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 接手陌生代码库的开发者:让 Ogcode 先映射项目、按行号大纲读取关键文件,快速理解代码而不必人工翻阅。
- 不适合
- 需要把它作为闭源产品嵌入的团队,除非购买商业许可(AGPL-3.0 要求公开网络服务源码)
- 不愿自担模型 API 费用且不想部署本地 Ollama 的用户
这个 Agent 能做什么,适合哪些场景?
Ogcode 是一个开源(AGPL-3.0,另有商业许可)、本地优先的 AI 编码智能体与智能体运行环境,由 Go 编写,通过浏览器界面(默认 http://localhost:9595)操作。它在执行前先对项目建立地图、按精确行号范围读取文件,从而节省 token;能跨文件实现功能、运行构建与测试、调查失败原因而非盲目重试。它支持计划模式与任务并行、可复用的 SKILL.md 工作流、外部 MCP 服务器、内置网页搜索,并以 Mermaid 图表、LaTeX、Plotly 图表和沙箱 HTML 等富结果展示输出。模型通过环境变量或 ogcode.json 配置,支持 Anthropic、OpenAI、OpenRouter 以及 Ollama 本地模型(无需 API 密钥)。权限按会话分为 Ask、Auto、Yolo 三档,并支持 Docker、远程部署(SSH 隧道、反向代理、VPN)等部署边界方案。
Ogcode 启动后以 ogcode 命令在 http://localhost:9595 提供 Web 界面。工作流程:先映射项目结构,再用精确行号范围选择性读取文件以保持上下文紧凑;然后跨文件编辑代码,执行构建与测试命令,并在失败时调查原因。它可将目标拆解为任务、并行执行相互独立的任务并创建拉取请求供评审。它通过记忆系统回忆过去的决策而非重放整个会话记录,以控制长会话的 token 成本。它内置网页搜索与页面阅读,支持可复用的 SKILL.md 技能工作流和外部 MCP 服务器,并可渲染 Mermaid 图表、LaTeX、PDF、Plotly 图表与沙箱 HTML。模型供应商由环境变量(ANTHROPIC_API_KEY、OPENAI_API_KEY、OPENROUTER_API_KEY、OLLAMA_BASE_URL)或 ogcode.json / ~/.config/ogcode/config.json 检测,环境变量优先级最高。每次工具执行的权限按会话在 Ask(逐步批准)、Auto(按风险放行)、Yolo(不提示)之间选择。
- 接手陌生代码库的开发者:让 Ogcode 先映射项目、按行号大纲读取关键文件,快速理解代码而不必人工翻阅。
- 需要交付完整功能的工程师:把目标拆成任务、并行执行独立任务,并生成拉取请求走评审流程。
- 注重数据隐私的团队:用 Ollama 本地模型运行,代码与会话数据留在本机,无需 API 密钥。
- 调试构建与测试失败的开发者:让智能体运行测试、调查失败原因,而不是盲目重试。
- 远程服务器使用者:通过 SSH 隧道、带认证的反向代理或 VPN 在浏览器中访问远程部署的实例。
- 需要沉淀团队流程的团队:将常用工作流写成 SKILL.md,并按技能设置权限(如 deploy-prod 设为 ask)。
如何安装或部署这个 Agent?
一键脚本安装:
curl -fsSL https://ogcode.in/install.sh | sh或使用包管理器:
brew tap prasenjeet-symon/tap && brew install ogcodewinget install prasenjeet-symon.ogcodeWindows 无 winget 时:
irm https://ogcode.in/install.ps1 | iex任何有 Go 的系统:
go install github.com/prasenjeet-symon/ogcode@latest从源码构建需 CGO_ENABLED=1(Swift tree-sitter 绑定依赖 cgo)。也可用 Docker 运行:
docker run -p 9595:9595 \
-v ~/.ogcode:/root/.ogcode \
-v "$(pwd):/workspace" -w /workspace \
ghcr.io/prasenjeet-symon/ogcode:latest镜像同样发布在 Docker Hub:prasenjeetsimon/ogcode:latest。
如何使用这个 Agent?
至少设置一个模型供应商环境变量:
export ANTHROPIC_API_KEY=sk-ant-...或使用本地模型,无需 API 密钥:
ollama serve
ogcode启动后打开 Web 界面:
ogcode # serves the UI on http://localhost:9595项目级配置写在项目根目录的 ogcode.json,全局配置在 ~/.config/ogcode/config.json,环境变量优先:
{
"providers": {
"ollama": { "baseUrl": "http://localhost:11434" },
"anthropic": { "apiKey": "sk-ant-..." }
},
"skills": {
"paths": ["./team-skills"],
"permissions": { "deploy-prod": "ask" }
}
}每个会话选择权限模式:Ask(逐步批准)、Auto(按风险放行)或 Yolo(无提示)。远程部署时切勿在无认证的情况下暴露到公网,推荐 SSH 隧道:
ssh -L 9595:localhost:9595 user@your-server此外,可在设置界面连接 OG Lab 的 OGX 订阅计划,其模型经 OG Lab 网关运行,无需环境变量。
这个 Agent 有哪些优点和局限?
- 本地优先:代码与会话数据留在本机,仅对话内容发送给你配置的模型供应商,且可用 Ollama 完全本地运行、无需 API 密钥。
- token 效率设计:先映射项目再按精确行号读取文件,并用记忆系统回忆决策而非重放完整记录,长会话成本可控。
- 权限粒度可控:Ask / Auto / Yolo 三档按会话选择,技能还可单独设置权限(如 deploy-prod 设为 ask)。
- 部署方式齐全:brew / winget / Go / Docker 多渠道安装,支持远程部署文档(SSH 隧道、反向代理、VPN、控制平面多用户部署)。
- 许 可证从 v0.37.0 起改为 AGPL-3.0-only,若在网络服务中使用修改版需公开对应源码,嵌入专有产品需购买商业许可——迁移前需评估。
- 从源码构建需要 CGO_ENABLED=1(Swift tree-sitter cgo 绑定),对纯 Go 构建环境是额外约束。
- 需要自行提供模型访问:要么付费 API 密钥(Anthropic/OpenAI/OpenRouter),要么自行运行 Ollama。
- 远程部署存在实际安全风险:它能读写文件并执行命令,文档明确警告不得无认证暴露公网,需自建 SSH 隧道/反向代理/VPN 边界。
这个 Agent 与同类方案有什么区别?
README 未点名具体竞品,但其自我定位是'开源、可自托管的 AI 编码智能体',与托管型编码助手的主要差异在于:Ogcode 允许你选择模型(含 Ollama 本地模型)、数据留在本机,并通过 Ask/Auto/Yolo 权限模式与远程部署指南强调人对执行的控制。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Ogcode 当前 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 143 | 1 天前 | Go | OpenAI API · Claude API |
| iPolloWork | 44 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 7.1k | 3 天前 | TypeScript | — |
| Synapse AI 多智能体编排平台 | 70 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 329 | 2 个月前 | Python | OpenAI API · Claude API |
| Busabase | 51 · 缺口较多 | 命令行工具免费版 + 付费版 | ★ 544 | 今天 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 声称有按会话的三级权限(Ask/Auto/Yolo)、风险门控与密钥防护,但所提供文件不含任何权限或审批的实现代码,均属无实现佐证的断言,故计 1;数据流仅一句'仅会话内容发送给模型提供方',无代码佐证;无回滚/撤销机制的任何证据,计 0;依赖固定在 go.mod 但无漏洞审计或更新策略说明;源归属较好:AGPL 全文、THIRD_PARTY_NOTICES.md 与 LICENSING.md 均被引用。未发现恶意行为或越权默认,无红线问题。
CI 工作流显示每次推送都会构建并跑 `go test ./...`,Docker 发布前有冒烟测试(版本输出校验),依赖固定——可佐证可构建性计 2;但测试内容与失败信息处理完全不可见,自洽性与错误信息只能按断言计 1。
面向开发者自托管场景描述清楚,支持多安装渠道(brew/winget/go/docker)、多平台(amd64/arm64)与多模型提供方(Anthropic/OpenAI/OpenRouter/Ollama),环境适配计 2;但能力边界(哪些任务会失败、模型要求)与触发精度仅有营销式描述,无文档细节,计 1。
安装说明非常完整(含 cgo 提示、容器、远程部署边界),计 3;AGPL-3.0 全文在库且明确双许可与版本切换点(v0.36.1 MIT / v0.37.0+ AGPL),计 3;文档结构链接清晰计 2;但示例、FAQ、已知限制仅以外链断言存在,无内联内容;未见 CHANGELOG 文件;维护者责任与更新路径无 CONTRIBUTING 内容佐证,均计 1。
产品定位(本地优先、可控权限的编码代理)与其他同类工具相比有明确卖点(内存/规划/技能/MCP),边际价值计 2;成本收益有 Ollama 本地模型与上下文压缩的描述支撑计 2;但输出可用性(diff 审查、产物格式之外的易用性)仅有界面截图式描述,无实现细节,计 1。
README 的技术主张(Go 模块、CI、Docker 流程、依赖列表)与 go.mod、ci.yml、docker.yml 相互印证,跨源一致计 2;事实与推断基本分离,营销语言可识别计 2;但核心安全/权限主张无法追溯到所提供文件中的任何代码,主张可追溯性计 1。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 本评级基于 README、LICENSE、go.mod 与 CI 工作流的静态审阅,权限审批、回滚与数据流等安全主张均无实现代码佐证,使用前必须自行审计源码。
- 项目允许 Yolo 模式(无确认执行),且可读写文件并执行 shell 命令;切勿将服务未加认证地暴露公网,建议仅在隔离环境(Docker/VM)中运行高风险任务。
- curl | sh 安装脚本与未验证发布者身份意味着供应链信任完全依赖仓库内容;AGPL-3.0 自 v0.37.0 起适用,商用/托管前需核对双许可条款。
- 未提供 CHANGELOG 与测试内容可见性,发布质量与回归风险无法静态评估。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Release Notes — v0.48.0 Minor: The interface comes in light and dark Ogcode now has a light interface alongside the dark one it has always worn, and a Theme control in Settings → General to choose between them. The three options are Light, Dark, and System; System follows your operating system and switches live as your machine does, so a laptop that dims itself in the evening takes the app with it. Whatever you pick applies to the whole machine — every browser tab and every window — because the choice is kept by the server, not by one tab. The …在 GitHub 查看 ↗ -
发布说明摘录
Release Notes — v0.47.4 Patch: Compaction keeps the prompt you started the turn with When a turn folded its context with compact_context, the message the turn opened with — what you asked for, and any image you attached — could fall out of the model's view. The summary took its place. Everything the agent did after that point was working from a digest of your request instead of the request itself. The fold now keeps your original prompt, images included, at the head of what is sent, with the summary folded in beneath it. If the turn is compacted again …在 GitHub 查看 ↗ -
发布说明摘录
Release Notes — v0.47.3 Patch: Browser-backed search finishes what it starts Deep research fetches its chosen pages under one shared time budget, and the browser fallback was landing on the wrong side of it: the budget expired at the same instant an ordinary HTTP fetch timed out, so a page that needed a browser to render never got fetched. The window is now wide enough for the fallback to render and extract the page. On macOS that fallback is headless Chromium — Chrome, Chromium, Brave, or Edge, whichever is installed — with Safari kept only for a machine that has none of …在 GitHub 查看 ↗
常见问题
必须付费才能使用吗?
没有 API 密钥能跑起来吗?
ollama serve)后启动 ogcode,Ogcode 会通过 OLLAMA_BASE_URL 或默认本地端点使用本地模型,无需任何 API 密钥。