Skip to content

feat(adapters): OpenClaw 适配器(第二批 Harness 收官) - #6

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

feat(adapters): OpenClaw 适配器(第二批 Harness 收官)#6
BubblePtr merged 1 commit into
mainfrom
kieran/openclaw-adapter

Conversation

@BubblePtr

Copy link
Copy Markdown
Collaborator

第二批 Harness(.scratch issue 03/06)最后一发:OpenClaw。无本机安装,验证走 Docker 隔离冒烟(已通过)。

设计(读源码定案)

  • models.providers.apiflux 写入 ~/.openclaw/openclaw.json:openai-completions + /v1 + 全量模型最小 {id, name} 条目(运行时补元数据,官方 Moonshot 文档同款写法)
  • apiKey 字面量落盘——与 OpenClaw Control UI 的存法一致;${VAR} 引用缺变量会拒绝加载,不采用
  • --model 时置 agents.defaults.model.primary保留已有 fallbacks;不写 models.mode(默认即 merge,避免覆盖用户的 replace)
  • JSON5 容读(json5 依赖);重写会抹注释时给提示(检测逻辑移植自官方 json5-comments.ts,官方 writer 同样抹注释);$include 或不可解析时不动文件、打印手动 snippet
  • 路径尊重 OPENCLAW_STATE_DIR / OPENCLAW_CONFIG_PATH

验证

  • bun test 120 pass(openclaw 适配器 16 例 + init 接线 1 例)
  • Docker 隔离冒烟(ghcr.io/openclaw/openclaw:latest):openclaw agent --local 默认模型与 --model apiflux/claude-haiku-4-5 两发 SMOKE-OK,日志确认请求打到 apiflux.ai /v1/chat/completions 且 200;含 key 的冒烟目录已删
  • 冒烟坑已记 issue:宿主目录须在 Docker Desktop 文件共享列表内(/private/tmp 不在,bind 静默落空)

发版

合并后 bump 0.7.0 + tag(薄壳 dependencies 同步)——第二批 Harness 全部收官。

…安全降级)

- models.providers.apiflux 写入 openclaw.json(openai-completions + /v1 + 最小 {id,name} 模型条目,运行时补元数据——官方文档口径)
- apiKey 字面量落盘(与 Control UI 存法一致;${VAR} 缺变量会拒载不采用)
- --model 时置 agents.defaults.model.primary,保留已有 fallbacks;不写 models.mode(默认即 merge)
- JSON5 容读;注释将被抹时提示(同官方 writer 行为,检测逻辑移植自 json5-comments.ts);$include 或不可解析时不动文件、打印手动 snippet
- 路径尊重 OPENCLAW_STATE_DIR / OPENCLAW_CONFIG_PATH;Docker 隔离冒烟通过;issue 06 闭环
@BubblePtr
BubblePtr merged commit e8aa85d into main Jul 29, 2026
1 check passed
BubblePtr added a commit that referenced this pull request Jul 29, 2026
- OpenClaw 适配器(PR #6)随本版发布,第二批 Harness 收官
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