AskaEth
c46053e276
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled
feat(admin): 搜索提供商下拉/多选/表格显示中文名(值仍是 ASCII id)
主人报障:「为什么中文搜索接口……下拉菜单里全给的英文名?你甚至不愿意带个括号
把中文名写上去」。根因不是漏写文案,而是整条链路没有「显示名」的位置:字段
声明只有 optionsFrom,候选动作回的就是 KnownNames() 的纯 id 数组。
- 后端:候选改为对象数组 {value,label};label 表与接入位表同源(键用
NameSearXNG 等常量),未知 id 原样回。value 逐字等于 KnownNames()。
- 前端:下拉/多选「显示 label、写 value」;表格单元格按 value→label 索引显示,
查不到回落显示原值。多选从裸输入框改成「候选开关 + 落盘值输入框」。
解码器本就兼容裸字符串/{value,label}/{id} 三形状 ⇒ 其他插件零影响。
中文名逐字:SearXNG 本地兜底(searxng)/ 智谱 BigModel(zhipu)/
阿里云 IQS 信息查询(aliyun_iqs)/ 博查 Bocha(bocha)/
火山引擎·豆包搜索(volcengine)/ 百度千帆 AI 搜索(baidu_qianfan)。
验收(主会话复跑 + 亲自变异):go build ./... + vet 绿;search 包测试绿;
tsc --noEmit 0 错;新渲染测试 26 checks + 既有 plugin panel 55 / data 90 /
schema values 40 / channel config 70 全绿。我用 sed 把 values.ts 的
option.value 全换成 option.label ⇒ 渲染测试红(「点选把候选项的 id 追加到
降级链末尾」got="bocha, 智谱 BigModel(zhipu)")—— 这正是会把配置文件写坏的
错法;还原后 md5 一致且绿。
⚠️ 契约面变更(我在 Docs/api-client.md 登记):plugin.providers 候选响应形状
字符串数组 → 对象数组;label 仅供显示、value 才是落盘值。
⚠️ 已知边界:viewer 角色看不到 form 区块 ⇒ 表格对 viewer 仍显示裸 id(未做)。
⚠️ 真机浏览器点击未跑(项目无 jsdom)⇒ 建议刷新管理页点一次确认观感。
2026-10-07 10:08:19 +08:00
..
2026-09-05 23:09:26 +08:00
2026-10-04 13:58:18 +08:00
2026-10-05 12:53:17 +08:00
2026-10-05 13:50:29 +08:00
2026-10-05 13:50:29 +08:00
2026-09-30 08:51:38 +08:00
2026-10-04 16:58:06 +08:00
2026-10-03 16:55:22 +08:00
2026-10-03 20:12:29 +08:00
2026-10-04 16:58:06 +08:00
2026-10-06 08:04:12 +08:00
2026-10-04 16:58:06 +08:00
2026-10-04 16:39:33 +08:00
2026-10-04 16:39:33 +08:00
2026-10-03 15:22:03 +08:00
2026-10-04 16:58:06 +08:00
2026-10-04 16:58:06 +08:00
2026-10-03 20:12:29 +08:00
2026-10-04 19:15:12 +08:00
2026-10-04 14:30:26 +08:00
2026-10-03 19:54:22 +08:00
2026-10-04 16:58:06 +08:00
2026-09-08 23:20:12 +08:00
2026-10-04 16:58:06 +08:00
2026-10-03 21:33:40 +08:00
2026-10-04 16:58:06 +08:00
2026-10-06 18:46:58 +08:00
2026-10-04 16:58:06 +08:00
2026-10-04 11:30:39 +08:00
2026-10-04 16:58:06 +08:00
2026-10-04 16:58:06 +08:00
2026-10-04 16:58:06 +08:00
2026-10-04 16:58:06 +08:00
2026-10-07 10:08:19 +08:00
2026-10-06 14:12:23 +08:00
2026-10-06 14:12:23 +08:00
2026-10-06 15:59:12 +08:00
2026-10-06 15:59:12 +08:00
2026-10-07 09:56:37 +08:00
2026-10-07 09:56:37 +08:00
2026-10-06 15:59:12 +08:00
2026-10-05 12:12:31 +08:00
2026-10-05 12:12:31 +08:00
2026-10-07 09:59:56 +08:00
2026-10-07 09:59:56 +08:00
2026-10-07 09:34:44 +08:00
2026-10-06 21:48:50 +08:00
2026-10-06 20:25:16 +08:00
2026-10-06 21:16:23 +08:00
2026-10-06 21:48:50 +08:00
2026-10-06 21:48:50 +08:00
2026-10-06 21:48:50 +08:00
2026-10-06 21:16:23 +08:00
2026-10-06 21:48:50 +08:00
2026-10-05 13:54:57 +08:00
2026-10-05 13:54:57 +08:00
2026-10-04 12:49:40 +08:00
2026-10-04 13:07:52 +08:00
2026-10-04 16:58:06 +08:00
2026-10-05 14:10:24 +08:00
2026-10-05 16:19:32 +08:00
2026-10-04 12:07:40 +08:00
2026-10-04 19:25:00 +08:00
2026-10-06 15:59:14 +08:00
2026-10-06 15:59:14 +08:00
2026-10-04 19:15:12 +08:00
2026-10-04 17:57:08 +08:00
2026-10-04 17:57:08 +08:00
2026-10-04 21:01:30 +08:00
2026-10-04 21:01:30 +08:00
2026-10-05 16:19:32 +08:00
2026-10-05 16:19:32 +08:00
2026-10-04 19:55:18 +08:00
2026-10-07 09:34:44 +08:00
2026-10-04 19:41:44 +08:00
2026-10-04 19:41:44 +08:00
2026-10-04 19:15:12 +08:00
2026-10-04 19:41:44 +08:00
2026-10-07 09:59:56 +08:00
2026-10-06 08:04:12 +08:00
2026-10-06 08:04:12 +08:00
2026-10-05 11:29:36 +08:00
2026-10-05 11:29:36 +08:00
2026-10-06 09:03:57 +08:00
2026-10-07 10:08:19 +08:00
2026-10-06 15:59:12 +08:00
2026-10-05 15:38:53 +08:00
2026-10-07 09:59:56 +08:00
2026-10-06 21:16:23 +08:00
2026-09-07 13:43:18 +08:00
2026-10-05 13:23:52 +08:00
2026-10-05 13:23:52 +08:00
2026-10-04 22:16:26 +08:00
2026-10-04 22:16:26 +08:00
2026-10-06 09:04:04 +08:00
2026-10-05 22:38:20 +08:00
2026-10-06 09:04:04 +08:00
2026-10-06 08:04:12 +08:00