octo-agent

单文件、自托管的开源 AI 智能体,模型与数据都留在你自己的机器上,八种入口共用一个 Go 二进制。

Star 数
★ 141
最近更新
1 天前
License
MIT
主语言
Go

30 秒速览

运行形态
命令行工具自托管服务桌面应用
可在哪里用
通用 · 跨平台OpenAI API · Claude APIClaude Code(部分支持)
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Go >= 1.25(仅源码构建 / `go install` 时需要)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
想在自有服务器或笔记本上跑编码智能体、又不愿把代码库交给第三方云服务的开发者。
不适合
  • 已习惯 Codex / Claude 订阅且不想自备模型 API 密钥的用户
  • 需要 App Store 正式版移动端应用、不能接受开发者预览版的团队
  • 要求安装包已代码签名、有严格企业合规审计的组织

这个 Agent 能做什么,适合哪些场景?

octo-agent 是一个 MIT 许可的开源 AI 智能体,打包成约 40 MB 的单个 Go 二进制,不依赖 Node、Python 或 Ruby。它自带 shell、文件读写编辑、搜索等内置工具,并默认开启 MCP 服务器、技能(SKILL.md)与子智能体。运行 octo serve -d 会启动本地服务,Web UI 与 IM 桥接都挂在 127.0.0.1:8088 上;同一个二进制同时提供 TUI、CLI 一次性执行、桌面应用、Web UI、IM 桥接、VS Code / Obsidian 插件和移动端(开发者预览)。模型层通过 Anthropic / OpenAI 协议适配器接入 DeepSeek、Kimi、Qwen、Anthropic、OpenAI 及任何兼容端点,并针对各厂商调优提示缓存,官方称命中率可达 99% 以上。项目声称零遥测,唯一未经请求的网络行为是对 GitHub 的版本检查,可用 update_check: false 关闭。

核心是一个工具循环型智能体:接收一个提示词,读取会话历史与持久化状态,调用内置工具(shell 终端、文件读/写/编辑、搜索)、MCP 服务器(stdio 与 HTTP 传输,支持 OAuth 与 Tool Search)、技能和子智能体,最终生成代码改动、文件操作结果或回答。octo "..." 执行一次无头 agentic 回合后退出,可放进 cron 或 CI;octo 不带参数进入交互式 TUI,octo -c 恢复会话。octo serve -d 启动本地服务,Web UI 走同一套 agent core,IM 桥接把对话接到 WeChat iLink、飞书、钉钉、企业微信、Discord、Telegram。安全侧有硬编码的灾难命令拒绝(如 rm -rf /、rm -rf ~ 不可被自定义规则覆盖)、针对自身进程的 kill / pkill / killall 拦截、restart_server 强制征询许可,以及删除与 write_file / edit_file 覆盖前先备份到回收站(默认 14 天 / 10 GiB)。浏览器自动化基于 Go 原生 CDP,支持录制、回放与自愈。

  1. 想在自有服务器或笔记本上跑编码智能体、又不愿把代码库交给第三方云服务的开发者。
  2. 已经用 DeepSeek、Kimi、Qwen 等国产或第三方 OpenAI 兼容端点,希望缓存命中率不被搞崩、token 账单可预测的团队。
  3. 需要在 CI 或 cron 里跑无头一次性任务(octo "explain this repo")的工程师。
  4. 希望从微信 / 飞书 / Telegram 直接派活的个人用户或小团队。
  5. 已积累 ~/.claude/skills 技能目录、想直接软链接复用的 Claude Code 用户。
  6. 想在 VS Code、Obsidian 或手机上随手唤起同一个助手的知识工作者。

如何安装或部署这个 Agent?

Linux / macOS 用一行脚本安装;Windows 用 PowerShell;github.com 不可达时切到下载镜像。

curl -fsSL https://octo-agent.dev/install.sh | sh
irm https://octo-agent.dev/install.ps1 | iex
# 受限网络:镜像安装,`octo upgrade` 也会自动回退到镜像
curl -fsSL https://dl.octo-agent.dev/install.sh | sh

桌面安装包从 latest release 下载:octo-setup.pkg(macOS)、octo-setup.exe(Windows)、Octo-x86_64.AppImage(Linux)。已装 Go(>= 1.25)的可以直接:

go install github.com/open-octo/octo-agent/cmd/octo@latest

Android 用户可从 release 下载 octo-android.apk;iOS 需从源码 mobile/ 构建。安装包尚未代码签名,macOS Gatekeeper / Windows SmartScreen 会告警,校验哈希与签名政策的细节见仓库 SECURITY.md。

如何使用这个 Agent?

首次运行先起本地服务,然后打开 http://127.0.0.1:8088 走设置面板:选语言、接模型、做一段简短的引导对话(记住你的称呼、助手人格与行为偏好)。回环地址不需要访问密钥。

octo serve -d              # 启动本地服务(Web UI + IM 桥接)

偏好终端的话,接好 provider 后同一条命令都能用:

octo "explain this repo"   # 无头一次性:提示词 → 工具循环 → 退出
octo                       # 交互式 TUI
octo -c                    # 恢复上次会话
octo config                # 不开浏览器配置 provider
octo upgrade               # 升级

移动端在 Web UI 的 Settings → Mobile 里扫码连接,直连你自己的 octo serve(局域网、Tailscale 或任意隧道)。更多配置见 octo-agent.dev/docs 的 CLI 参考、配置文件与权限文档。

这个 Agent 有哪些优点和局限?

优点
  • 单个约 40 MB 的 Go 二进制,无 Node / Python / Ruby 依赖树,规避了 npm 镜像与 node-gyp 构建失败的问题。
  • 模型层原生支持 Anthropic / OpenAI 协议及兼容端点,不锁定厂商,并按 provider 调优提示缓存。
  • 八个入口共用同一 agent core 与配置:TUI、CLI、Web、桌面、IM 桥接、VS Code、Obsidian、移动端。
  • 安全默认值具体可验证:灾难命令硬编码拒绝且不可覆盖、自身进程保护、重启需授权、删除与覆盖先进回收站。
  • 零遥测,Web UI 资源全部内置不依赖 CDN,唯一自发请求是版本检查且可一键关闭。
  • 技能格式兼容 Claude Code 的 SKILL.md,可软链接 ~/.claude/skills 复用已有资产。
局限
  • 软件免费但必须自备模型 API 密钥并按量付费,没有内置的免费额度或托管层。
  • 安装包尚未代码签名,macOS Gatekeeper 与 Windows SmartScreen 会拦截告警,企业分发需额外处理。
  • 移动端仍是开发者预览,iOS 需要自己从源码构建,应用商店版本尚未发布。
  • GitHub 不可达时必须显式改用 dl.octo-agent.dev 镜像,否则安装与升级会失败。
  • 桌面安装包约 100 MB,八入口齐备意味着比纯 CLI 智能体更重的交付面。
  • 官方文档中的稳定性与缓存命中率等指标来自项目自述,外部尚未有独立验证。

这个 Agent 与同类方案有什么区别?

README 明确点名了几个参照系。与 OpenClaw、Hermes 相比,octo 的定位是下载即用,不需要先调环境、写规则、配技能;与 Codex、WorkBuddy 相比,作者承认它们仍是地球上最好的 agent harness,只是桌面安装包往往接近 1 GB,而 octo 桌面安装包约 100 MB。项目还自述其设计受 Claude Code 影响(agent 循环、工具集、SKILL.md 格式),UI 与交互设计受 OpenClacky 启发。换句话说,如果你已经有可靠的 Codex 或 Claude 订阅,README 建议继续用它们。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
octo-agent 当前 51 · 缺口较多 命令行工具免费 + 模型费 ★ 141 1 天前 Go OpenAI API · Claude API
bbarit-oss 42 · 缺口较多 命令行工具免费 + 模型费 ★ 150 3 个月前 Rust ChatGPT · Codex · Claude Code · OpenAI API · Claude API
Aster 77 · 表现良好 命令行工具免费 + 模型费 ★ 137 5 天前 Rust OpenAI API
iPolloWork 44 · 缺口较多 桌面应用免费 + 模型费 ★ 7.4k 今天 TypeScript —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
51/ 100 五分制 2.6 / 5
信任安全 14/29
可靠稳定 6/14
适用触发 10/18
规范维护 10/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全14 / 29 · 2.4/5

SECURITY.md 明确写出单用户威胁模型、loopback 免鉴权、256 位访问密钥、Origin/Host 校验与 SameSite=Strict,属于少见的透明披露;但默认权限模型是 shell/文件/MCP/子代理全部开启,最小权限仅靠可选沙箱与硬编码 deny 列表,故 least_privilege 仅 1。restart_server 强制确认、灾难命令硬编码拒绝、删除/覆盖先入回收站,支撑 user_confirmation=2 与 rollback=2。数据流方面声明零遥测、仅一次版本检查且可关闭,但仅凭 README 自述,无代码佐证,故 2。敏感数据处理扣分:SECURITY.md 自承 agent 生成的 HTML 与主应用同源、可读取访问密钥,公开 Light App 与 /_artifacts/ token URL 无密钥即可访问,属实质风险,故 1。依赖安全仅见 go.mod 版本清单,无漏洞扫描或 SBOM 证据,故 1。外部效应方面 curl|sh 安装、自动升级(虽校验 SHA-256 但无签名)与 IM 外发通道存在,故 1。来源归属在 README 的 Prior Art 中明确致谢 Claude Code 与 OpenClacky,故 2。

可靠稳定6 / 14 · 2.1/5

README 的架构分层、八接口说明与 CI 工作流(go vet/gofmt/build/test -race、桌面端独立构建)相互一致,self_consistency=2。依赖可用性方面 go.mod 固定版本且 CI 有 go mod tidy 检查,但未提供 go.sum 或 vendor 证据,依赖供应链可复现性无法静态确认,故 1。失败信息方面仅见 CI 注释与 SECURITY.md 的排障提示,产品运行时错误提示无证据,故 1。

适用触发10 / 18 · 2.8/5

受众与场景覆盖编码代理与个人助理、八种入口、多模型协议,描述充分,故 2。能力边界在 SECURITY.md 的“不防御”清单中写得清楚(本地恶意进程、明文传输、同源页面),故 2。触发精度方面 CLI 一次性提示、TUI、IM 通道与 cron 等触发方式并存,但缺少对何时触发工具/子代理的精确规则说明,故 1。环境适配有 Linux/macOS/Windows、镜像回退、Go 安装与桌面端多架构 CI,故 2。

规范维护10 / 18 · 2.8/5

README 结构清晰、分层导航到外部文档,information_architecture=2。安装说明覆盖多平台、镜像、桌面安装包与 Go 安装,install_notes=2。命名稳定性方面存在 octo/octo-agent/Octo 多种写法,且版本仅称“1.0 stable”,无版本号策略,故 1。示例与 FAQ 仅有少量命令示例,无 FAQ,故 1。已知限制披露充分(未签名安装包、移动端预览、Linux AppImage 未实机测试),故 2。LICENSE.txt 为完整 MIT 文本,license=3。版本与变更日志缺失,仅提及 1.0,故 1。维护责任方面发布者未经 FollowAgents 验证,仅有个人邮箱与 GitHub advisory 渠道,故 1。

有效结果7 / 13 · 2.7/5

输出可用性方面提供 TUI/CLI/Web/IM 多形态与单二进制分发,普通使用足够,故 2。边际价值在于单二进制、多模型、零遥测与回收站安全网,相对同类有差异化,但“与 Claude Code 相当”等表述缺乏基准证据,故 2。成本效益方面宣称 99%+ 缓存命中与约 40MB 体积,均为自述无实测,且桌面端依赖 GTK4/WebKitGTK 增加部署成本,故 1。

证据核验4 / 8 · 2.5/5

claim_traceability 仅 1:性能、缓存命中率、体积对比等关键声明无仓库内数据或基准支撑。cross_source_corroboration 仅 1:README 与 SECURITY.md 相互印证安全边界,但 CI 与代码文件未对功能声明提供交叉证据。fact_inference_separation 为 2:SECURITY.md 明确区分“已防御/不防御”,README 亦标注移动端为开发者预览,事实与推断边界较清楚。

风险与缓解建议
  • SECURITY.md 自承 agent 生成的 HTML 与主应用同源,可读取访问密钥并以用户身份调用 API;公开 Light App 与 /_artifacts/ token URL 无需密钥即可访问,部署时须谨慎对待提示注入。
  • 默认开启 shell、文件写入、MCP 与子代理,最小权限依赖可选沙箱;建议启用 Seatbelt/Landlock 并收紧权限规则。
  • 安装脚本为 curl|sh 形式,安装包未代码签名,升级仅校验 SHA-256 而无签名层,需自行核对哈希。
  • 缓存命中率、体积对比与“与 Claude Code 相当”等关键声明均为自述,仓库内无基准或实测数据。
  • 发布者未经 FollowAgents 验证,维护责任与更新路径仅依赖个人渠道,长期维护承诺不明确。
证据充分度:低 评估于 2026年11月5日 审查版本 cfb92f7646ea
查看完整评分方法 →

常见问题

它是收费的吗?
代码是 MIT 许可,可免费使用和自托管。但模型推理要花钱:你得自己接一个模型端点(DeepSeek、Kimi、Qwen、Anthropic、OpenAI 或任意兼容端点),按实际用量向该 provider 付费。项目本身不售卖托管服务。
数据会离开我的机器吗?
项目声称零遥测,不收集 IP、设备型号、模型选择或使用行为。唯一未经你发起请求的网络行为是对 GitHub 的版本检查,且不携带数据;设置 update_check: false 后连这一条也没有。此后离开机器的只有你配置的模型 API 调用和你主动发起的工具调用。
智能体会误删我的文件或把自己的进程杀掉吗?
README 描述了几层防护:rm -rf /、rm -rf ~ 属于硬编码拒绝,自定义权限规则无法覆盖;普通删除与 write_file / edit_file 覆盖会先备份到回收站(默认保留 14 天 / 10 GiB);终端工具拒绝针对 octo 自身进程的 kill / pkill / killall,包括 kill $(pgrep octo) 这类间接写法;restart_server 必须先获批,且重启是平滑的。需要更强隔离时可以开启 macOS Seatbelt / Linux Landlock 沙箱。
接第三方模型会不会把提示缓存搞崩、token 花销失控?
这是项目主打的一个差异点:缓存策略按 provider 分别调优,README 称 Kimi、DeepSeek、Qwen 的实测命中率都在 99% 以上。具体效果取决于你用的端点和调用模式,建议先用小任务观察账单。
能在手机上用吗?
可以,但属于开发者预览。Android 每个 release 都提供 APK,装好后在 Settings → Mobile 扫码,直连你自己的 octo serve(局域网、Tailscale 或任意隧道)。iOS 需要从源码 mobile/ 构建,应用商店版本仍在计划中。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents