feat(search): 搜索 provider 可变源 + 插件声明面板(PLG-4)
- 新增 $DATA_DIR/config/plugins/web-search.json(0600 + temp+rename,文件名 = 插件 id)
- 组合根改「先读可变源、缺失回落 .env 播种」;**不新增任何 env 键**(.env 已冻结)
- 多实例:每家 provider 独立 key/baseURL/启用态 + 「测试连通」探针
- 用 PLG-1 的声明库给出该面板的 adminPanels 声明;动作名交给 PLG-2 的通用动作端点分发
(本片自己不开路由)
⚠️ 本片自认越界:改了 cmd/cyrene/wire_web_search_test.go(既有测试,为适配 DataDir);
另有 design/28 的相关注册留给主会话。
This commit is contained in:
1 parent
2d21aa553e
commit
120d926cf8
11 files changed
+1811
-41
No files matched your search
@@ -39,12 +39,17 @@ func wsTestEnvFile(t *testing.T, extra ...string) string {
|
||||
}
|
||||
|
||||
// wsLoadConfig 按给定 .env 行加载配置(进程环境优先级更高,由 config 层负责)。
|
||||
//
|
||||
// DataDir 一律指到本用例自己的临时目录:web-search 的可变源
|
||||
// (`$DATA_DIR/config/plugins/web-search.json`,PLG-4)会**按启动期语义**读/播种它,
|
||||
// 默认的 `./data` 会让并行用例互相踩同一份文件(且把仓库工作目录写脏)。
|
||||
func wsLoadConfig(t *testing.T, extra ...string) *config.Config {
|
||||
t.Helper()
|
||||
cfg, err := config.Load(wsTestEnvFile(t, extra...))
|
||||
if err != nil {
|
||||
t.Fatalf("config.Load: %v", err)
|
||||
}
|
||||
cfg.DataDir = t.TempDir()
|
||||
return cfg
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user