Inhere's Site

Latest posts

  • 13 十一月 2026

apic:给任何 HTTP API 一个命令行,不用再为每个服务写 CLI

apic 是一个可以把任何 HTTP API 变成命令行的工具:读取 API 的定义(OpenAPI / Swagger,或几行 YAML),每个接口生成一条命令,参数变成选项,带 shell 补全。

  • 定义即命令:有 OpenAPI 文档的服务一条 site add 接入;没有文档的内部服务,写几行 YAML 列出接口即可。
  • 多环境与认证:dev / prod 各自的地址和凭证,支持 bearer、basic、apikey、登录换 token、外部命令取 token;生产环境写操作要 --yes。
  • 取值、分页、换格式:--pick 跨层取字段、改列名,--all-pages 翻页合并,-o table / yaml 直接看。
  • 人和 AI agent 共用:stdout 只有响应体,退出码有固定含义,apic skill 生成给 agent 的 SKILL.md;密钥在 -v、--dry-run 和报错里一律打码。
…
阅读全文 →
  • 27 十月 2026

把 Claude Code、Codex 当成可验收的任务来跑:gofer,一个自托管的 agent 控制面

同时开着三四个 Claude Code 和 Codex 会话、分布在两台电脑和一个容器里的时候,我经常答不上这几个问题:哪个会话在等我回复?那个让它改测试的 agent 到底改了什么,跑过测试没有?昨天晚上派出去的活,现在是做完了、卡住了,还是早就报错退出了?出门在外,手机上能不能看一眼、点个批准?

gofer 是我为这件事写的工具。一句话:你的 agent、你的机器、一个控制面——把 Claude Code、Codex、ACP agent 或者普通命令,作为可追踪、可验收的任务,跑在你自己的每台机器上,不上云,worker 也不需要开入站端口。

从待验收打开任务,看 diff,通过并合并到基线

…
阅读全文 →
  • 26 十月 2026

让 agent 跑 14 轮、换 3 次段还记得第 1 轮的约束:suga 的长会话做法

agent 在一个会话里干久了,会出三种问题:上下文塞满后开始压缩,压缩掉的恰好是你第一轮交代的约束;每次请求都背着几千 token 的固定开销,会话越长越贵;出了问题想回头查“它到底做了什么”,却没有记录可查。

suga 是我用 Go 写的个人 coding agent,目标是一个会话能陪我干一整天活。这篇讲它在长会话上的几处取舍,哪些有数据支撑、哪些试过没成,以及它和我的任务平台 gofer 怎么配合。suga 本身就是在 gofer 上由 agent 一批批写出来的。

当前版本 v0.49,v0 阶段次版本之间可能有不兼容变更;MIT 许可;以下是suga的一些介绍。

suga:长会话里第 1 轮的约束一直有效

…
阅读全文 →
  • 28 九月 2026

miglite v0.8.0:迁移文件可以嵌进二进制了

上一篇写 miglite 是 6 月,当时还是 v0.4.0。三个多月里,它发到了 v0.8.0:v0.4.0..v0.8.0 之间有 69 个提交,4 次发版。

我这次最想解决的是部署时带着 migrations/ 目录的问题。顺便把几处“参数能传进去、实际不起作用”的行为补上了。

miglite v0.8.0:把迁移文件嵌进二进制

…
阅读全文 →