docs: sync deepseek official remote43 validation truth
This commit is contained in:
@@ -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`
|
||||
|
||||
Reference in New Issue
Block a user