儿童节给自己的玩具长大了: seek 的 goal 26 分钟 跑了 3 轮,改了 28 个文件

10 小时 36 分钟前
 whyiyhw
今天儿童节,发一个自己做的小玩具。

它一开始只是我给自己写的一个终端 AI coding agent ,目标很简单:用自己的 key 、本地跑、少花点 token 、别被一个通用 LLM 接口抹平 DeepSeek 的 prefix cache / FIM / reasoner 这些能力。

但做着做着,它有点从“小工具”长成了“小队长”, 录了一个 26 分钟的 自我 build 过程:



我给它一个目标,它自己跑了 3 轮,期间分解任务、读代码、改代码,最后一共改了 28 个文件。整个过程我没有逐步指挥,


它走的是 goal:目标 → 分解 → 并行 worktree 子代理 → 聚合结果 → 本地 commit / 报告。



这不是想说它已经可以放心自动 merge 。相反,我现在的默认设计是保守的:无人值守可以跑,但结果默认留在本地,不自动 push/PR ,第二天人再 review 。

---

seek 是一个本地运行的 AI coding agent 。单 Go 二进制,终端/TUI/CLI 使用,BYOK 。默认 DeepSeek-first ,也支持 OpenAI / Anthropic / Gemini / OpenAI-compatible endpoint 。

一开始我做它是为了成本和可控性:DeepSeek 的 prefix cache 、FIM 、reasoner content 、错峰价格,如果压成通用 LLM 接口会浪费,所以代码里 `pkg/deepseek` 是 first-class path ,其他 provider 走薄的 `pkg/llm` 层。

但现在我觉得真正值得展示的不是 “DeepSeek agent”,而是本地 agent runtime:

- 并行子代理:一个任务可以拆给多个 subagent 。
- worktree 隔离:每个子代理可以在独立 git worktree 里改,避免互相踩工作区。
- Autopilot:无人值守地分解任务、并行执行、聚合结果、本地 commit 。
- cron / wakeup / trigger:没有常驻 daemon ,交给系统调度器拉起 `seek cron tick`。
- webhook 通知:任务完成后可以推到 ntfy / Slack / Discord / 飞书 / raw URL 。
- 安全边界:plan mode 、权限门、checkpoint 、undo/redo/restore ,Autopilot 路径还能用 macOS seatbelt / Linux landlock 。


和一些现有工具的区别:



项目地址:<https://github.com/whyiyhw/seek>
官网:<https://seek.whyiyhw.com/> 也是 seek + 4-flash 写的
相关 pr:gif pr <https://github.com/whyiyhw/seek/pull/16> 视频太长了,如果各位感兴趣,我再发视频平台

想听听大家对这个方向的看法:

1. 本地零 daemon + OS scheduler 这种设计,你们觉得是优点还是可靠性风险?
2. 并行 worktree 子代理在真实开发里有没有吸引力?
3. goal 默认只产本地结果、不自动 push/PR ,这个安全边界是否合理?
4. seek 应该继续保持轻量,还是迟早也得做 codegraph / web UI ?

我还把所有写这个项目的踩坑与决策思路整理成了一本书,写给所有的 builder ,你也可以写自己的 claude code ~
321 次点击
所在节点    分享创造
0 条回复

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

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

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

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

© 2021 V2EX