各种尝鲜体验

相对而言,我比较喜欢尝试新事物。这里记录一些我的尝试体验。

pi

由于 opencode 太难用太狗屎了,让我的怨气值积攒到了一定水平,然后根据一个契机[1]就换到了 pi。

oh-my-pi 东西太多,而且有些功能例如 memory 我确实不需要。所以遵循 pi 的哲学,想加啥插件自己加。

使用技巧

优点

坑点/吐槽

插件相关:

zcode

用 zcode 倒不是因为它好用,而是因为它给得太多了:

  1. 订阅消耗速度变为 0.66x
  2. 每天有三次闲时任务。虽然这个闲时任务是 oneshot 只能对话一轮,但是没有限制 context,我写个长任务至少薅它 500k token
  3. 周末还送用不完的 flash token(9 月更有夜间爽蹬活动,夜间全免费)
  4. 2026.09,每日非高峰期随机掉落神秘重置卡

简直是实现了 token 自由。

经验

有一些技巧,可以卡这个重置的掉落时间。重置每天最多掉落两次,限 2h 内使用,并且只会在 zcode 处于前台窗口的时候掉落。因此我可以不打开 zcode,大概到距离自然刷新还有 30min 的时候,打开 zcode 并获取重置卡。这样自然刷新后距离重置卡到期还会有 1.5h 的 gap,可以够我蹬完一管。

一定要开启 自动归档旧任务。zcode 的 session 存储设计有问题,不开的话 ~/.zcode 大小会非常恐怖。

还有说说闲时任务的限制:

开喷

不过既然写在这里它就不可能只是赞美两句这么简单。zcode 仍然处于发展早期,现在给这么多福利也是为了让我们给使用数据和反馈的。那么我也就得开喷了:

  1. 代码安全问题:zcode 跟 grok 一样会把你的仓库加密上传云端。
  2. 给模型用的终端工具一坨。开个会话问问模型就知道,zcode 给 AI 的终端是“default shell”,这在 Windows 上还是 cmd 而不是 powershell。虽然 powershell 坑比较多,但是总比啥都没有的 cmd 好吧。给模型的系统提示词里也没有终端使用教程,只有一点 cli 规范。
    • 有一堆无法关闭的内置 MCP。
    • zcode 不读 ~/.agents/AGENTS.md,全局提示要放在 ~/.zcode/AGENTS.md。由于我希望对 zcode 附加一些专用的约束,所以我不太想用 hardlink,直接在 ~/.zcode/AGENTS.md 声明让 agent 去读 ~/.agents/AGENTS.md 即可。
    • 恶性 bug:zcode 给 agent 提供的「内置任务」功能(实际上是 Bash + run_in_background: true 实现的)非常难用,很多时候终端进程都已经 panic 了,但是任务本身不会结束,就一直挂着浪费时间等 timeout。所以全局提示里需要写一句“禁止使用 run_in_background”。
  3. 对于 agent 命令操作,zcode 其实是有沙盒的。但是 AI 不知道,有时候要试错多次,。
  4. 周末赠送的是试用装的 glm 5.3 flash,token 非常多。但是这个试用装不是直接加入你的帐号而是作为单独的一个试用帐号提供,我找了半天都没找到在哪里切换回我自己的帐号。实在是居心险恶。
    • 独立试用帐号的缺点就是没法同时跑免费的 glm 5.3 flash 和付费的 glm 5.3。 (2026.09 月末修复了,现在可以主帐号和试用帐号的额度同时跑)
    • 这免费体验帐号开 subagent 的时候经常会有莫名其妙的失败,比如说有的报错信息是 captcha verify failed,我直接黑人问号??
    • 免费帐号并发数非常少(大概 5 个),开不了多少 subagent。
      • 不干活的主 agent 居然也占用一个并发数?
      • 如果我正好在干其他工作,zcode 选择先杀我的 subagent。不是,subagent 是没法恢复的,普通会话还可以 continue,你告诉我把我跑了半个小时的 subagent 一把杀掉,已经跑的 token 全部作废?
  5. 内存占用仍然非常感人,开了几个会话(都跑完了,正在跑的只有一个),内存占用已经达到了 4.5GB。
  6. 性能很差。点一个历史对话,要过几秒钟才能加载出全部内容。就连退出软件也要等一阵。
  7. 恶性 bug:多个工作区通过 ssh 连接到同一台机器上,且每个工作区上都有 session 在跑。随机一段时间后,发生 CPU 飙高、所有 ssh 工作区全部断连 exitCode = 1,而点击重连后又可以正常连入,此时所有会话全部被中断。server 在内网,网络一直都非常稳定,基本可以排除网络问题。
  8. 恶性 bug:在发现了上述恶性 bug 之后我立刻提交了一个反馈,然而反馈提交卡在了日志上传步骤:正在导出完整日志(0%)。我觉得这真的非常抽象,反馈渠道自己不稳定。
  9. 恶性 bug:在我的 n 卡 3050 的笔记本上使用,有概率出现全窗口变为高斯模糊、无法再显示任何东西。
  10. ssh 机器不支持定时任务、不支持闲时任务。然而我有些性能优化必须在 linux 上测试,Windows 上漂移太高了而且没有很多 perf 工具用。另外 WSL 也不支持闲时任务。
  11. GLM 在 202609 推出了夜间爽蹬活动,zcode 无限用 GLM 5.3 flash;但是前提是你的帐号没用完额度。。。用完以后就没法蹬了。
  12. 闲时任务没有草稿:创建闲时任务里写了一堆东西,切出去看看其他会话进度,再切回来发现已经写的内容都没了。
  13. 我可以看到一个 agent 启动的“运行中的终端”,但是无法看到它输出的内容。。
  14. subagent 被中断即丢失所有上下文,且无法恢复:subagent 输出中,停止会话,则之后再开启会话时 subagent 已经输出的内容都不会再进入主 agent 的上下文。等于是 token 白烧了。
    • 也没法看 subagent 到底消耗了多少 token。
  15. 不像 opencode 给 AI 发消息可以“插队”在工具调用里;zcode 在 AI 输出时发送消息,必须排队到 AI 完成全部任务后才能被 AI 看到。
    • 点击「立即」按钮(打断会话,发出消息),快速切到其他 session,再回来以后会看到消息并没有发出去(仍然留在队列里),但是会话的打断是实打实发生的。抽象啊。
    • 新版本设置里可以改「交互行为」,改成「引导」就是我需要的功能了。
  16. 脑残设计:如果文件没读过直接写就会报错 File has not been read yet. Read it first before writing to it. 我实在想不明白,凭什么没读过就不让写?如果这文件很长,用这种傻逼理由打断首次写入,让我消耗了双倍输出 token,实在是有点蠢。
    • claude code 开的坏头。AI 完全可以在终端读到文件内容,然后进行一个 Write;这个规则把该正常行为给否定了。
  17. 会话不能导出导入,且没有同步;多设备开发堪比地狱。另外我设置的「命令」也不会同步,本来就难用的东西,现在我肯定不用了。
  18. MCP 无法按 session 隔离。我多 session 并行时,有个 session 因为在 windows 上没法跑 miri,就用我的 mcp 连到 linux 机器上跑,然后大幅扰乱了另一个 session 的 benchmark。
  19. zcode 上传 git 丑闻曝光以后,天天往我的项目里放你妈的 .zcodeignore 文件,污染我项目
  20. zcode 的 session 存储设计有问题 (src)。session 的 jsonl 每一行都包含完整的 context,一次长任务可以跑到 2GB 的磁盘占用,非常恶心。
  21. zcode 只允许修改上一条提示词并发送,如果要改很久以前的提示词就只能 fork 了。改提示词、fork 点都必须是 LLM 输出结束才行,不能在 LLM 与工具交互中间打断。
  22. 修改上一条提示词时,同时修改模型,则界面上展示使用的新的模型,但是实际调用还是调用老的模型。

lazygit

由于我重新入坑了 neovim,为了使用与 vscode 类似的查看 diff 的功能,因此有一个 git 状态 TUI 查看器还是比较有必要的。生态里基本都是用的 lazygit:lazyvim 本身默认就绑定了 lazygit 的键位,因此我尝试使用 lazygit。但是用起来感觉真的非常不顺手。

但是 gitui 更是一坨原始大便,所以也是捏着鼻子也得用。

flyline

一个 bash 的提示 + 补全库。由于 bash 在这块确实很差(而且我用过 ble.sh,那个慢得一批),所以还是有一点尝试欲望的。

首先看到 Release 里没有 windows build,已经感觉不太对劲了。拉下来 install 一发,这个项目没有 bin target,问了下 AI 才知道这玩意是编译成 .so bash 插件。build 一发,报了一堆错,然后发现这个项目本身就没法在 windows 下 compile。

行吧,我尝试去 Release 里拉下 x86_64 linux 的 musl 构建呢?拉下来 enable -f,报错 bash: enable: dynamic loading not available。所以这 bash 插件的加载本来就没多少人用,这些 bash 的默认 build 都关闭了这个功能,结果这玩意还依赖这个?

直接抛弃。

hyperfine

命令行的 benchmark 比较工具。用来比较单个简单指令还好,当我想要测试一些耗时极长的操作时,这体验简直没法看。

sem

尝试了 weave 后,我发现 Ataraxy-Labs universe 还有个 Ataraxy-Labs/sem,也就是基于 tree-sitter 的语义检测。

于是我也尝试了下 sem。

怎么说呢,sem 还是处在非常早期的阶段,问题比我想的要多。例如最简单的 sem diff,效果是这样的:

│  ⊕ method     NeedsOrderServiceImpl::g… [added]
│  ∆ method     NeedsOrderServiceImpl::b… [modified]
│  ∆ method     NeedsOrderServiceImpl::r… [modified]

显然这个长度根本不对劲,最关键的信息被省略了。(我的终端总宽度是这个片段的 3 倍多。)只能等 sem 再打磨优化了。

weave

一个基于 tree-sitter 代码理解的 git merge 辅助工具。

emmmm,虽然这个 claude 的大菊花排在 contributor 的靠前位置,比较渗人。但我还是想试试。

首先安装,scoop 没有,我用 bpm-rs 安装还给我测出两个 bug。

修好以后安装,我看 README 里写了可以 weave setup --local,但是执行并没有这个指令。然后发现这个 --local 是 15 hours ago 刚添加的。。。一般协作场景都不允许把 .gitattributes 上传到远端吧。不过还好有 core.attributesfile,我直接加到 global gitattributes 里就完事了。

第一次 merge 的时候报错 weave-driver 找不到,然后我才发现安装这东东需要在 release 里下载两个 binary,一个是 weave-cli,一个是 weave-driver。

不过合并的实测效果还是比我想的好一些的,最终 conflict 的文件数量确实更少了几个。不过 weave 解决的也都是些简单问题,难题都留给人类了说是。

carapace

这玩意大概一年多前就想试了,但是文档说的简直不是人话。

首先,Github 上 README 基本没有,就一句 Read, Try and Build. 然后如果你点进去 Read,就能看到这辈子见过的最抽象的文档(截取一部分目录展示😅):

1. In A Nutshell
2. Porcelain Shop
3. Hulk BASH!
4. Pandoras Box
5. Overly Attached Argument
6. Lights, Camera, Action!
7. Group Therapy
8. Spec-tacular Citizen
9. Running Man
10. Greenwashing
11. Wiretap
12. Sandcastle

实际上对于 user 应该看的是 carapace-bin 的文档。但是即使是这份文档也是一坨大便,你安装并配置后也是不知道如何使用。比如我使用 nushell,我按照文档说的进行一个配置:

nushell
$env.CARAPACE_BRIDGES = 'zsh,fish,bash,inshellisense'
source $"($nu.cache-dir)/carapace.nu"

然后重启 nushell,也没法进行补全。后来和 AI 摸索着发现还需要手动把 carapace 设为 external completer,并且一定要取消掉原先的 tab keybindings:

然后按 tab 才能出现补全候选结果。

但是我其实不喜欢这种下方展示候选,我的补全都希望是 inlay hints,并且希望是最符合的结果上屏,而不是出一堆结果让我自己选。

总之经过了一大堆事以后,我对 carapace 没有任何好感。

ast-outline

一个快速用来 parse 代码文件提取重要内容给 AI 用的工具。

首先提取本身没问题,但是只有一些签名和类型,没有注释。我比较怀疑是否真的可以给 AI 产生价值,很多时候一个函数签名的信息是远小于注释的。(当然注释也会有 example 等垃圾内容,这个价值判断标准不太好界定)

然后 ast-outline install --all --dry-run 只支持那些大公司出品的 AI agent,覆盖面还是太窄了。

最后,release binary 里没有其他系统的 releaes 也要扣一点分。

quien

一个 go 写的、TUI 的域名工具。

下载下来试用一下,随便查了一个内网解析的域名,结果:

立刻卸载。

http client

详见 HTTP Client。

jujutsu

详见 jujutsu。

opencode

现在 AI 时代 AI 相关的东西 100k star 真是随便拿啊。

朋友一直在推,用了一下。后来模型 agent 能力越来越强,用的频率也越来越高了。

首先请看 opencode 有多难用。高强度用了几个月后这是我对 opencode 的所有怒火。

下面就主要放一些心得吧。

总的来说,opencode 作为一个 agent,只能算是达到 agent 的基本水平。在使用体验上,还有非常非常多要改进的地方。

然后用 agent 记得一定要找个有缓存的 API 提供方。

UniGetUI

Files

不懂只提供微软商店链接,没有离线安装包/压缩包的软件是什么毛病。被微软收购了?

InputTip

在 b 站看到宣传,感觉这个灵感挺不错的。试用了一下,感觉我不一定需要这个。

  1. 符号方案下有一些 bug,例如和光标位置有一点偏移、并且在我第二块缩放比例不同的屏幕上表现很差,坐标计算是错的。
  2. 光标方案倒是简单,但是实在是有点丑,我也懒得自己定义光标样式。
  3. 目标人群是那种不喜欢看右下角托盘,怕被打断注意力的。作为程序员而不是书记,我觉得偶尔看下右下角没什么负担。

UltraISO

根据此 POST,结果软件本身是 winxp 风格,mds/mdf 挂载挂不上,提取还直接崩溃了,还 tm 卖钱,什么脑残玩意。

用挂载而不是解压的唯一理由就是少一次写入,但是既然这玩意这么难用,还是 7-zip 解压一把梭吧。


  1. 直接契机是 https://t.me/withabsolutex/2841,opencode 对 kimi 模型提示词下毒;另外还有 X 上流传的评测,kimi 在各个 agent 上的跑分,opencode 是垫底,惨不忍睹。 ↩︎