octo-agent
单文件、自托管的开源 AI 智能体,模型与数据都留在你自己的机器上,八种入口共用一个 Go 二进制。
- Star 数
- ★ 141
- 最近更新
- 1 天前
- License
- MIT
- 主语言
- Go
- FA 评分
- 51/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude APIClaude Code(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 想在自有服务器或笔记本上跑编码智能体、又不愿把代码库交给第三方云服务的开发者。
- 不适合
- 已习惯 Codex / Claude 订阅且不想自备模型 API 密钥的用户
- 需要 App Store 正式版移动端应用、不能接受开发者预览版的团队
- 要求安装包已代码签名、有严格企业合规审计的组织
- 源码审查
- 51/100 · 缺口较多
这个 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,支持录制、回放与自愈。
- 想在自有服务器或笔记本上跑编码智能体、又不愿把代码库交给第三方云服务的开发者。
- 已经用 DeepSeek、Kimi、Qwen 等国产或第三方 OpenAI 兼容端点,希望缓存命中率不被搞崩、token 账单可预测的团队。
- 需要在 CI 或 cron 里跑无头一次性任务(
octo "explain this repo")的工程师。 - 希望从微信 / 飞书 / Telegram 直接派活的个人用户或小团队。
- 已积累
~/.claude/skills技能目录、想直接软链接复用的 Claude Code 用户。 - 想在 VS Code、Obsidian 或手机上随手唤起同一个助手的知识工作者。
如何安装或部署这个 Agent?
Linux / macOS 用一行脚本安装;Windows 用 PowerShell;github.com 不可达时切到下载镜像。
curl -fsSL https://octo-agent.dev/install.sh | shirm 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@latestAndroid 用户可从 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?
查看各维度的扣分理由
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。
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。
受众与场景覆盖编码代理与个人助理、八种入口、多模型协议,描述充分,故 2。能力边界在 SECURITY.md 的“不防御”清单中写得清楚(本地恶意进程、明文传输、同源页面),故 2。触发精度方面 CLI 一次性提示、TUI、IM 通道与 cron 等触发方式并存,但缺少对何时触发工具/子代理的精确规则说明,故 1。环境适配有 Linux/macOS/Windows、镜像回退、Go 安装与桌面端多架构 CI,故 2。
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。
输出可用性方面提供 TUI/CLI/Web/IM 多形态与单二进制分发,普通使用足够,故 2。边际价值在于单二进制、多模型、零遥测与回收站安全网,相对同类有差异化,但“与 Claude Code 相当”等表述缺乏基准证据,故 2。成本效益方面宣称 99%+ 缓存命中与约 40MB 体积,均为自述无实测,且桌面端依赖 GTK4/WebKitGTK 增加部署成本,故 1。
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 验证,维护责任与更新路径仅依赖个人渠道,长期维护承诺不明确。
常见问题
它是收费的吗?
数据会离开我的机器吗?
update_check: false 后连这一条也没有。此后离开机器的只有你配置的模型 API 调用和你主动发起的工具调用。智能体会误删我的文件或把自己的进程杀掉吗?
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 花销失控?
能在手机上用吗?
octo serve(局域网、Tailscale 或任意隧道)。iOS 需要从源码 mobile/ 构建,应用商店版本仍在计划中。