feat(control-plane): harden host-scoped reconcile and acceptance evidence

- add batch-scoped reconcile_runs persistence and queries
- route batch detail and reconcile writes through batch_id/host_id
- refresh production boards with host-scope acceptance artifacts
- include latest real-host acceptance evidence for self_service and subscription
This commit is contained in:
phamnazage-jpg
2026-05-18 22:22:22 +08:00
parent 71cbaf5fa6
commit 85d495dd16
332 changed files with 5561 additions and 422 deletions

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:8080/api/hosts"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:8080/api/hosts/prod-sub2api/probe"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:8080/api/packs/install"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:8080/api/providers/deepseek/preview-import"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:8080/api/providers/deepseek/import"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:8080/api/providers/deepseek/access/preview"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"GET","url":"http://127.0.0.1:8080/api/providers/deepseek/access/status"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"GET","url":"http://127.0.0.1:8080/api/providers/deepseek/status"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:8080/api/providers/deepseek/reconcile"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/hosts"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/hosts/local-sub2api/probe"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/packs/install"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/preview-import"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/import"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/access/preview"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"GET","url":"http://127.0.0.1:18081/api/providers/deepseek/access/status"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"GET","url":"http://127.0.0.1:18081/api/providers/deepseek/status"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/reconcile"}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":false,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/hosts"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/hosts/local-sub2api/probe"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/packs/install"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/preview-import"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/import"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/access/preview"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"GET","url":"http://127.0.0.1:18081/api/providers/deepseek/access/status"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"GET","url":"http://127.0.0.1:18081/api/providers/deepseek/status"}

View File

@@ -0,0 +1 @@
{"dry_run":true,"method":"POST","url":"http://127.0.0.1:18081/api/providers/deepseek/reconcile"}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":true,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":true,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"create","Suggested":"crm-deepseek-channel","ExistingID":"","Reason":""},"group":{"Action":"create","Suggested":"crm-deepseek-group","ExistingID":"","Reason":""},"plan":{"Action":"create","Suggested":"crm-deepseek-plan","ExistingID":"","Reason":""}},"names":{"Group":"crm-deepseek-group","Channel":"crm-deepseek-channel","Plan":"crm-deepseek-plan"}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":false,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"},{"display_name":"MiniMax OpenAI Compatible","provider_id":"minimax"},{"display_name":"OpenAI 中转兼容","provider_id":"openai-zhongzhuan"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"create","Suggested":"OpenAI 中转默认渠道","ExistingID":"","Reason":""},"group":{"Action":"reuse","Suggested":"OpenAI 中转默认分组","ExistingID":"18","Reason":"matching managed resource already exists"},"plan":{"Action":"create","Suggested":"OpenAI 中转默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"OpenAI 中转默认分组","Channel":"OpenAI 中转默认渠道","Plan":"OpenAI 中转默认套餐"}}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"access_status":"broken","accounts_count":1,"batch_id":1,"batch_status":"partially_succeeded","channel":{"id":"10","name":"OpenAI 中转默认渠道"},"gateway":{"ok":false,"status_code":403,"models":null,"has_expected_model":false},"group":{"id":"18","name":"OpenAI 中转默认分组"},"plan":null,"provider_status":"degraded"}

View File

@@ -0,0 +1 @@
{"provider_id":"openai-zhongzhuan","mode":"self_service","available":false,"message":"access status broken does not satisfy mode self_service"}

View File

@@ -0,0 +1 @@
{"batch_access_status":"broken","batch_id":1,"closures_count":1,"latest_access_status":"broken","latest_closure":{"closure_type":"self_service","details_json":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}","id":1,"status":"broken"},"pack_id":"openai-cn-pack","provider_id":"openai-zhongzhuan"}

View File

@@ -0,0 +1 @@
{"access_closures_count":1,"batch":{"access_status":"broken","batch_status":"partially_succeeded","id":1,"mode":"partial"},"host":{"base_url":"http://127.0.0.1:18080","host_id":"http://127.0.0.1:18080","host_version":"0.1.126"},"latest_access_status":"broken","latest_reconcile_status":"not_run","latest_reconcile_summary":{},"managed_resources_count":3,"pack":{"pack_id":"openai-cn-pack","version":"1.0.0"},"provider":{"display_name":"OpenAI 中转兼容","platform":"openai","provider_id":"openai-zhongzhuan"},"provider_status":"partially_succeeded","reconcile_runs_count":0}

View File

@@ -0,0 +1 @@
{"batch_id":1,"extra_count":11,"missing_count":0,"provider_id":"openai-zhongzhuan","status":"drifted","summary":{"access_rechecked":true,"access_status":"broken","extra_count":11,"host_version":"0.1.126","missing_count":0,"probe_failures":0}}

View File

@@ -0,0 +1 @@
{"access_closures":[{"ID":1,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}"},{"ID":2,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"reconcile_rerun\":true,\"status_code\":403}"}],"access_count":2,"batch":{"access_status":"broken","batch_status":"partially_succeeded","host_id":2,"id":1,"mode":"partial","pack_id":1,"provider_id":3},"items":[{"account_status":"passed","batch_id":1,"id":1,"key_fingerprint":"sha256:fbd0fe64bde9bf5e4fbc1b648540139ae34473dbdd07905a72b1e90970bddce5","probe_summary_json":"{\"account_id\":\"20\",\"models\":[{\"id\":\"gpt-5.5\",\"display_name\":\"GPT-5.5\",\"type\":\"model\"},{\"id\":\"gpt-5.4\",\"display_name\":\"GPT-5.4\",\"type\":\"model\"},{\"id\":\"gpt-5.4-mini\",\"display_name\":\"GPT-5.4 Mini\",\"type\":\"model\"},{\"id\":\"gpt-5.3-codex\",\"display_name\":\"GPT-5.3 Codex\",\"type\":\"model\"},{\"id\":\"gpt-5.3-codex-spark\",\"display_name\":\"GPT-5.3 Codex Spark\",\"type\":\"model\"},{\"id\":\"gpt-5.2\",\"display_name\":\"GPT-5.2\",\"type\":\"model\"},{\"id\":\"gpt-image-1\",\"display_name\":\"GPT Image 1\",\"type\":\"model\"},{\"id\":\"gpt-image-1.5\",\"display_name\":\"GPT Image 1.5\",\"type\":\"model\"},{\"id\":\"gpt-image-2\",\"display_name\":\"GPT Image 2\",\"type\":\"model\"}],\"probe_message\":\"\",\"probe_ok\":true,\"probe_status\":\"passed\",\"reconcile_rerun\":true,\"smoke_model_seen\":true}"}],"items_count":1,"managed_count":3,"managed_resources":[{"ID":1,"BatchID":1,"ResourceType":"group","HostResourceID":"18","ResourceName":"OpenAI 中转默认分组"},{"ID":2,"BatchID":1,"ResourceType":"channel","HostResourceID":"10","ResourceName":"OpenAI 中转默认渠道"},{"ID":3,"BatchID":1,"ResourceType":"account","HostResourceID":"20","ResourceName":"openai-zhongzhuan-01"}],"reconcile_count":1,"reconcile_runs":[{"ID":1,"ProviderID":3,"Status":"drifted","SummaryJSON":"{\"access_rechecked\":true,\"access_status\":\"broken\",\"extra_count\":11,\"host_version\":\"0.1.126\",\"missing_count\":0,\"probe_failures\":0}"}]}

View File

@@ -0,0 +1 @@
{"batch_id":1,"deleted_accounts":1,"deleted_channels":1,"deleted_groups":1,"deleted_plans":0}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":false,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"create","Suggested":"DeepSeek 默认渠道","ExistingID":"","Reason":""},"group":{"Action":"create","Suggested":"DeepSeek 默认分组","ExistingID":"","Reason":""},"plan":{"Action":"create","Suggested":"DeepSeek 默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"DeepSeek 默认分组","Channel":"DeepSeek 默认渠道","Plan":"DeepSeek 默认套餐"}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":true,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"create","Suggested":"DeepSeek 默认渠道","ExistingID":"","Reason":""},"group":{"Action":"reuse","Suggested":"DeepSeek 默认分组","ExistingID":"2","Reason":"matching managed resource already exists"},"plan":{"Action":"create","Suggested":"DeepSeek 默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"DeepSeek 默认分组","Channel":"DeepSeek 默认渠道","Plan":"DeepSeek 默认套餐"}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":true,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"create","Suggested":"DeepSeek 默认渠道","ExistingID":"","Reason":""},"group":{"Action":"reuse","Suggested":"DeepSeek 默认分组","ExistingID":"2","Reason":"matching managed resource already exists"},"plan":{"Action":"create","Suggested":"DeepSeek 默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"DeepSeek 默认分组","Channel":"DeepSeek 默认渠道","Plan":"DeepSeek 默认套餐"}}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"access_status":"broken","accounts_count":0,"batch_id":4,"batch_status":"partially_succeeded","channel":{"id":"1","name":"DeepSeek 默认渠道"},"gateway":{"ok":false,"status_code":403,"models":null,"has_expected_model":false},"group":{"id":"2","name":"DeepSeek 默认分组"},"plan":null,"provider_status":"degraded"}

View File

@@ -0,0 +1 @@
{"provider_id":"deepseek","mode":"self_service","available":false,"message":"access status broken does not satisfy mode self_service"}

View File

@@ -0,0 +1 @@
{"batch_access_status":"broken","batch_id":4,"closures_count":1,"latest_access_status":"broken","latest_closure":{"closure_type":"self_service","details_json":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}","id":4,"status":"broken"},"pack_id":"openai-cn-pack","provider_id":"deepseek"}

View File

@@ -0,0 +1 @@
{"access_closures_count":1,"batch":{"access_status":"broken","batch_status":"partially_succeeded","id":4,"mode":"partial"},"host":{"base_url":"http://127.0.0.1:18080","host_id":"http://127.0.0.1:18080","host_version":"0.1.126"},"latest_access_status":"broken","latest_reconcile_status":"not_run","latest_reconcile_summary":{},"managed_resources_count":2,"pack":{"pack_id":"openai-cn-pack","version":"1.0.0"},"provider":{"display_name":"DeepSeek OpenAI Compatible","platform":"openai","provider_id":"deepseek"},"provider_status":"partially_succeeded","reconcile_runs_count":0}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":true,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"reuse","Suggested":"DeepSeek 默认渠道","ExistingID":"1","Reason":"matching managed resource already exists"},"group":{"Action":"reuse","Suggested":"DeepSeek 默认分组","ExistingID":"2","Reason":"matching managed resource already exists"},"plan":{"Action":"create","Suggested":"DeepSeek 默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"DeepSeek 默认分组","Channel":"DeepSeek 默认渠道","Plan":"DeepSeek 默认套餐"}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":false,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"reuse","Suggested":"DeepSeek 默认渠道","ExistingID":"1","Reason":"matching managed resource already exists"},"group":{"Action":"reuse","Suggested":"DeepSeek 默认分组","ExistingID":"2","Reason":"matching managed resource already exists"},"plan":{"Action":"create","Suggested":"DeepSeek 默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"DeepSeek 默认分组","Channel":"DeepSeek 默认渠道","Plan":"DeepSeek 默认套餐"}}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"access_status":"broken","accounts_count":0,"batch_id":1,"batch_status":"partially_succeeded","channel":{"id":"1","name":"DeepSeek 默认渠道"},"gateway":{"ok":false,"status_code":403,"models":null,"has_expected_model":false},"group":{"id":"2","name":"DeepSeek 默认分组"},"plan":null,"provider_status":"degraded"}

View File

@@ -0,0 +1 @@
{"provider_id":"deepseek","mode":"self_service","available":false,"message":"access status broken does not satisfy mode self_service"}

View File

@@ -0,0 +1 @@
{"batch_access_status":"broken","batch_id":1,"closures_count":1,"latest_access_status":"broken","latest_closure":{"closure_type":"self_service","details_json":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}","id":1,"status":"broken"},"pack_id":"openai-cn-pack","provider_id":"deepseek"}

View File

@@ -0,0 +1 @@
{"access_closures_count":1,"batch":{"access_status":"broken","batch_status":"partially_succeeded","id":1,"mode":"partial"},"host":{"base_url":"http://127.0.0.1:18080","host_id":"http://127.0.0.1:18080","host_version":"0.1.126"},"latest_access_status":"broken","latest_reconcile_status":"not_run","latest_reconcile_summary":{},"managed_resources_count":2,"pack":{"pack_id":"openai-cn-pack","version":"1.0.0"},"provider":{"display_name":"DeepSeek OpenAI Compatible","platform":"openai","provider_id":"deepseek"},"provider_status":"partially_succeeded","reconcile_runs_count":0}

View File

@@ -0,0 +1 @@
{"batch_id":1,"extra_count":4,"missing_count":0,"provider_id":"deepseek","status":"drifted","summary":{"access_rechecked":true,"access_status":"broken","extra_count":4,"host_version":"0.1.126","missing_count":0,"probe_failures":0}}

View File

@@ -0,0 +1 @@
{"access_closures":[{"ID":1,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}"},{"ID":2,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"reconcile_rerun\":true,\"status_code\":403}"}],"access_count":2,"batch":{"access_status":"broken","batch_status":"partially_succeeded","host_id":2,"id":1,"mode":"partial","pack_id":1,"provider_id":1},"items":[],"items_count":0,"managed_count":2,"managed_resources":[{"ID":1,"BatchID":1,"ResourceType":"group","HostResourceID":"2","ResourceName":"DeepSeek 默认分组"},{"ID":2,"BatchID":1,"ResourceType":"channel","HostResourceID":"1","ResourceName":"DeepSeek 默认渠道"}],"reconcile_count":1,"reconcile_runs":[{"ID":1,"ProviderID":1,"Status":"drifted","SummaryJSON":"{\"access_rechecked\":true,\"access_status\":\"broken\",\"extra_count\":4,\"host_version\":\"0.1.126\",\"missing_count\":0,\"probe_failures\":0}"}]}

View File

@@ -0,0 +1 @@
{"batch_id":1,"deleted_accounts":0,"deleted_channels":1,"deleted_groups":1,"deleted_plans":0}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":false,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"create","Suggested":"DeepSeek 默认渠道","ExistingID":"","Reason":""},"group":{"Action":"create","Suggested":"DeepSeek 默认分组","ExistingID":"","Reason":""},"plan":{"Action":"create","Suggested":"DeepSeek 默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"DeepSeek 默认分组","Channel":"DeepSeek 默认渠道","Plan":"DeepSeek 默认套餐"}}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"access_status":"broken","accounts_count":1,"batch_id":1,"batch_status":"partially_succeeded","channel":{"id":"2","name":"DeepSeek 默认渠道"},"gateway":{"ok":false,"status_code":403,"models":null,"has_expected_model":false},"group":{"id":"3","name":"DeepSeek 默认分组"},"plan":null,"provider_status":"degraded"}

View File

@@ -0,0 +1 @@
{"provider_id":"deepseek","mode":"self_service","available":false,"message":"access status broken does not satisfy mode self_service"}

View File

@@ -0,0 +1 @@
{"batch_access_status":"broken","batch_id":1,"closures_count":1,"latest_access_status":"broken","latest_closure":{"closure_type":"self_service","details_json":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}","id":1,"status":"broken"},"pack_id":"openai-cn-pack","provider_id":"deepseek"}

View File

@@ -0,0 +1 @@
{"access_closures_count":1,"batch":{"access_status":"broken","batch_status":"partially_succeeded","id":1,"mode":"partial"},"host":{"base_url":"http://127.0.0.1:18080","host_id":"http://127.0.0.1:18080","host_version":"0.1.126"},"latest_access_status":"broken","latest_reconcile_status":"not_run","latest_reconcile_summary":{},"managed_resources_count":3,"pack":{"pack_id":"openai-cn-pack","version":"1.0.0"},"provider":{"display_name":"DeepSeek OpenAI Compatible","platform":"openai","provider_id":"deepseek"},"provider_status":"partially_succeeded","reconcile_runs_count":0}

View File

@@ -0,0 +1 @@
{"batch_id":1,"extra_count":5,"missing_count":0,"provider_id":"deepseek","status":"drifted","summary":{"access_rechecked":true,"access_status":"broken","extra_count":5,"host_version":"0.1.126","missing_count":0,"probe_failures":1}}

View File

@@ -0,0 +1 @@
{"access_closures":[{"ID":1,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}"},{"ID":2,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"reconcile_rerun\":true,\"status_code\":403}"}],"access_count":2,"batch":{"access_status":"broken","batch_status":"partially_succeeded","host_id":2,"id":1,"mode":"partial","pack_id":1,"provider_id":1},"items":[{"account_status":"failed","batch_id":1,"id":1,"key_fingerprint":"sha256:555499e31601143d6c6e8dde8ee68266615cea97e4f3d1dbe9495bd070aaf8d6","probe_summary_json":"{\"account_id\":\"6\",\"models\":[{\"id\":\"gpt-5.5\",\"display_name\":\"GPT-5.5\",\"type\":\"model\"},{\"id\":\"gpt-5.4\",\"display_name\":\"GPT-5.4\",\"type\":\"model\"},{\"id\":\"gpt-5.4-mini\",\"display_name\":\"GPT-5.4 Mini\",\"type\":\"model\"},{\"id\":\"gpt-5.3-codex\",\"display_name\":\"GPT-5.3 Codex\",\"type\":\"model\"},{\"id\":\"gpt-5.3-codex-spark\",\"display_name\":\"GPT-5.3 Codex Spark\",\"type\":\"model\"},{\"id\":\"gpt-5.2\",\"display_name\":\"GPT-5.2\",\"type\":\"model\"},{\"id\":\"gpt-image-1\",\"display_name\":\"GPT Image 1\",\"type\":\"model\"},{\"id\":\"gpt-image-1.5\",\"display_name\":\"GPT Image 1.5\",\"type\":\"model\"},{\"id\":\"gpt-image-2\",\"display_name\":\"GPT Image 2\",\"type\":\"model\"}],\"probe_message\":\"\",\"probe_ok\":false,\"probe_status\":\"failed\",\"reconcile_rerun\":true,\"smoke_model_seen\":false}"}],"items_count":1,"managed_count":3,"managed_resources":[{"ID":1,"BatchID":1,"ResourceType":"group","HostResourceID":"3","ResourceName":"DeepSeek 默认分组"},{"ID":2,"BatchID":1,"ResourceType":"channel","HostResourceID":"2","ResourceName":"DeepSeek 默认渠道"},{"ID":3,"BatchID":1,"ResourceType":"account","HostResourceID":"6","ResourceName":"deepseek-01"}],"reconcile_count":1,"reconcile_runs":[{"ID":1,"ProviderID":1,"Status":"drifted","SummaryJSON":"{\"access_rechecked\":true,\"access_status\":\"broken\",\"extra_count\":5,\"host_version\":\"0.1.126\",\"missing_count\":0,\"probe_failures\":1}"}]}

View File

@@ -0,0 +1 @@
{"batch_id":1,"deleted_accounts":1,"deleted_channels":1,"deleted_groups":1,"deleted_plans":0}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"host_id":"local-sub2api","base_url":"http://127.0.0.1:18080","host_version":"0.1.126","status":"supported","capabilities":{"groups":true,"channels":true,"plans":true,"accounts":true,"account_test":true,"account_models":true,"subscriptions":true}}

View File

@@ -0,0 +1 @@
{"already_installed":false,"host_version":"0.1.126","pack_id":"openai-cn-pack","providers":[{"display_name":"DeepSeek OpenAI Compatible","provider_id":"deepseek"}],"version":"1.0.0"}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"decisions":{"channel":{"Action":"create","Suggested":"DeepSeek 默认渠道","ExistingID":"","Reason":""},"group":{"Action":"create","Suggested":"DeepSeek 默认分组","ExistingID":"","Reason":""},"plan":{"Action":"create","Suggested":"DeepSeek 默认套餐","ExistingID":"","Reason":""}},"names":{"Group":"DeepSeek 默认分组","Channel":"DeepSeek 默认渠道","Plan":"DeepSeek 默认套餐"}}

View File

@@ -0,0 +1 @@
{"accepted_keys_count":1,"access_status":"broken","accounts_count":1,"batch_id":1,"batch_status":"partially_succeeded","channel":{"id":"3","name":"DeepSeek 默认渠道"},"gateway":{"ok":false,"status_code":403,"models":null,"has_expected_model":false},"group":{"id":"4","name":"DeepSeek 默认分组"},"plan":null,"provider_status":"degraded"}

View File

@@ -0,0 +1 @@
{"provider_id":"deepseek","mode":"self_service","available":false,"message":"access status broken does not satisfy mode self_service"}

View File

@@ -0,0 +1 @@
{"batch_access_status":"broken","batch_id":1,"closures_count":1,"latest_access_status":"broken","latest_closure":{"closure_type":"self_service","details_json":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}","id":1,"status":"broken"},"pack_id":"openai-cn-pack","provider_id":"deepseek"}

View File

@@ -0,0 +1 @@
{"access_closures_count":1,"batch":{"access_status":"broken","batch_status":"partially_succeeded","id":1,"mode":"partial"},"host":{"base_url":"http://127.0.0.1:18080","host_id":"http://127.0.0.1:18080","host_version":"0.1.126"},"latest_access_status":"broken","latest_reconcile_status":"not_run","latest_reconcile_summary":{},"managed_resources_count":3,"pack":{"pack_id":"openai-cn-pack","version":"1.0.0"},"provider":{"display_name":"DeepSeek OpenAI Compatible","platform":"openai","provider_id":"deepseek"},"provider_status":"partially_succeeded","reconcile_runs_count":0}

View File

@@ -0,0 +1 @@
{"batch_id":1,"extra_count":5,"missing_count":0,"provider_id":"deepseek","status":"drifted","summary":{"access_rechecked":true,"access_status":"broken","extra_count":5,"host_version":"0.1.126","missing_count":0,"probe_failures":1}}

View File

@@ -0,0 +1 @@
{"access_closures":[{"ID":1,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"status_code\":403}"},{"ID":2,"BatchID":1,"ClosureType":"self_service","Status":"broken","DetailsJSON":"{\"has_expected_model\":false,\"models\":null,\"ok\":false,\"reconcile_rerun\":true,\"status_code\":403}"}],"access_count":2,"batch":{"access_status":"broken","batch_status":"partially_succeeded","host_id":2,"id":1,"mode":"partial","pack_id":1,"provider_id":1},"items":[{"account_status":"failed","batch_id":1,"id":1,"key_fingerprint":"sha256:555499e31601143d6c6e8dde8ee68266615cea97e4f3d1dbe9495bd070aaf8d6","probe_summary_json":"{\"account_id\":\"7\",\"models\":[{\"id\":\"gpt-5.5\",\"display_name\":\"GPT-5.5\",\"type\":\"model\"},{\"id\":\"gpt-5.4\",\"display_name\":\"GPT-5.4\",\"type\":\"model\"},{\"id\":\"gpt-5.4-mini\",\"display_name\":\"GPT-5.4 Mini\",\"type\":\"model\"},{\"id\":\"gpt-5.3-codex\",\"display_name\":\"GPT-5.3 Codex\",\"type\":\"model\"},{\"id\":\"gpt-5.3-codex-spark\",\"display_name\":\"GPT-5.3 Codex Spark\",\"type\":\"model\"},{\"id\":\"gpt-5.2\",\"display_name\":\"GPT-5.2\",\"type\":\"model\"},{\"id\":\"gpt-image-1\",\"display_name\":\"GPT Image 1\",\"type\":\"model\"},{\"id\":\"gpt-image-1.5\",\"display_name\":\"GPT Image 1.5\",\"type\":\"model\"},{\"id\":\"gpt-image-2\",\"display_name\":\"GPT Image 2\",\"type\":\"model\"}],\"probe_message\":\"\",\"probe_ok\":false,\"probe_status\":\"failed\",\"reconcile_rerun\":true,\"smoke_model_seen\":false}"}],"items_count":1,"managed_count":3,"managed_resources":[{"ID":1,"BatchID":1,"ResourceType":"group","HostResourceID":"4","ResourceName":"DeepSeek 默认分组"},{"ID":2,"BatchID":1,"ResourceType":"channel","HostResourceID":"3","ResourceName":"DeepSeek 默认渠道"},{"ID":3,"BatchID":1,"ResourceType":"account","HostResourceID":"7","ResourceName":"deepseek-01"}],"reconcile_count":1,"reconcile_runs":[{"ID":1,"ProviderID":1,"Status":"drifted","SummaryJSON":"{\"access_rechecked\":true,\"access_status\":\"broken\",\"extra_count\":5,\"host_version\":\"0.1.126\",\"missing_count\":0,\"probe_failures\":1}"}]}

Some files were not shown because too many files have changed in this diff Show More