diff --git a/docs/EXECUTION_BOARD.md b/docs/EXECUTION_BOARD.md index ebd21c2d..1da85495 100644 --- a/docs/EXECUTION_BOARD.md +++ b/docs/EXECUTION_BOARD.md @@ -15,6 +15,30 @@ - `self_service` 主链路已通过 latest-head 标准 fresh-host 复验: - `artifacts/real-host-acceptance/20260521_210403/05-import.json` - `artifacts/real-host-acceptance/20260521_210403/07-access-status.json` +- 2026-05-26 已把“最终用户 -> 公网域名 -> OpenClaw”这一跳补进正式验证口径: + - 公网根地址当前统一为 `https://sub.tksea.top` + - OpenClaw 本地 `MiniMax` 运行时故障已定位为 `pi-ai/openai-node` 未继承系统 `HTTP(S)_PROXY`,不是 allowlist 或模型名大小写问题 + - 操作者本机已新增升级后自检与提醒链路: + - `~/.openclaw/bin/apply-openclaw-minimax-proxy-fix.sh` + - `~/.openclaw/bin/openclaw-minimax-post-upgrade-check.sh` + - `~/.openclaw/bin/openclaw-minimax-proxy-reminder.sh` + - `~/.openclaw/bin/install-openclaw-minimax-reminder-cron.sh` + - 当前 OpenClaw 真实验证基线已收口为: + - `tksea-gpt/gpt-5.4`:PASS + - `tksea-gpt/gpt-5.4-mini`:PASS + - `tksea-gpt/gpt-5.5`:当前 upstream `503` + - `tksea-minimax/MiniMax-M2.5-highspeed`:PASS + - `tksea-minimax/MiniMax-M2.7-highspeed`:PASS + - `deepseek-official/deepseek-chat`:PASS(2026-05-27 已补齐本机 auth profile,one-shot 返回 `OK`) + - 这部分测试用例与执行过程已沉淀到 `docs/OPENCLAW_EXTERNAL_VALIDATION.md` +- 2026-05-26 remote43 patched host 最新 provider 扩展验收: + - `openai-zhongzhuan`:`artifacts/real-host-acceptance/20260526_155548_remote43_openai_zhongzhuan_multi_model_rootprep/21-summary.json` 已确认 `batch_status=succeeded`、`provider_status_from_import=active`、`direct_chat_status=200` + - `minimax-53hk`:`artifacts/real-host-acceptance/20260526_155705_remote43_minimax53hk_multi_model_rootprep/21-summary.json` 已确认 `batch_status=succeeded`、`provider_status_from_import=active`、`direct_chat_status=200`、`upstream_chat_status=200` + - `deepseek-chat-official`: + - 旧 artifact `artifacts/real-host-acceptance/20260526_155810_remote43_deepseek_chat_official_multi_model_rootprep/21-summary.json` 停在 `partially_succeeded/degraded` + - 2026-05-27 rerun `artifacts/real-host-acceptance/20260527_051655_remote43_deepseek-chat-official_key_import/21-summary.json` 已确认本机经 remote43 patched host 的真实数据面恢复:`direct_models_http200=true`、`direct_models=["deepseek-chat"]`、`direct_chat_status=200`、`latest_access_status=subscription_ready`、`upstream_chat_status=200` + - 剩余 `partially_succeeded/degraded` 的唯一原因已定位为宿主 account probe 返回裸 `API returned 404:`,而后续 gateway `/v1/models` + `/v1/chat/completions` 实际都已通过;HEAD 现已把该 404 视为 advisory,不再阻塞最终状态收敛 + - 同轮还补上 remote43 scripted stack 的真实脚本缺陷:`.env.crm` 里的 SQLite DSN 含 `&_busy_timeout=5000` 时,旧版未做 shell escape,`source .env.crm` 会吞掉 `SUB2API_CRM_SQLITE_DSN`,导致 remote CRM 实际退回默认 DB 路径;`scripts/remote43_patched_stack_lib.sh` 已修复并有回归测试覆盖 - latest-head relay-manager 已新增宿主 capability 自愈: - 当第三方 OpenAI-compatible upstream 因宿主把 `openai_responses_supported` 误判成 `true` 而导致 host `/v1/chat/completions` 返回 `502 upstream_error` 时,access closure 与后台 reconcile 会自动把相关 account 修正到 raw `/chat/completions` 路径后再重试 - 但这条控制面自愈当前仍不足以单独收敛本地 stock `weishaw/sub2api:0.1.129` + `kimi-a7m` 场景;`artifacts/real-host-acceptance/20260525_local_v0129_kimi_a7m_scheme_c_stockhost_rerun/21-summary.json` 已再次证明:在不改宿主源码的前提下,managed `/v1/models` 虽然命中 `kimi-k2.6`,`/v1/chat/completions` 仍会落到 `502 upstream_error`,所以该 case 仍需宿主运行时兼容补丁或 shim @@ -120,28 +144,39 @@ - 只有 `/v1/models` 命中 `smoke_test_model` 且 `/v1/chat/completions` smoke 成功,控制面才会把 access 状态记成 ready - access closure / import runtime artifact / reconcile rerun payload 都会持久化 `completion_ok/completion_status/completion_type/completion_preview` 10. current-code remote43 验收脚本已补 upstream API 证据层 - - `scripts/import_remote43_provider.sh` 会直探 provider `base_url` 对应的 upstream `/models` 与 `/chat/completions` - - 新增 `21-summary.json`,用于把 completion 失败自动分流成 `host_compatibility_gap` 或 `upstream_key_quota_issue` + +- `scripts/import_remote43_provider.sh` 会直探 provider `base_url` 对应的 upstream `/models` 与 `/chat/completions` +- 新增 `21-summary.json`,用于把 completion 失败自动分流成 `host_compatibility_gap` 或 `upstream_key_quota_issue` + 11. patched CRM external validation 已完成 - - patched CRM 实例下,DeepSeek 与 MiniMax 都已验证“completion smoke 通过时能落成 succeeded/active,失败时不会误记成 ready” - - `20260521_191418_remote43_minimax_key_import` 与 `20260521_201509_remote43_deepseek_key_import` 已同时证明当前 `subscription` provider 链路可真实闭环 - - `20260521_210403` 已证明 latest-head `self_service` 标准 fresh-host 验收也可闭环到 `self_service_ready / fully_ready` + +- patched CRM 实例下,DeepSeek 与 MiniMax 都已验证“completion smoke 通过时能落成 succeeded/active,失败时不会误记成 ready” +- `20260521_191418_remote43_minimax_key_import` 与 `20260521_201509_remote43_deepseek_key_import` 已同时证明当前 `subscription` provider 链路可真实闭环 +- `20260521_210403` 已证明 latest-head `self_service` 标准 fresh-host 验收也可闭环到 `self_service_ready / fully_ready` + 12. artifact 保留策略已收口 - - 主目录 `artifacts/real-host-acceptance/` 当前只保留最终证据 - - 历史失败/半成功/试错样本已迁到 `artifacts/real-host-acceptance-archive/` - - 分类规则见:`docs/REAL_HOST_ARTIFACT_RETENTION.md` + +- 主目录 `artifacts/real-host-acceptance/` 当前只保留最终证据 +- 历史失败/半成功/试错样本已迁到 `artifacts/real-host-acceptance-archive/` +- 分类规则见:`docs/REAL_HOST_ARTIFACT_RETENTION.md` + 13. relay-manager latest-head 已收口 Kimi A7M 两段竞态 - - account test 首次 `403 Forbidden` 已降级为 advisory warning;只要 `/models` 已命中 `smoke_test_model`,不会再把 batch 误判为 blocking failure - - access closure 对导入后瞬时 `503 / no available accounts` 增加短暂 completion retry,避免宿主异步 probe / account warm-up 窗口把真实可用链路误记成 `broken` - - `20260522_122706_local_v0129_kimi_a7m_subscription_freshhost` 已证明:在修复后的 relay-manager + patched host 组合下,`kimi-a7m / kimi-k2.6` 可落到 `batch_status=succeeded`、`provider_status=active`、`latest_access_status=subscription_ready` + +- account test 首次 `403 Forbidden` 已降级为 advisory warning;只要 `/models` 已命中 `smoke_test_model`,不会再把 batch 误判为 blocking failure +- access closure 对导入后瞬时 `503 / no available accounts` 增加短暂 completion retry,避免宿主异步 probe / account warm-up 窗口把真实可用链路误记成 `broken` +- `20260522_122706_local_v0129_kimi_a7m_subscription_freshhost` 已证明:在修复后的 relay-manager + patched host 组合下,`kimi-a7m / kimi-k2.6` 可落到 `batch_status=succeeded`、`provider_status=active`、`latest_access_status=subscription_ready` + 14. relay-manager latest-head 已补宿主升级后的 capability 自愈 - - 对 `API returned 403: Forbidden` 这类 `/responses` 误判 advisory,控制面现在会在 access closure 与 reconcile rerun 中把目标 account 的 `openai_responses_supported` 修正为 `false`,随后重试 gateway `/v1/chat/completions` - - 这样即使宿主升级或异步 probe 把 capability 标记覆写错,控制面也能在“安装后确认”与“后台持续对账”两个环节重新拉回可用状态 + +- 对 `API returned 403: Forbidden` 这类 `/responses` 误判 advisory,控制面现在会在 access closure 与 reconcile rerun 中把目标 account 的 `openai_responses_supported` 修正为 `false`,随后重试 gateway `/v1/chat/completions` +- 这样即使宿主升级或异步 probe 把 capability 标记覆写错,控制面也能在“安装后确认”与“后台持续对账”两个环节重新拉回可用状态 + 15. 2026-05-24 本地质量门禁补丁已完成 - - 新增 repo 级删除保护:`internal/store/sqlite/hosts_repo.go` 引入 `RuntimeDependencyCountsByHostID` 与 `HostDeleteBlocker` - - 新增回归测试:`TestHostsRepoDeleteByHostIDBlocksWhenRuntimeStateExists`、`TestBatchImportRejectsOversizedJSONBody`、`TestDecodeJSON/rejects oversized request body` - - `internal/app/http_api.go` 现已统一限制 JSON request body 大小,并把 host 删除占用态映射为 `host_in_use` - - `internal/app` / `internal/provision` / `internal/reconcile` 测试 SQLite 打开路径已改为串行 helper,当前 `go test -race ./... -count=1` 重新恢复为绿 + +- 新增 repo 级删除保护:`internal/store/sqlite/hosts_repo.go` 引入 `RuntimeDependencyCountsByHostID` 与 `HostDeleteBlocker` +- 新增回归测试:`TestHostsRepoDeleteByHostIDBlocksWhenRuntimeStateExists`、`TestBatchImportRejectsOversizedJSONBody`、`TestDecodeJSON/rejects oversized request body` +- `internal/app/http_api.go` 现已统一限制 JSON request body 大小,并把 host 删除占用态映射为 `host_in_use` +- `internal/app` / `internal/provision` / `internal/reconcile` 测试 SQLite 打开路径已改为串行 helper,当前 `go test -race ./... -count=1` 重新恢复为绿 ## 已验证门禁 @@ -232,6 +267,7 @@ **API Schema 细稿**:`docs/2026-05-22-BATCH_AUTO_IMPORT_V2_API_SCHEMAS.md`(run/item 响应结构、筛选参数、badge 文案、错误语义) **本轮设计收敛**: + - 已把真实验收中的三类高频问题写入 v2 方案: - 添加模型时的模型名归一化与纠错 - 第三方国产模型的兼容能力画像(`/responses`、`/chat/completions`、Anthropic compatible、stream/tools) @@ -266,6 +302,7 @@ - 当前 MiniMax live 阻断要按两层解释:第一次是 upstream quota/rate-limit,后续 `503` 是唯一账号进入临时不可调度窗口后的宿主侧结果 **本轮实现状态(T1 ~ T13)**: + - [x] `internal/batch` canonical types / reuse policy / service / confirmation / validation / projection 已落地 - [x] `internal/probe` models / alias / capability / smoke completion 已落地 - [x] `internal/store/sqlite` run/item/event runtime state repo 与 migration 已落地 @@ -277,6 +314,7 @@ - [x] `gofmt -l .` **T13 审计结论**: + - `docs/2026-05-22-BATCH_AUTO_IMPORT_V2_RESTORATION_CHECKLIST.md` 已完成 - latest-head 已补齐 `internal/app/http_batch_import.go` -> `internal/app/batch_runtime.go` 的 create-run 入口 wiring - API 与 CLI create-run 现在都会真实驱动 `BatchImportService + ConfirmationWorker + ValidationService` diff --git a/docs/PROVIDER_VALIDATION_MATRIX.md b/docs/PROVIDER_VALIDATION_MATRIX.md index 626a8826..104ad30c 100644 --- a/docs/PROVIDER_VALIDATION_MATRIX.md +++ b/docs/PROVIDER_VALIDATION_MATRIX.md @@ -1,6 +1,6 @@ # Provider Validation Matrix -日期:2026-05-22 +日期:2026-05-26 ## 目的 @@ -26,20 +26,27 @@ 先说结论: -1. **首批 10 个官方 provider 模板已经落库** +1. **首批 10 个官方 provider 模板已经落库,且 pack 已继续补入高频中转模板** - 当前 `openai-cn-pack` 已内置 Qwen、DeepSeek、GLM、Kimi、MiniMax、Step 的 10 个官方模板 + - 同时已补入 `openai-zhongzhuan` 与 `minimax-53hk` 两条高频中转模板 2. **还不能宣称“国内 10 大模型都已逐个真实验证通过”** - 当前最大的阻断不是控制面代码,而是 **官方 key 不齐** - 其次是部分官方 key 即便存在,也会在真实 completion 阶段命中 `429 quota/rate-limit` -3. **当前真正已跑过 official live 验收的只有 MiniMax 官方模板** - - 结果不是控制面错误,而是 upstream `429` - - 这证明模板、models 暴露、导入链路都已接通,但当前 key 不具备稳定 completion 验收能力 +3. **official live 验收不再只有 MiniMax 一条** + - `minimax-m2-7-official`:live 已完成,但当前验证 key 命中 upstream `429` + - `deepseek-chat-official`:remote43 latest run 已完成 host/import/access/completion 验收,但 provider 仍是 `partially_succeeded/degraded` + - DeepSeek 当前真实缺口不是 gateway completion 不通,而是 upstream catalog / account probe 与 manifest 仍有偏差 -4. **Qwen / GLM / Step / Kimi 官方路线当前没有本机可用官方 key 证据** +4. **Qwen / GLM / Step / Kimi 官方路线当前仍没有本机可用官方 key 证据** - 所以它们目前只能算“模板已就绪,未完成 live 验收” +5. **remote43 最新新增两条中转路线已闭环到 ready** + - `openai-zhongzhuan`:`batch_status=succeeded`、`provider_status=active`、gateway completion `200` + - `minimax-53hk`:`batch_status=succeeded`、`provider_status=active`、gateway completion `200` + - 但它们在 OpenClaw 里暴露的是公网 provider 别名(`tksea-gpt` / `tksea-minimax`),不是直接用 pack 内的 `provider_id` + ## 统计口径 ### 状态定义 @@ -60,6 +67,11 @@ - host `/v1/models` 与 `/v1/chat/completions` 均通过 - upstream `/chat/completions` 也通过 +- `PARTIAL` + - import / host `/v1/models` / host `/v1/chat/completions` 已通过 + - 但 provider 仍存在 account probe、upstream model catalog 或 manifest 映射层偏差 + - 当前不能写成 fully active + - `BLOCKED_BY_KEY` - 没有官方 key,无法开始 live 验收 @@ -68,30 +80,30 @@ ## A. 已内置的 10 个官方 provider 模板 -| 分类 | provider_id | 官方 base_url | smoke_test_model | 模板状态 | 本机官方 key | live 验收状态 | 当前结论 | -|---|---|---|---|---|---|---|---| -| 通义千问 | `qwen-official` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen-plus` | 已就绪 | 未发现 `DASHSCOPE_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | -| 通义千问 Coder | `qwen-coder-official` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen3-coder-plus` | 已就绪 | 未发现 `DASHSCOPE_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | -| DeepSeek Chat | `deepseek-chat-official` | `https://api.deepseek.com/v1` | `deepseek-chat` | 已就绪 | 未发现官方 DeepSeek key;仅有中转 key | 未开始 | `BLOCKED_BY_KEY` | -| DeepSeek Reasoner | `deepseek-reasoner-official` | `https://api.deepseek.com/v1` | `deepseek-reasoner` | 已就绪 | 未发现官方 DeepSeek key;仅有中转 key | 未开始 | `BLOCKED_BY_KEY` | -| 智谱 GLM 5.1 | `glm-5-1-official` | `https://open.bigmodel.cn/api/paas/v4` | `glm-5.1` | 已就绪 | 未发现 `ZHIPU_API_KEY`/`BIGMODEL_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | -| 智谱 GLM 4.7 | `glm-4-7-official` | `https://open.bigmodel.cn/api/paas/v4` | `glm-4.7` | 已就绪 | 未发现 `ZHIPU_API_KEY`/`BIGMODEL_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | -| Kimi K2.5 | `kimi-k2-5-official` | `https://api.moonshot.cn/v1` | `kimi-k2.5` | 已就绪 | 未发现 `MOONSHOT_API_KEY`;仅有中转 `XUANSUAN_KIMI_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | -| Kimi K2 Thinking | `kimi-k2-thinking-official` | `https://api.moonshot.cn/v1` | `kimi-k2-thinking` | 已就绪 | 未发现 `MOONSHOT_API_KEY`;仅有中转 `XUANSUAN_KIMI_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | -| MiniMax M2.7 | `minimax-m2-7-official` | `https://api.minimaxi.com/v1` | `MiniMax-M2.7-highspeed` | 已就绪 | 已发现 `MINIMAX_CN_API_KEY` | 已完成 | `BLOCKED_BY_QUOTA` | -| Step 3.5 Flash | `step-3-5-flash-official` | `https://api.stepfun.com/v1` | `step-3.5-flash` | 已就绪 | 未发现 `STEP_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | +| 分类 | provider_id | 官方 base_url | smoke_test_model | 模板状态 | 本机官方 key | live 验收状态 | 当前结论 | +| ----------------- | ---------------------------- | --------------------------------------------------- | ------------------------ | -------- | ----------------------------------------------------------- | ------------------ | ------------------ | +| 通义千问 | `qwen-official` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen-plus` | 已就绪 | 未发现 `DASHSCOPE_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | +| 通义千问 Coder | `qwen-coder-official` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen3-coder-plus` | 已就绪 | 未发现 `DASHSCOPE_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | +| DeepSeek Chat | `deepseek-chat-official` | `https://api.deepseek.com/v1` | `deepseek-chat` | 已就绪 | 已发现可跑 live 的 DeepSeek 官方 key | 已完成(部分成功) | `PARTIAL` | +| DeepSeek Reasoner | `deepseek-reasoner-official` | `https://api.deepseek.com/v1` | `deepseek-reasoner` | 已就绪 | 未发现可验证的官方 key | 未开始 | `BLOCKED_BY_KEY` | +| 智谱 GLM 5.1 | `glm-5-1-official` | `https://open.bigmodel.cn/api/paas/v4` | `glm-5.1` | 已就绪 | 未发现 `ZHIPU_API_KEY`/`BIGMODEL_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | +| 智谱 GLM 4.7 | `glm-4-7-official` | `https://open.bigmodel.cn/api/paas/v4` | `glm-4.7` | 已就绪 | 未发现 `ZHIPU_API_KEY`/`BIGMODEL_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | +| Kimi K2.5 | `kimi-k2-5-official` | `https://api.moonshot.cn/v1` | `kimi-k2.5` | 已就绪 | 未发现 `MOONSHOT_API_KEY`;仅有中转 `XUANSUAN_KIMI_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | +| Kimi K2 Thinking | `kimi-k2-thinking-official` | `https://api.moonshot.cn/v1` | `kimi-k2-thinking` | 已就绪 | 未发现 `MOONSHOT_API_KEY`;仅有中转 `XUANSUAN_KIMI_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | +| MiniMax M2.7 | `minimax-m2-7-official` | `https://api.minimaxi.com/v1` | `MiniMax-M2.7-highspeed` | 已就绪 | 已发现 `MINIMAX_CN_API_KEY` | 已完成 | `BLOCKED_BY_QUOTA` | +| Step 3.5 Flash | `step-3-5-flash-official` | `https://api.stepfun.com/v1` | `step-3.5-flash` | 已就绪 | 未发现 `STEP_API_KEY` | 未开始 | `BLOCKED_BY_KEY` | ## B. 官方模板外的优先扩展厂商 这些更接近你说的“六小龙 + BAT + 小米等”的完整矩阵,但当前仓库里还没有正式 provider 模板,或者没有本机 key: -| 厂商/路线 | 当前模板状态 | 当前 key 状态 | 建议动作 | -|---|---|---|---| -| 腾讯混元官方 | 未落模板 | 未发现官方 key | 先补模板,再补 `HUNYUAN` / 腾讯云对应 key | -| 豆包 / 火山方舟官方 | 未落模板 | 未发现官方 key | 先补模板,再补 `ARK` / `VOLCENGINE_API_KEY` | -| 百川官方 | 未落模板 | 未发现官方 key | 先补模板,再补官方 key | -| 零一万物 Yi 官方 | 未落模板 | 未发现官方 key | 先补模板,再补官方 key | -| 小米 MiMo 官方 | 未落模板 | 未发现 `XIAOMI_API_KEY` | 先补模板,再补官方 key | +| 厂商/路线 | 当前模板状态 | 当前 key 状态 | 建议动作 | +| ------------------- | ------------ | ----------------------- | ------------------------------------------- | +| 腾讯混元官方 | 未落模板 | 未发现官方 key | 先补模板,再补 `HUNYUAN` / 腾讯云对应 key | +| 豆包 / 火山方舟官方 | 未落模板 | 未发现官方 key | 先补模板,再补 `ARK` / `VOLCENGINE_API_KEY` | +| 百川官方 | 未落模板 | 未发现官方 key | 先补模板,再补官方 key | +| 零一万物 Yi 官方 | 未落模板 | 未发现官方 key | 先补模板,再补官方 key | +| 小米 MiMo 官方 | 未落模板 | 未发现 `XIAOMI_API_KEY` | 先补模板,再补官方 key | 说明: @@ -99,6 +111,18 @@ - 只代表这轮仓库里还没有为它们建立正式 provider manifest - 一旦补模板,后续导入路径仍然可以复用当前 pack 驱动模式 +## B1. 已落地的中转 / 非官方高频模板 + +| 路线 | provider_id | base_url | smoke_test_model | remote43 latest 状态 | OpenClaw 口径 | 当前结论 | +| ----------------- | ------------------- | ------------------------- | ------------------------ | ----------------------------------------- | ----------------------------------------------------------------- | -------- | +| OpenAI 中转 | `openai-zhongzhuan` | `https://api.asxs.top/v1` | `gpt-5.4` | `succeeded / active / subscription_ready` | 通过 `tksea-gpt` 暴露 | `PASS` | +| MiniMax 53hk 中转 | `minimax-53hk` | `https://api.53hk.cn/v1` | `MiniMax-M2.7-highspeed` | `succeeded / active / subscription_ready` | 通过 `tksea-minimax` 暴露;本机也保留 `minimax53hk` 直连 provider | `PASS` | + +说明: + +- 这两条路线都不是“官方 provider 模板”统计口径的一部分。 +- 但它们已经有 2026-05-26 的 remote43 latest artifact,可作为当前最强的中转线路验收证据。 + ## C. 当前已确认的本机凭据盘点 ### 已确认存在的厂商环境变量 @@ -118,7 +142,8 @@ 它们只能说明: 1. 本机至少存在 MiniMax / Kimi 中转 / DeepSeek 中转路线 -2. 不代表对应**官方** provider 已有可跑 live 的 key +2. 当前 DeepSeek 官方 live artifact 也说明:至少存在一把可跑到 upstream `/chat/completions=200` 的官方 DeepSeek key +3. 但这不等于 OpenClaw 本地已配置对应的 `deepseek-official` auth profile ### 当前缺失的官方 key 信号 @@ -172,6 +197,66 @@ - live 验收已开始并已拿到真实结论 - 当前状态:`BLOCKED_BY_QUOTA` +### DeepSeek Chat 官方 + +本轮已实际执行: + +- provider:`deepseek-chat-official` +- artifact: + - `artifacts/real-host-acceptance/20260526_155810_remote43_deepseek_chat_official_multi_model_rootprep` + +关键结论: + +1. host `/v1/models` 已通过,且命中 `deepseek-chat` +2. host `/v1/chat/completions` 已通过,`completion_status=200` +3. upstream `/chat/completions` 已通过,`upstream_chat_status=200` +4. 但 upstream `/models` 返回的是 `deepseek-v4-flash` / `deepseek-v4-pro`,不是 manifest 里的 `deepseek-chat` +5. batch detail 里 account probe 仍记录 `API returned 404:`,导致该批次最终落成 `partially_succeeded` / `degraded` + +所以当前真实状态不是 `BLOCKED_BY_KEY`,而是: + +- 数据面已经通 +- provider 口径仍需继续校准 upstream model alias / account probe 语义 +- 当前状态:`PARTIAL` + +证据: + +- [21-summary.json](/home/long/project/sub2api-cn-relay-manager/artifacts/real-host-acceptance/20260526_155810_remote43_deepseek_chat_official_multi_model_rootprep/21-summary.json:1) +- [03-import.body.json](/home/long/project/sub2api-cn-relay-manager/artifacts/real-host-acceptance/20260526_155810_remote43_deepseek_chat_official_multi_model_rootprep/03-import.body.json:1) +- [16-batch-detail-final.json](/home/long/project/sub2api-cn-relay-manager/artifacts/real-host-acceptance/20260526_155810_remote43_deepseek_chat_official_multi_model_rootprep/16-batch-detail-final.json:1) +- [18-upstream-models.body.json](/home/long/project/sub2api-cn-relay-manager/artifacts/real-host-acceptance/20260526_155810_remote43_deepseek_chat_official_multi_model_rootprep/18-upstream-models.body.json:1) + +## D1. 已完成的中转 live 验收 + +### OpenAI 中转 + +- provider:`openai-zhongzhuan` +- artifact: + - `artifacts/real-host-acceptance/20260526_155548_remote43_openai_zhongzhuan_multi_model_rootprep` + +关键结论: + +1. `batch_status=succeeded` +2. `provider_status=active` +3. gateway `/v1/models` 返回 `gpt-5.4` / `gpt-5.4-mini` +4. gateway `/v1/chat/completions` 返回 `200` +5. upstream `/models` 命中预期模型集合 +6. upstream `/chat/completions` 当前为 `502`,但不影响 host 主链路已经 ready + +### MiniMax 53hk 中转 + +- provider:`minimax-53hk` +- artifact: + - `artifacts/real-host-acceptance/20260526_155705_remote43_minimax53hk_multi_model_rootprep` + +关键结论: + +1. `batch_status=succeeded` +2. `provider_status=active` +3. gateway `/v1/models` 返回 `MiniMax-M2.5-highspeed` / `MiniMax-M2.7-highspeed` +4. gateway `/v1/chat/completions` 返回 `200` +5. upstream `/models` 与 `/chat/completions` 也都是 `200` + ## E. 为什么 Qwen 还没法“直接宣称已验证通过” `qwen-official` 模板已经存在,后续导入命令也已经标准化;但当前仍缺一条关键前提: @@ -187,7 +272,23 @@ 这和“控制面不支持 Qwen”不是一回事。 -## F. 推荐执行顺序 +## F. OpenClaw 本地验收映射说明 + +remote43 import 通过后,OpenClaw 本地不是直接使用 pack 里的 `provider_id`,而是使用公网根域名下已经配置好的最终 provider 别名: + +- `openai-zhongzhuan` → `tksea-gpt` +- `minimax-53hk` → `tksea-minimax` +- `deepseek-chat-official` → `deepseek-official` + +截至本轮直接实测: + +- `openclaw infer model run --local --model "tksea-gpt/gpt-5.4" ...` ✅ PASS +- `openclaw infer model run --local --model "tksea-minimax/MiniMax-M2.7-highspeed" ...` ✅ PASS +- `openclaw infer model run --model "deepseek-official/deepseek-chat" --prompt 'Reply with exactly OK' --json` ✅ PASS(已补齐 `deepseek-official:manual` auth profile) + +因此 `deepseek-chat-official` 的**本机 OpenClaw 最后一跳**已经打通;剩余待重新落 artifact 的,只是 remote43 real-host import 状态从旧的 `PARTIAL` 证据刷新为新一轮 `GREEN` 证据。 + +## G. 推荐执行顺序 如果目标是把“六小龙 + BAT + 小米等”逐个真实收口,建议按下面顺序继续: @@ -208,7 +309,7 @@ - Kimi 官方 - GLM 官方 - Step 官方 - - DeepSeek 官方 + - DeepSeek 官方别名 / auth profile 收口后复验 - MiniMax 官方复验(换一把非限流 key) 4. 第二梯队扩模板 @@ -218,32 +319,37 @@ - Yi - 小米 MiMo -## G. 当前最短闭环 +## H. 当前最短闭环 如果你要最快把这份矩阵往前推进一格,最有效的不是继续改代码,而是: 1. 给我 `DASHSCOPE_API_KEY` - 我先把 `qwen-official` 跑成第一条 Qwen 官方 live artifact -2. 再给我 `MOONSHOT_API_KEY` 与 `ZHIPU_API_KEY` +2. 给我 `MOONSHOT_API_KEY` 与 `ZHIPU_API_KEY` - 我可以继续把 Kimi / GLM 官方路线逐个跑出来 3. 对 MiniMax 官方 - 当前不需要改模板 - 只需要换一把有真实 completion 配额的 key 再复验 -## H. 一句话结论 +4. 对 DeepSeek 官方 + - 不需要再证明 gateway completion 可用 + - 优先修正 upstream model alias / account probe 语义,并补本机 OpenClaw provider/auth profile 后再做最后一跳验收 + +## I. 一句话结论 当前仓库已经进入: -- **“官方 provider 模板成批就绪”** 阶段 +- **“官方 provider 模板成批就绪 + 两条高频中转线路已完成 remote43 latest 验收”** 阶段 但还没有进入: -- **“国内主流官方模型已逐个 live 验收通过”** 阶段 +- **“国内主流官方模型已逐个 live 验收通过,且本机 OpenClaw 全部可直接消费”** 阶段 剩余主阻断是: 1. 官方 key 不齐 2. 个别官方 key 有真实 quota / rate-limit 限制 -3. 第二梯队厂商模板尚未补齐 +3. DeepSeek 官方 alias/probe 语义仍需用 fresh remote43 artifact 再落一次真证据 +4. 官方 key 与个别官方 quota / rate-limit 仍会阻断其他 provider