LINUX SB 快照站

聊聊开源项目 Phi:不绑模型、12MB 的终端Coding Agent

原帖: linux.sb/topic/10341 · 共 7 楼 · 标题快照 2026-08-12 10:44:53

楼主
发帖 2026-08-09 22:01:44 · 快照 2026-08-12 10:44:53

上篇帖子简单介绍过 Phi的功能,但是写的很乱,这篇把细节展开聊聊。

Phi 是一个用 Go 编写的最小化终端编码代理框架(harness),GitHub 上已有 28 个 star,希望大家多多关注:github.com/pulseaiclub/phi。

1. 不绑定任何模型

这是 Phi 刻意为之的设计。

现在模型发布的速度太快了,如果每出一个新模型,都要等 coding agent 的作者适配,那太慢了。所以 Phi 的做法是:模型随时可配置、随时可切换,用完就删也不心疼——方便我们随时"白嫖"新模型。

实现上,只要模型兼容 OpenAI 接口或走 Anthropic 协议就能直接用。同时提供了一个专门 HMTL 页面就能用

2. 非常轻量

这要归功于 Go:编译快、单二进制体积小、性能也不差。实测(stripped release 构建,CGO_ENABLED=0)发布二进制只有约 12 MB,比"不到 20MB"还小一截。

3. 权限系统

权限系统是必要的,尤其是当有些模型乱删文件的时候,我觉得它真有必要,这也是我为什么每次用 Pi 的时候心惊胆战的

Phi 的模型默认是"只读"的:代理默认只能读文件,遇到写入或执行命令这类破坏性操作,会先弹出审批对话框,由你选择批准、带反馈地拒绝、或对本次会话全部放行。规则可以细到命令级别:比如 bash.allo
w 放行 go test ./...,bash.deny 拦掉 rm -rf *;fetch 也支持按域名白名单限制。

4. 多 Agent 能力

只有一个主 Agent 是不够的——上下文会被塞得越来越满。比如"去代码库里搜一下"这种任务,我们只关心结果、不关心过程;如果只有主 Agent,中间过程也会被塞进上下文,白白占空间。

Phi 内置一整套子代理工具(agent_spawn / agent_task / agent_wait / agent_list / agent_log / agent_cancel),并且做了一层关键设计:子代理的完整记录存放在 ~/.phi/jobs/<id>/,不会注入主 Agen
t 的上下文——只有任务总结会返回。这正是"只关注结果"的实现方式:主 Agent 的上下文始终干净。子代理还有角色区分(explore 只读搜索 / review 只读检查 / worker 独立编辑),默认只读,想精简会话
也可以整组关掉。

5. Hashline 编辑

主流的 Agent 大多用 Replace(搜索字符串替换)来改文件,Phi 没有采用这种模式。它的缺点是确定性的:一旦上下文里的文件内容过期,模型就容易"乱改"。

Phi 用的是 Hashline——读取文件时给每一行生成一个短 hash(FNV-64a,映射到 10000 个两字符码字,格式是 行号#hash|内容),编辑时带上这个 hash;hash 匹配才允许改动,不匹配说明文件已经被改过了

不匹配时给出新引用:hash 对不上时,Phi 不会只说"不行",而是直接返回变化行的新 hash(>>> 标记),模型可以立刻用新引用重试,不用重新读整个文件。

6. 好看的 UI

TUI 框架是手写的,跑在自己家的纯 Go 库之上,核心非常小,没有历史包袱——首帧 40ms 就是"性能有保障"的证据。

功能上不是花架子:Markdown 渲染 + 代码语法高亮、4 套主题(Dark / Darcula / Pink / Terminal)、Ctrl+K 命令面板、@ 模糊文件选择、/sessions / /resume 会话命令、!command 在对话里直接跑本地命
令并流式输出。

7. 保持兼容

• Skills
• Sessions:会话按工作目录自动持久化(JSONL 轨迹),/sessions 列出、/resume <id> 恢复,
• 会话压缩:长会话会自动做上下文压缩(compaction),不会一路膨胀到爆。

8 .开放的,随时欢迎任何人去参与到这个项目来

#1
发帖 2026-08-09 22:02:33 · 快照 2026-08-12 10:44:53

支持

#2
发帖 2026-08-09 22:07:52 · 快照 2026-08-12 10:44:53

给技术贴支持,顶

#3
发帖 2026-08-09 22:18:33 · 快照 2026-08-12 10:44:53

有趣有料

#4
发帖 2026-08-10 01:47:05 · 快照 2026-08-12 10:44:53

这个phi不能再x64的windows上运行吗,为啥我不成功啊

#5
发帖 2026-08-10 08:21:38 · 快照 2026-08-12 10:44:53

可以呀,打包的Realease里面有windows版本的,运行不了是下载脚本下载不成功的问题吗,