升级到 OpenCode V2 后提示音没了:opencode-notifier 的 delivery 陷阱

我的用法是 Paseo 当外壳、连本机的 opencode serve,不在终端里跑 TUI。10 月 1 号把 OpenCode 从 v1 迁到 v2 之后,opencode-notifier 就再也不响了:插件日志里加载成功,系统音量也正常。翻了 0.6.0 的源码才明白——V2 的 server 端把 delivery 硬编码成 "command",声音弹窗全被强制关掉,只留一个自定义命令的出口,而声音被挪去了我根本不加载的 TUI 组件。

工具软件

Paseo的插件目录

我平时主力用 Paseo + OpenCode + OpenViking,最近 Paseo 官方也上了插件目录,现在既有社区的 paseo.cafe 又有了官方的 paseo.sh/plugins。我之前为了眼睛舒服,移植的solarized主题也在两个目录中。

工具软件

TRAE 替我提交代码,怎么署名成了 Claude?

改完一个小 bug,TRAE 提交时自作主张在 commit message 里加上了 Co-Authored-By: Claude Sonnet 4.6。大爷的离谱,我用 Claude Code 提交都不会加Claude署名。再加上积分制、token 限速、上传项目文件——TRAE 商业化之后,越来越让人不放心了。

工具软件

飞书官方 MCP 导致内存泄露:lark-mcp 孤儿进程排查

Mac 内存莫名被吃光,一查是飞书官方 lark-mcp 留下的几十个孤儿 node 进程。根因是它的 stdio 生命周期只处理了数据流入、没处理管道关闭,宿主退出后进程不自杀;上游 Issue 和 PR 都提了却一直挂着没合并,仓库已停更一年多。

工具软件

该让 AI 删文件前先进废纸篓了

用 WorkBuddy 干活时发现它删临时文件会进废纸篓,而我的 opencode 动不动就是 rm。顺着这个细节查下去,发现 macOS 15 已经内置了 trash 命令,可以替代 rm。

工具软件

GOAT套餐接opencode后切换思考强度的配置

前一篇 goat 接入配置漏了一环:deepseek-v4-flash 等模型在 /models 里选不了思考深度。排查发现不是 GOAT 套餐不支持,而是自定义 provider 手写模型缺 reasoning 能力声明,被 opencode 的变体生成逻辑拦在了门口。最终给 goat、goat-zdr 全部模型补上 reasoning:true,实测无副作用。

工具软件

Paseo Solarized Light 主题插件:低对比度护眼,GitHub 一行命令安装

给 Paseo 做了一个 Solarized Light 护眼主题插件,用官方 addTheme 插件接口实现,不用改任何 Paseo 文件、升级不丢失。Paseo 0.7.0 起支持直接从 GitHub 安装插件,一行命令搞定。

工具软件

把 CommandCode goat 套餐接进 opencode:两步配置 + zdr 自定义请求头

买了 CommandCode 的 goat 套餐,想把它当 opencode 的主套餐用。整个接入就两步:先 /connect 存 API Key,再在 opencode.json 里声明 provider。其中 goat 套餐要求每个请求带 x-cmd-zdr: 1 请求头,实测也能在配置里加。

工具软件

OpenCode Go 套餐用量估算,一个页面看全所有模型

OpenCode Go 的月额度分散在好几张表格里,官方给的"5小时额度"图表又没列出所有模型。于是做了个图表页面,自动抓官方价格表,按官方同样的口径把每个模型的每月可用请求数算出来画成图,悬停看明细。

工具软件

接入 OpenViking,统一 OpenCode 和 Hermes 的记忆

每天零散布置给 OpenCode 各种任务,晚上想一句话就让它复盘总结。但之前 OpenCode 的记忆和 Hermes 的记忆各存各的,没法统一。用 uv 装好 OpenViking,踩了两个坑(httpx[socks]、mcp 2.0 破坏性升级),最后把 OpenCode 和 Hermes 的记忆打通,实现全自动归档与复盘。

工具软件
123