为什么到今天我又做了一个开源 Agent

7 月 17 日
 leihaibo1992

认识 Octo —— 一个用 Go 从零打造的强大个人 Agent 。

无论你用的是什么操作系统,无论你对 AI Agent 了解多少,Octo 希望做到让你 10 分钟上手、1 天熟悉、1 周成为最佳帮手

安装就是一行命令,不依赖 Node 、Python 、Ruby——下载即用:

curl -fsSL https://octo-agent.dev/install.sh | sh

octo config


不是要超越谁,而是做好自己

我知道个人开发的 Agent 不可能在绝对性能上超过 Codex 这种顶级模型厂商的闭源 Agent ,也知道不可能在声量上超过 WorkBuddy 这种顶级大厂砸钱推的产品。所以 Octo 不跟谁比,只想成为 最易用、最安全、最注重隐私的开源 Agent


那为什么还要做?

两个原因。

第一,坦白说,我对现在「 CC 写代码 + OpenClaw 做日常助手」这种分裂模式很不满意。两个工具,两套配置,两种体验——明明它们本质上是一回事。这种不满意贯穿了 Octo 的每一个设计决策。

第二,我第一次深度使用 Claude Code 的时候,受到了巨大的震撼。一个 AI 在终端里自如地读写文件、执行命令、思考、纠错,像一名真正的工程师一样工作。我迫切地想搞懂这一切背后是怎么运行的——而了解一个系统最好的方式,就是从零实现一个。

在 AI 效率的加持下,这件事真的发生了。


磨刀不误砍柴工

Octo 前期一直在打磨核心功能,那些略显噱头的东西一直放着没动。现在差不多了,Agent Team 、Multiple Agent 马上就来。

写代码这件事 AI 已经帮了大忙,产品力更多取决于 品味。但真正决定成败的,还是和用户的 交流


一些取舍:为什么市面上的 Agent 那么难用

无论 Claude Code 还是 Codex ,它们总是把 Chat 、Coding 、Work 拆成不同的界面。但 Octo 认为,这三种形态本质上都是 一种会话——用户不该费心思决定现在该用哪一个。Octo 只有一种。

同样,Octo 不区分 Coding Agent 和 General Agent 。一个通用的个人助手,当然应该会写代码、会做 PPT ,没必要分开。

MCP 支持也做得比较扎实。 支持 stdio 、Streamable HTTP 、HTTP OAuth 三种类型的 MCP Server ,并且内置了 Tool Search 机制——配置再多的 MCP 工具也不用担心撑爆上下文,模型按需按名查找调用,不会一股脑全塞进去。


隐私和安全的底线

现在流行的 Agent 大多内置了各式各样的遥测。Claude Code 甚至被发现通过系统提示词里的隐形 Unicode 标记悄悄识别中国用户——Anthropic 工程师后来在 X 上承认了这个"实验",技术细节可以看这篇拆解

Octo 没有任何遥测数据,不会把任何信息发到远程服务器。除了模型调用本身——如果你有能力,完全可以使用本地模型,两种协议和任何兼容端点都能接。

还有一个安全问题:现在模型说发疯就发疯,万一把你数据删了怎么办? Octo 确保你的数据始终能恢复——rm、覆盖写入、程序化删除全部先进回收站,14 天内随时找回。

那些流行一时的 General Agent ,用 Node 、Python 开发,源码直接装到用户本地,Agent 自己就能把自己改挂。挂了又得熬夜修。Octo 用 Go 开发,Agent 没法在本地改代码,改配置也有 Hook 保护。改错了?旧配置随时恢复,稳如泰山。甚至用户主动让 Agent 去杀 Octo Serve 服务,都不行——除非你手动关闭应用。

更进一步,Octo 内置了 OS 级沙箱(--sandbox),可以把 Agent 约束到项目目录内、关闭网络、限制读写路径,适合在不可信任务上隔离运行。权限也做了分层(--permission-mode):interactive 每步询问、strict 直接拒绝、auto 自动放行。想放开手让 Agent 干活又怕出事?交给权限分层就行。


站在巨人的肩膀上

最后,诚恳致谢。Octo 的开发离不开这些优秀开源项目的启发:


官网: https://octo-agent.dev GitHub: https://github.com/open-octo/octo-agent

2594 次点击
所在节点    分享创造
41 条回复
chnwine
7 月 20 日
“做了 `web_search` 工具,零配置默认走 Bing ,高阶用户自己换 Brave 、Tavily 的 key ;内置 20 个精挑细选的 Skill ,连 Python 依赖都靠内置的 `uv` 自己解决。就为了让一个 Windows 小白用户说一句「帮我做个 PPT 」「帮我处理一下这个 Excel 」中间不碰到任何障碍。 做一个 demo agent 容易,做一个好产品难。期待跟你多交流。”
我也不确定, 应该是先选用户选场景选问题, 再去给一个合适的方案. 还是应该先提前把功夫坐在他们看不到的地方, 我之前做法和你一样的

“我老婆,一个文科生、在企业做法务,能不能在没有我帮忙的情况下自己把它跑起来、用来辅助工作。奔着这个标准,我做了桌面端应用,安装就能用;”
你可以编译下我的那个代码, 装到电脑上检验下她更倾向用哪个🤣
leihaibo1992
7 月 20 日
@chnwine 我还是坚信把功夫花到用户看不到的地方,让用户在使用过程中,有一种“哇,它懂我”, “竟然还能这样”的感受,这才是一个好的产品,这才能得到用户真正的信任。但同样,宣传、噱头也不能少,这个时代,注意力太稀缺了,用户眼前一天可能闪过 10 几个同类产品,怎么抓住他们的眼球,这是一个问题,也是我在探索的方向。所以我硬是搞了一个八爪鱼的形象,凑了 8 个界面等于章鱼 8 条腿的梗。当前这是我第一篇推广的文章,先在 v2 试试水,后面我还会发几篇技术向的文章,每次只讲透一个点,v 站技术人多,看看能不能吸引到一些有共同看法的朋友参与进来,后期我还会转战小红书,那里才是真正的战场

另外,你那个 agent 我一定要试试,也让我老婆反馈下,普通人视角的看法,共勉
leihaibo1992
7 月 20 日
@PowerDi 从昨天下午开始搞,到今天上午终于搞完了你提的二级分组功能,烧了 openrouter glm5.2 20 刀的 token.
感谢你的反馈,希望你喜欢这个功能(最新版 v1.12.24)

2c8cW62.png
PowerDi
7 月 20 日
@leihaibo1992 #23 刚加完班准备刷会 V 站就去用 octo 试着整理我的笔记知识库了,洗澡的时候还想了下 provider 的事情没想就做出来了,太牛了额
PowerDi
7 月 20 日
@chnwine #21 虽然现在是理念为王的时代,我觉得 agent 能解决的问题是一样的,但是走的路线对使用体验影响也很大。举个例子,现在很多云南餐厅,它们解决的都是同样的味型问题,但要把食客留下来最后还是要看你的烹饪手法。

对,我的意思是我使用下来,简洁且直观是我愿意使用这个 agent 的原因。你也可以试试
isAK47
7 月 21 日
咨询下 op ,gpt 中转站是用不了吗
leihaibo1992
7 月 21 日
@isAK47 用的了啊,理论上任何 api 都能用。你的具体报错是什么
isAK47
7 月 21 日
@leihaibo1992 找到原因了,需要填入具体的模型(比如 GPT-5.4 )才能开始连接,如果中转站有多个模型,那就要创建多个端点,是这样吧。之前使用 CCSwitch 一次性拉取多个模型,还不太适应
isAK47
7 月 21 日
每次打开软件会自动执行/onboard ,这个也是会消耗 token 的
leihaibo1992
7 月 21 日
@isAK47 #29 怎么会,只有第一次才会呀,你能提个 issue 描述你的复现步骤吗
leihaibo1992
7 月 21 日
@isAK47 #28 不是啊,同一个端点下可以添加很多模型的
isAK47
7 月 21 日
@leihaibo1992 已经提交了
leihaibo1992
7 月 21 日
@isAK47 #32 谢谢你的反馈
leihaibo1992
7 月 21 日
今天一个朋友反馈了一个优化,说希望增加消息定位条,便于他往上查找消息,我感觉这个建议特别好,下班后赶紧打开 claude design ,设计了一个牛逼的交互。已经发布上线,v1.12.27, 希望各位用户朋友喜欢。

截屏 2026-07-21 22.10.41

消息上下滚动会有动画,鼠标浮上去能预览消息
leihaibo1992
7 月 21 日
每条用户消息下面有 eidt 和 branch 按钮,可以试试哦。branch 特别适合干活干到一半,想探索好几个方向的时候使用
leihaibo1992
7 月 26 日
@chnwine #21 兄弟,我今天终于找到时间完整体验了一下你的 Swiflow ,说点真实感受。

先说安装 —— 太难了。如果不是我自己也有 agent 能辅助折腾,纯靠手搓估计得花一整天才能跑起来。像我老婆那种普通用户,第一步就劝退了,根本没有机会体验到你的产品。

再说功能。轻应用这个点子本身很好,我很喜欢,它的直觉是对的。但问题在于,它的护城河太窄了,目前更像一个「锦上添花」的东西,还撑不起一个完整的产品。我感觉背后缺少一个一以贯之的理念来做整体设计,各个功能点之间是散的,没有一个统一的「灵魂」把它们串起来。

说这些不是挑刺,是真希望这个产品能做好。共勉 💪
leihaibo1992
7 月 26 日
@chnwine #21 兄弟,另外再说一个事——轻应用这个概念我打算借用到我的 octo-agent 里去了。你的这个方向我是真认可,确实是个好思路。这是我的设计文档,有兴趣可以看看,多交流 🙏

https://github.com/open-octo/octo-agent/pull/1814/changes
leihaibo1992
7 月 26 日
最新版 v1.14.1 界面
chnwine
7 月 26 日
@leihaibo1992
[纯靠手搓估计得花一整天才能跑起来], 能说下哪里的问题么, 我自己在 windows 上测试感觉安装啥的也还可以.

[轻应用这个概念我打算借用到我的 octo-agent 里去], 非常欢迎, 毕竟这东西其实就是给脚本加个界面, 约等于脚本的快捷方式, 我自己都没想好怎么用.
leihaibo1992
7 月 27 日
@chnwine #39 https://dl.swiflow.cc/Swiflow_latest_aarch64.dmg 下载链接是坏的,我是从源码构建的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1228101

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX