Skip to content

feat(adapters): Pi 适配器(第二批 Harness 第二发) - #4

Merged
BubblePtr merged 1 commit into
mainfrom
kieran/pi-adapter
Jul 29, 2026
Merged

feat(adapters): Pi 适配器(第二批 Harness 第二发)#4
BubblePtr merged 1 commit into
mainfrom
kieran/pi-adapter

Conversation

@BubblePtr

Copy link
Copy Markdown
Collaborator

第二批 Harness(.scratch issue 03/05)之 Pi(badlogic/pi-mono coding agent)。核对项全部读源码闭环,两个此前的担忧都解除了:

关键结论(读 pi-mono 源码)

  • 模型元数据全可选ModelDefinitionSchema 只有 id 必填——"要求 contextWindow/cost 全量元数据"是过时文档误导,models 数组只写 {id}
  • key 走 pi 原生凭证库 ~/.pi/agent/auth.jsontype: "api_key",0600):provider-composer.ts 中 stored credential 优先于 models.json 的 apiKey 字段,key 不进配置文件(与 OpenCode 方案同构)
  • 默认模型持久化 = settings.jsondefaultProvider + defaultModel 组合(resolver 要求两者同有且 provider 已配置鉴权)
  • ⚠️ pi 读配置 strip 注释(JSONC):适配器安全读取,解析失败不动文件、打印手动 merge snippet(models/settings 各自独立降级,auth.json 照写)
  • 路径尊重 PI_CODING_AGENT_DIR 覆盖;detect 依据 ~/.pi/

测试

  • bun test 88 pass(新增 pi 适配器 14 例 + init 接线 1 例)
  • bun run build 通过

发版

合并后真机冒烟(apiflux init --tool pi --model <id> → pi 内 /model 列出 ApiFlux 模型、默认模型生效、对话跑通),过了 bump 0.5.0 + tag(记得薄壳 dependencies 同步 bump)。

…json 钉默认模型)

- providers.apiflux 写入 ~/.pi/agent/models.json(openai-completions + /v1,模型仅需 id——元数据全可选已核实)
- key 只进 pi 凭证库 auth.json(type=api_key,0600),stored credential 优先级已核实(provider-composer.ts)
- --model 时 settings.json 写 defaultProvider/defaultModel 组合(resolver 要求两者同有)
- pi 的 JSONC 配置安全降级:解析失败不动文件、打印手动 merge snippet
- 路径尊重 PI_CODING_AGENT_DIR;.scratch issue 05 核对项闭环
@BubblePtr
BubblePtr merged commit c4d95bd into main Jul 29, 2026
1 check passed
BubblePtr added a commit that referenced this pull request Jul 29, 2026
- Pi 适配器(PR #4)随本版发布
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant