当前 AI 服务商 Base URL 只接受 HTTPS,管理员无法接入仅提供 HTTP 的 OpenAI 兼容接口。用户已明确要求同时兼容 HTTP 和 HTTPS,并且不增加新的配置项。
http://
https://
allowed_hosts
admin/service/ai_config.go
admin/service/ai_config_test.go
admin/templates/ai/list.html
docs/admin/02-architecture.md
docs/admin/03-data-model.md
从 admin/ 执行:
admin/
$env:GOTOOLCHAIN="go1.23.0" go test ./service -count=1 go build ./... go test ./... -count=1 go vet ./... Remove-Item Env:GOTOOLCHAIN
测试使用本机临时 HTTP 服务并通过现有测试级 allowed_hosts 放行,不连接真实模型、不使用真实 API Key。
1e0b7ad
557c996
docs/task/223-Admin-AI服务商BaseURL兼容HTTP.md
状态:进行中
已完成实现与自动化验证:
AIEndpointPolicy.ValidateSyntax
验证通过:
$env:GOTOOLCHAIN="go1.23.0" go test ./service -run 'TestAIEndpointPolicy|TestSafeAIHTTPClient|TestCallAIHealthCheck' -count=1 go build ./... go test ./... -count=1 go vet ./... go test ./handler/web ./service -count=1
未连接真实 HTTP 模型服务,未使用真实 API Key,未进行浏览器 1366×768 人工视觉验收。
实现完成,等待用户验收。
工单保持打开,待用户明确验收后再关闭并同步 #199、#200、#14。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
当前 AI 服务商 Base URL 只接受 HTTPS,管理员无法接入仅提供 HTTP 的 OpenAI 兼容接口。用户已明确要求同时兼容 HTTP 和 HTTPS,并且不增加新的配置项。
做什么 / 不做什么
http://和https://。allowed_hosts控制。怎么���
admin/service/ai_config.go,把协议校验从仅 HTTPS 改为明确允许 HTTP/HTTPS,其他校验顺序和规则保持不变。admin/service/ai_config_test.go,覆盖公网 HTTP/HTTPS、非法协议、两种协议下的危险地址,以及经现有allowed_hosts放行的本机 HTTP 测试服务调用。admin/templates/ai/list.html的 Base URL 输入提示。docs/admin/02-architecture.md、docs/admin/03-data-model.md中的协议口径。验收标准
怎么验证
从
admin/执行:测试使用本机临时 HTTP 服务并通过现有测试级
allowed_hosts放行,不连接真实模型、不使用真实 API Key。风险和回退
实施记录(2026-08-14)
1e0b7ad。557c996。docs/task/223-Admin-AI服务商BaseURL兼容HTTP.md。状态:进行中
已完成实现与自动化验证:
AIEndpointPolicy.ValidateSyntax改为明确接受 HTTP/HTTPS,拒绝其他协议;两种协议继续共用 URL 凭据、查询参数、片段、私网/回环/元数据限制。allowed_hosts同时适用于私有 HTTP/HTTPS,没有新增配置项。验证通过:
未连接真实 HTTP 模型服务,未使用真实 API Key,未进行浏览器 1366×768 人工视觉验收。
实现完成,等待用户验收。
1e0b7adfeat: AI 服务商接口兼容 HTTP (#223)557c996docs: 归档任务 #223docs/task/223-Admin-AI服务商BaseURL兼容HTTP.md工单保持打开,待用户明确验收后再关闭并同步 #199、#200、#14。