Wave 2: 五件套打通全链路(安装/检测/配置/授权/诊断)

- 五个适配器 YAML 全字段补齐(codex/claude-code/gemini/kimi/opencode)
- agentdock-config:TOML/JSON 编解码 + 原子写 + 自动备份
- agentdock-diag:PATH/依赖版本/版本冲突/配置损坏四类规则
- agentdock-core:detectCli/previewAction/runAction 流式/readConfig/writeConfig/authStatus/diagnose
- Tauri IPC 命令 + CLI 详情页/安装确认弹窗/配置表单/诊断页
- cargo test 75 项通过(含 4 项真机 ignored 自测),前端 build 通过
This commit is contained in:
leefer
2026-08-25 08:58:38 +08:00
parent c47494180b
commit 01996a80fe
33 changed files with 9404 additions and 152 deletions
+121 -21
View File
@@ -1,28 +1,128 @@
# ============================================================
# AgentDock 适配器占位(Wave 1,对齐架构 §3.1 完整 schema
# 本波仅填五字段(id/name/name_zh/vendor/status);其余字段留空,
# Wave 2 起按调研底稿 agent-cli-survey-2026-08-24.md 逐项填充,禁止编造。
#
# 完整字段(全部留空占位,Wave 2 填写):
# adapter_version # semver,如 1.2.0
# license # 展示用;专有许可注明「仅官方渠道安装、不重打包」
# platforms # windows/linuxarchitectures、notes、min_ubuntu
# official # homepage / docs / allowed_hosts(网络白名单)
# runtime_deps # [ { id, semver_range, required_for: [install|run] } ]
# install # preferred + channels[ {id, platforms, command[], script, package, elevate, elevate_reason_zh, post_checks} ]
# detect # executable / version_args / version_regex / version_unconfirmed / path_hints
# update # method + command[]
# uninstall # method + command[] + keep_config_default
# authorization # modes[ {mode, command[], env_keys[], status_command[], notes_zh} ]
# configuration # files[] / environment[] / fields[]
# diagnostics # [ { rule_id } ]
# documentation # quickstart_zh / commands[] / updated_at / risks_zh[]
#
# 铁律:所有 command 一律 argv 数组,禁止 shell 元字符(| & ; $ \ > < (`);
# 本波不实现任何真实安装/检测/配置/授权命令(那是 Wave 2 的事)。
# AgentDock 适配器 · OpenCodeopencode.ai)(Wave 2 全字段
# 数据依据:调研底稿 agent-cli-survey-2026-08-24.mdOpenCode 章节)+ 架构 §3.3
# ============================================================
id: opencode
name: OpenCode
name_zh: OpenCode
vendor: opencode.ai
status: available
adapter_version: 1.0.0
license: MIT
platforms:
windows:
architectures: [x64]
notes: 原生支持(choco/scoop/exe,无需 WSL
linux:
distributions: [ubuntu]
architectures: [x64]
official:
homepage: https://opencode.ai
docs: https://opencode.ai/docs
allowed_hosts: [opencode.ai, registry.npmjs.org, github.com, community.chocolatey.org, get.scoop.sh]
runtime_deps: []
install:
preferred: npm
channels:
- id: npm
platforms: [windows, linux]
command: [npm, install, -g, opencode-ai]
package: opencode-ai
elevate: never
post_checks: [detect]
- id: choco
platforms: [windows]
command: [choco, install, opencode]
package: opencode
elevate: required
elevate_reason_zh: choco 安装需要管理员权限写入系统目录
post_checks: [detect]
- id: scoop
platforms: [windows]
command: [scoop, install, opencode]
package: opencode
elevate: never
post_checks: [detect]
- id: official_script
platforms: [linux]
script:
url: https://opencode.ai/install
kind: bash_pipe
elevate: never
post_checks: [detect]
detect:
executable: opencode
version_args: ["--version"]
update:
method: self_update_cmd
command: [opencode, upgrade]
uninstall:
method: npm_uninstall
command: [npm, uninstall, -g, opencode-ai]
keep_config_default: true
authorization:
modes:
- mode: browser_oauth
command: [opencode, auth, login]
notes_zh: 浏览器 OAuthClaude Pro/Max、ChatGPT 订阅等)
- mode: api_key
status_command: [opencode, auth, list]
env_keys: [OPENAI_API_KEY, ANTHROPIC_API_KEY]
notes_zh: 各家 API Keyopencode auth list 可查看凭据
- mode: device_code
notes_zh: GitHub Copilot 设备码登录(github.com/login/device 输码)
configuration:
files:
- path: "~/.config/opencode/opencode.json"
format: json
scope: user
environment:
- key: OPENAI_API_KEY
sensitive: true
maps_to_field: api_key
- key: ANTHROPIC_API_KEY
sensitive: true
maps_to_field: api_key
fields:
- id: model
label_zh: 默认模型
help_zh: OpenCode 使用的默认模型
required: false
sensitive: false
type: string
storage: file
- id: api_key
label_zh: API Key
help_zh: 存入系统密钥库(对应 OPENAI_API_KEY / ANTHROPIC_API_KEY
required: false
sensitive: true
type: string
storage: keyring
diagnostics:
- rule_id: path.not_installed
- rule_id: path.not_in_path
- rule_id: version_conflict.multiple_copies
- rule_id: config.corrupt
documentation:
quickstart_zh: 安装后运行 `opencode` 或 `opencode run "提示词"` 无头执行。
commands:
- cmd: opencode
desc_zh: 启动交互式会话
- cmd: opencode run "提示词"
desc_zh: 无头单次执行
- cmd: opencode auth list
desc_zh: 查看已配置凭据
updated_at: "2026-08-24"
risks_zh:
- 官方未文档化安装包校验(SHA256/签名),适配器不强制校验