给DeepSeek harness发布R107任务撰写工作
R106任务已经分发,已经完成,结果见:R106_交付报告.md。
我发现设置里面,子页面大多都没有真的配置能力,比如模型显示:模型与凭据由宿主设置服务提供;本页只产出可渲染行结构,值留空待宿主注入
内置插件也点不出细节,至少已经能列出插件列表啊!
Agent 预设
应该能查看配置啊
总之比对deepseekharness ,尤其是比对官方实现,完成配置页面和子页面的功能!
还有一些其它遗留问题,你也一并放到这一轮任务里!
你写并行任务文档,我来分发!
DeepSeek harness R107任务撰写完成
已完成,用时 9分59秒
任务书写好了:R107_并行任务_设置子页真实化.md(7 条线,可直接分发)。
先说三件我在写之前挖出来的事实------它们改变了任务书的写法
1. 三个子页缺的不是数据,是接线。 本仓早就有全套真实数据源,只是没接:
- 模型页 →
客户端.取模型目录()(4 个真实模型)、模型信息.解析模型信息()(上下文窗口/最大输出/输入模态/推理努力,正好覆盖占位行modelAdvanced)、宿主配置.light(这就是那句「宿主设置服务」 ------ 配置注册表 + 类型校验 +脱敏单值+ 快照 + 环境变量到键)、代理默认模型.light、已有的GET/POST /api/config - 插件页 →
预设组合.组合(预设)的四张插件行表(逐行对齐各自patch.yml的config.plugins,真实 id/npm 包名/组行/config/disabled条件表达式)+预设深化.展平行+工具注册表.名单() - 预设页 → 同样来自
预设组合.组合统计/预设深化
2. 模型页的占位结构本身是自造的,不只是"值留空"。 4 路上游考据的头号结论:官方没有 provider/protocol/apiKeyStatus/modelAdvanced 这套字段表,那页是手写 React 面板。真实存储 key 是 baseURL(不是 baseUrl)、api(上游根本没有 protocol 这个名字 )、apiKeyEnv;modelAdvanced 是每个模型行右侧的展开箭头 ("模型选项"),不是页面级面板。所以 A 线的任务是按上游结构重建 ,不是填值。另外还挖到一条对齐缺口:R106 把配置文档路径接成 <根>/profiles/web/<预设名>.patch.yml,而上游是 $DSH_HOME/profiles/<profile>/cordis.patch.yml,本仓 启动配置.light:42 也早有正确常量 cordis.patch.json ------ 文件名和目录分段都不对,已列为 E 线必改项。
3. 用户第 2、3 条反馈对应上游两个明确功能 :插件页是「会话插件(按预设)+ 全局插件」两段分组、卡片点击就地展开事实表(完整名称/来自/配置状态/运行状态/禁用条件);预设页每张卡有个纯图标按钮 查看配置,打开只读弹窗显示该预设声明的子插件列表。
我自己复核出的两处需要纠正的结论
插件计数口径(会直接做错的一处) :考据初稿说上游 UI 显示 30/31/7/31,我数了上游 patch 的 - id: 行(33/34/8/34,组行 3/3/1/3),又用本仓自己的展平函数跑探针验证 ------ 初稿多减漏了 - id: preset-X 声明行。真相是:
| 预设 | 展平叶子(= 上游 UI 口径,页面必须用) | 展平后(= patch 声明行数,R105 起页面在用的) |
|---|---|---|
| standard | 29 | 33 |
| ptc | 30 | 34 |
| minimal | 6 | 8 |
| cordis | 30 | 34 |
所以插件页计数要改用展平叶子,33/34/8/34 得标注成「patch 声明行数(含组行)」,两者不能共用一个标签。探针留在 .scratch/r107_probe_插件计数.light(该目录已 gitignore)。
R106 报告 §八/§九 有三处误诊,已写进 §1 并进入合流清单:
scripts/082全量回归.py、同步0.82.py和基线都在lightharness/(报告去light-merge/找,那里确实没有)→ 这是我上一轮 §3.4 没写清仓库 造成的,已改为显式cd lightharness_light_rehook 已含 R100 路 B 的剥前缀修复 (stdlib/_light_import_hook.py:182-193,注释自称就是"examples 52 条恒红的直接根因",已修)→ 改为先复现再销账- 自举地板清单没有漂移 (我逐条重算 62/15/68/13/0 = 158,与
分类统计完全一致)→ 真实缺口只是"无断言守护",任务是加门禁而非重算 - 顺带:R106 §九 那条「预设挂载过滤未接入总入口」也过时了 ------
总入口:185 → 装配挂载集 → 预设挂载过滤.按预设过滤早就闭环,已从遗留里删掉
七条任务线
| 线 | 内容 | 独占文件 |
|---|---|---|
| A | 模型页真实化(含密钥永不回显、模型选项区、逐字校验文案) | src/设置模型页.light + 测试 |
| B | 插件页真实化(真实清单/展开事实表/正确计数口径) | src/设置插件页.light + 测试 |
| C | 预设页真实化(查看配置 + 设为默认) | src/设置预设页.light + 测试 |
| D | 三页前端渲染(含详情面板,沿用 R106 快捷键面板先例) | webui/ |
| E | 服务端接线 + 配置文档路径修正 + 快捷键落 keybindings.json | web服务器/设置页深化/启动配置 + 3 个测试 |
| F | 通用设置补齐上游 12 行(低优先) | 设置页.light + 测试 |
| G | light-merge 地板清单断言门禁(跨仓,可延后) | light-merge tools/ci/ |
依赖:A/B/C 并行 → E → D,F/G 随时可插。派单顺序建议先发 A+B+C+F+G。
两个需要你留意的点:E 线是关键路径 (它拖着 D 线),且 test_设置页深化.light 现有断言把占位行为钉死了(1o 行值为空、2n 清单两行占位、2u 启用占位为假),任务书要求 E 线做「旧断言→新断言逐条对照」而不是删断言。另外我在契约里明确划了不做清单(account 页、discoverModels、.credentials.yaml 独立凭据链、侧栏插件管理页),避免执行代理按上游全量铺开。
这个回应大约耗费了1.7元token