dsh-archify-projects 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/DESIGN.md CHANGED
@@ -903,3 +903,84 @@ DiagramState {
903
903
 
904
904
  OpenDesign 原型同步更新到 v0.7:`docs/design/workbench-v07.html`
905
905
  (项目 `archify-workbench-v07`),截图 `docs/design/v07-prototype.png`,条高与实现一致(35px)。
906
+
907
+ ---
908
+
909
+ ## 18. v0.2.0:子代理会话 + 设置(模型)
910
+
911
+ ### 18.1 一个决定:会话归谁所有
912
+
913
+ | 方案 | 会话形态 | 能不能按次指定模型 | 结论 |
914
+ | -------------------------------------------------------------------- | -------------------------------- | -------------------------------- | ----------------------------------------------------------------- |
915
+ | `sessionController.create()`(v0.1) | 普通会话,进左侧会话列表 | 只能 `selectModel`(改全局默认) | 淘汰 |
916
+ | `ctx.agents.create()` + `agentPresets.mount()`(v0.2,本插件自己建) | `origin: 'subagent'`,被侧栏过滤 | `agentOptions` 只作用于这条会话 | **采用** |
917
+ | `ctx.subagents.startActivation()` | 真子代理 | 支持 | 不可用:`request.parent` 必须是**活着的父 agent**,插件没有父会话 |
918
+
919
+ 第三条是原本最「正确」的答案,但 DSH 的子代理接口要求一个活着的父 Agent
920
+ (父会话用于目录归属与结果投递),而插件的分析是路由触发的,没有父会话。
921
+ 插件自己建一个 `origin: 'subagent'` 的会话能达到同样的可见性效果(侧栏按
922
+ origin 过滤),并且绕开「父会话必须存在」这个前提。
923
+
924
+ 代价与边界:
925
+
926
+ - 这条会话没有 `parentSession`,所以它不会出现在任何父会话的子代理目录里 ——
927
+ 用户看不见它的对话。插件用 todos / usage / qa 三个投影把它「翻译」到自己的
928
+ 页面上,这是刻意的取舍;
929
+ - 通用会话接口(`sessionController.prompt` / `observe`)会拒绝驱动它
930
+ (`session/agent-busy`),所以提示词只能走 `agent.followup()`;
931
+ - 宿主缺 `agents.create` / `agentPresets` 时退回 v0.1 的路,功能不消失。
932
+
933
+ ### 18.2 设置为什么只有一个字段
934
+
935
+ 用户的原话是「弹窗仅展示模型」。所以设置里**只有**一项:分析模型。没有开关、
936
+ 没有超时、没有并发 —— 其它可调项都留在 `cordis.patch.yml` / 插件配置里,
937
+ 那是部署者的领域,不是页面上随手能改的东西。
938
+
939
+ 模型列表不复用「宿主设置页」的 UI,只复用它的**数据源**:
940
+ `sessionController.modelCatalog()`。理由:插件页面是独立 bundle,拿不到 DSH
941
+ 设置页的组件;而 catalog 是宿主公开的 Host API,返回的就是「当前真能路由」的
942
+ 模型集合,正好是用户要的「复用 DSH 配好的模型」。
943
+
944
+ 三层校验:
945
+
946
+ 1. 页面:下拉里只有目录里的项 + 「跟随宿主默认」;
947
+ 2. 路由:形状不对 → 400;目录非空且路由不在目录里 → 400;
948
+ 3. 运行期:`agentOptions` 交给宿主,路由不可用时宿主自己报错,插件把失败记进
949
+ `runs[]` 的 error,不吞。
950
+
951
+ ### 18.3 一个 UI 取舍:原生 `<select>` 而不是自制下拉
952
+
953
+ 模型可能有几十个(多 provider × 多模型),自绘下拉要处理键盘、滚动、遮挡、
954
+ 可访问性;原生 `<select>` 全都有,而且跟随宿主主题。代价是样式受限(只有
955
+ `.dap-select` 一层壳),但设置面板本来就是低频入口,不值得为它写一个组件。
956
+
957
+ ---
958
+
959
+ ## 19. v0.8 原型:设置入口(OpenDesign 同步)
960
+
961
+ ![v0.8 设置弹窗](./design/v08-settings.png)
962
+
963
+ 实现落地(`src/host/settings.ts` / `routes.ts` / `runner.ts`)之后,原型同步到 **v0.8**:
964
+
965
+ | 项 | 内容 |
966
+ | -------------- | -------------------------------------------------------------------------------------------------------- |
967
+ | 原型文件 | [`docs/design/workbench-v08.html`](./design/workbench-v08.html)(v0.7 + 齿轮 + 设置弹窗) |
968
+ | OpenDesign | 项目 **`archify-workbench-v08`**(`index.html` 与上面那份逐字节一致) |
969
+ | 截图(浅色) | [`design/v08-settings.png`](./design/v08-settings.png)、[`design/v08-atlas.png`](./design/v08-atlas.png) |
970
+ | 截图(深色) | [`design/v08-settings-dark.png`](./design/v08-settings-dark.png) |
971
+ | 入口位置 | 总览头部「全部更新」左侧、工作台头部「更新图册」左侧,33px(工作台 30px)方形图标按钮 |
972
+ | 弹窗里有什么 | **只有一**:分析模型下拉(原生 `<select>`)+ 「会话形态 = 子代理会话」一行说明 |
973
+ | 底部原型切换条 | 「总览 / 工作区 / 新建图 / **设置** / 深色」 |
974
+
975
+ ### 19.1 为什么原型里要画「会话形态」
976
+
977
+ 用户能看见的唯一区别就是**左侧会话列表里不再多出一条**。原型里把它写死在弹窗底部
978
+ (`子代理会话 · 不占用左侧会话列表`),是提醒后来改 UI 的人:这一行不是装饰,
979
+ 它对应 `runner.ts` 里 `meta.origin = 'subagent'` 这个事实。
980
+
981
+ ### 19.2 生成方式
982
+
983
+ 原型是「v0.7 + 三处增量」手改出来的(不是让模型重新设计):CSS 加 `.iconbtn` /
984
+ `.select`、两个头部各插一个齿轮、弹窗与 JS 照抄新建图弹窗的开关模式。
985
+ 截图用 `google-chrome-stable --headless=new --window-size=1440,900 --screenshot` 出,
986
+ 深色那张是把 `<html data-theme="dark">` 打开后再截一次 —— 和 v0.4–v0.7 的做法一致。
package/docs/HANDOVER.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > 面向接手的 agent。读完这一份就能改代码、跑验证、装/卸插件、看懂当初为什么这么写。
4
4
  > 面向使用者的上手说明在 [README](../README.md),设计取舍在 [DESIGN.md](./DESIGN.md)。
5
5
 
6
- 最后更新:2026-11-07(v0.1.0,功能完备、已在真机跑通)
6
+ 最后更新:2026-11-09(v0.2.0:子代理会话 + 设置/模型选择,见 §13)
7
7
 
8
8
  ---
9
9
 
@@ -22,7 +22,7 @@ DSH 的左栏插件「架构建模」:把一个代码库登记进台账,用*
22
22
  | 方面 | 状态 |
23
23
  | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
24
24
  | 功能 | 新增/删除项目、Git 探测(分支/commit/上游/脏)、首次生成、更新(切分支+快进+重跑)、重新生成单图、运行记录、深/浅色、非 Git 目录、iframe 内嵌预览、新窗口打开 |
25
- | 测试 | 174 个用例 / 12 个文件,`vitest` 全绿(约 2 s) |
25
+ | 测试 | 206 个用例 / 15 个文件,`vitest` 全绿(约 1 s;`NODE_ENV` 不能是 production,见 §13.5) |
26
26
  | 静态门 | `tsc`(两份 tsconfig)、`eslint`、`prettier --check`、`dependency-cruiser`、`artifact:check`(51.5 KB / 220 KB 预算)全绿 |
27
27
  | 真机 | 在 `127.0.0.1:3080` 的真实宿主里跑通过「Git 项目」与「非 Git 目录」两条路径,深浅色都验过;截图见 [`docs/verify/`](./verify) |
28
28
  | 产物 | `~/.dsh/dsh-archify-projects/` 下 1 个项目(`dsh-word-learn`),两张图 ready |
@@ -78,8 +78,9 @@ pnpm verify # build → artifact:check → typecheck/lint/format/deps →
78
78
  └─ POST /dsh-archify-projects/projects/:id/update src/host/routes.ts
79
79
  ├─ git.ts 切回记录的分支 → fetch → FF 到最新 → 重新探测快照
80
80
  ├─ store.ts 台账里记一条 run(running),两张图置 queued
81
- └─ runner.ts 起受限会话
82
- ├─ sessions.create({ presetId: 'archify-projects' })
81
+ └─ runner.ts 起受限会话(v0.2:子代理会话,见 §13)
82
+ ├─ agents.create({ meta.origin:'subagent', agentOptions:{provider,model},
83
+ │ setup: agentPresets.mount(preset) }) ← 旧路:sessionController.create
83
84
  ├─ policy.ts agent.ctx 上装 tools.restrict(allow) + tools.guard(fn)
84
85
  ├─ prompt.ts 拼 prompt(代码库路径、分支/commit、上次产物、产物标记约定)
85
86
  ├─ 投 prompt → whenIdle(或 runTimeoutMs 超时)
@@ -395,3 +396,109 @@ cacheWriteTokens`)写 `RunRecord.usage`、`QaEntry.usage`,并累加 `Project
395
396
  分支与时间。`page.tsx` 的 `hideArtifactHeader()` 在 iframe `onLoad` 时往同源文档 head
396
397
  注入一条 `.header{display:none!important}`,只影响嵌入视图;点「新窗口」仍是成品原样。
397
398
  同源被沙箱挡住就静默跳过,不影响看图。
399
+
400
+ ---
401
+
402
+ ## 13. v0.2.0:分析跑在子代理会话里 + 设置(模型选择)
403
+
404
+ > 本节描述 2026-11-09 之后的形态。两个改动是同一条线索的两半:**要能给每次运行
405
+ > 单独指定模型,就不能再用「新建一个普通会话」那条路**。
406
+
407
+ ### 13.1 为什么「用子代理执行」
408
+
409
+ 原来 `runner.openSession` 走 `sessionController.create()` —— 那是「开一个新对话」的
410
+ 接口,后果有两个:分析会话会出现在用户的左侧会话列表里;而要给会话换模型只能用
411
+ `sessionController.selectModel()`,它的契约是**顺手把选择存成宿主的全局默认**(会把
412
+ 用户自己的默认模型改掉)。
413
+
414
+ 改成自己建 agent(`ctx.agents.create`):
415
+
416
+ ```ts
417
+ const handle = await agents.create({
418
+ sessionId: `session-${randomUUID()}`,
419
+ meta: {
420
+ cwd: workspaceDir, // 插件工作区,提示词约定产物落这里
421
+ agentPreset: preset.id, // 与 cordis.patch.yml 里的受限 preset 同一个
422
+ origin: 'subagent', // DSH 侧边栏 sessionVisible() 直接过滤掉
423
+ delegationDepth: 1, // 本插件不再往下派子代理
424
+ },
425
+ agentOptions: { provider, model }, // ← 设置里选的模型,只影响这条会话
426
+ setup: async (agentCtx) => {
427
+ await presets.mount(agentCtx, preset.id)
428
+ },
429
+ })
430
+ agent.followup({ id, role: 'user', content, source: { kind: 'user' } })
431
+ ```
432
+
433
+ 要点(改这段前务必知道):
434
+
435
+ 1. **`mount()` 必须在 `setup` 里调**:preset 的工具面 / persona / skill 目录都是
436
+ 在 agent 的 scoped ctx 里注册的,`setup` 是唯一能装上去的时机。
437
+ 2. **`origin: 'subagent'` 的会话不能被通用会话接口驱动**:`sessionController.prompt`
438
+ 会以 `session/agent-busy`("subagent Sessions require their durable parent address")
439
+ 拒绝。所以提示词用 `agent.followup()`,不要混着用。
440
+ 3. **不要给这种会话调 `selectModel`**:既被 (2) 拒,也会改全局默认。
441
+ 4. 召回/收尾完全没变:`agents.get(sessionId)` 仍然拿得到 agent,`whenIdle`、`todos`、
442
+ `tokenUsage` 三个 projection 都照旧。
443
+ 5. 兜底顺序:`agents.create` 建失败 → 记一条 warn → 退回 `sessionController.create` +(如果 agent 暴露了 `agent.model.select`)直接改这条会话的路由。功能不会因为
444
+ 宿主版本变化而消失,只是会话回到「普通会话 + 宿主默认模型」。
445
+
446
+ ### 13.2 设置:只有一个字段
447
+
448
+ | 位置 | 内容 |
449
+ | ----------------------------------------------- | --------------------------------------------------------- |
450
+ | `src/host/settings.ts` | `settings.json` 读写(原子 rename)、形状校验、坏文件回落 |
451
+ | `src/host/models.ts` | `controller.modelCatalog()` 的防御式收纳(分组 → 扁平) |
452
+ | `GET/PUT /dsh-archify-projects/settings` | 页面拿/存设置;PUT 在目录非空时校验路由真的存在 |
453
+ | `src/client/components.tsx` 的 `SettingsDialog` | 齿轮弹窗:**只有一个模型下拉**,没有第二个可输入控件 |
454
+
455
+ `ModelRef = { provider, model, reasoningEffort? }`,字段名与 DSH 的 `ModelSelection`
456
+ 一致,宿主侧可以原样塞进 `agentOptions`,不做翻译。
457
+
458
+ **模型不在插件里定义**:选项全部来自 `sessionController.modelCatalog()`
459
+ (`{ default, groups: [{ id, name, models: [{ id, name }] }], failures }`),
460
+ 也就是用户在 DSH 里配好、当前真能路由到的那些。目录拿不到时页面只说
461
+ 「跟随宿主默认」,不显示空下拉假装能选。
462
+
463
+ ### 13.3 真机验证(2026-11-09,dsh-dev 容器 127.0.0.1:3080)
464
+
465
+ | 步骤 | 结果 |
466
+ | ------------------------- | ------------------------------------------------------------------------------------------------------------- |
467
+ | `GET /settings`(升级前) | `not-found 未知路由:GET /settings`(确认是新代码才有) |
468
+ | `GET /settings`(重启后) | 200,目录里是容器真配的两个路由:`self::…flash`、`zifei::…flash`,`fallback=zifei/deepseek-v4.1-flash` |
469
+ | `PUT /settings` | 200,`<dataDir>/settings.json` 落盘 `{ model: { provider, model } }` |
470
+ | 提问一次(只读会话) | 45 s 返回带文件行的回答;会话头 `"origin":"subagent","delegationDepth":1`,`config.provider=zifei` |
471
+ | 重画一张图(出图会话) | `ready` + 产物路径 + usage(160k in / 90k out);会话头同样 `origin:subagent`,`agentPreset=archify-projects` |
472
+ | 会话日志里的工具名 | `read / write / edit / glob / grep / skill / bash / todo_write` —— 白名单原样生效,没有 `web_search`/`task` |
473
+
474
+ 结论:`mount()` 在真机的两个 preset 上都装对了(工具面、persona、archify skill 全在),
475
+ `agentOptions` 也真的生效;`/settings` 的探测在请求期(而不是插件 apply 期)才准,
476
+ 所以 `RouteState.subagentSessions` 是**惰性函数**,别改回布尔快照 —— apply 时宿主
477
+ 还没装好 `sessionController`,快照会永远显示「宿主不支持」。
478
+
479
+ ### 13.4 原型同步(OpenDesign)
480
+
481
+ 实现改完必须把**原型**也改掉,否则会出现「页面上有齿轮、原型里没有」的错位:
482
+
483
+ - `docs/design/workbench-v08.html` = v0.7 + 齿轮按钮 + 设置弹窗(CSS `.iconbtn`/`.select`,
484
+ 两个头部各插一个,弹窗开关照抄「新建图」的模式);
485
+ - OpenDesign 项目 **`archify-workbench-v08`**(`index.html` 与上面那份相同);
486
+ - 截图:`docs/design/v08-settings.png`(浅色)、`v08-settings-dark.png`(深色)、
487
+ `v08-atlas.png`(齿轮在头部的位置);
488
+ - 出图方式:`google-chrome-stable --headless=new --window-size=1440,900 --screenshot`,
489
+ 深色把 `<html data-theme="dark">` 打开后再截一次。
490
+
491
+ ### 13.5 测试与两个坑
492
+
493
+ 新增:`tests/unit/settings.test.ts`(9)、`tests/unit/models.test.ts`(6)、
494
+ `tests/unit/routes.test.ts` 的「设置(分析模型)」(7)、
495
+ `tests/integration/subagent.test.ts`(6,含「建会话失败要退回普通会话」)、
496
+ `tests/component/page.test.tsx` 的「设置入口」(3)。基线:**206 passed / 15 files**。
497
+
498
+ - **坑 1:`NODE_ENV=production` 会让组件测试全红**(`React.act is not a function`,
499
+ 9 个用例全挂在 `render()` 上)。React 19 的 `act` 只在 development 构建里导出,
500
+ vitest 又是按 `NODE_ENV` 选包的。跑 verify 前确认 `NODE_ENV` 不是 `production`
501
+ (`NODE_ENV=test pnpm verify`)。这不是本插件的 bug,但看起来一模一样。
502
+ - **坑 2:组件测试的 fetch 桩是按「METHOD url」精确匹配的**,未命中就回
503
+ `not-found`。`StudioPage` 现在挂载时会 `GET /settings`,所以设置拉取**必须静默
504
+ 失败**(`try/catch` 里什么都不做),否则每条老用例都会多出一条错误提示。
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/host/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0MH,oCAAoC;AACpC,MAAM,UAAU,SAAS,CAAI,GAAgB,EAAE,IAAY;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAW,CAAA;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,kDAAkD;IAClD,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAI,GAA0C,CAAC,IAAI,CAAC,CAAA;QAChE,OAAQ,MAAwB,IAAI,SAAS,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/host/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuPH,oCAAoC;AACpC,MAAM,UAAU,SAAS,CAAI,GAAgB,EAAE,IAAY;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAW,CAAA;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,kDAAkD;IAClD,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAI,GAA0C,CAAC,IAAI,CAAC,CAAA;QAChE,OAAQ,MAAwB,IAAI,SAAS,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
package/lib/host/index.js CHANGED
@@ -16,11 +16,11 @@ import { ledgerPath, resolveConfig, workspaceRoot } from './config.js';
16
16
  import { serviceOf } from './context.js';
17
17
  import { makeFence } from './http.js';
18
18
  import { createDispatcher } from './routes.js';
19
- import { reconcileArtifacts, Runner } from './runner.js';
19
+ import { canCreateSubagentSessions, reconcileArtifacts, Runner } from './runner.js';
20
20
  import { ProjectStore } from './store.js';
21
21
  import { ensureWorkspace } from './workspace.js';
22
22
  /** 与 package.json 的 version 保持一致(有单测守着)。 */
23
- export const VERSION = '0.1.1';
23
+ export const VERSION = '0.2.0';
24
24
  /** 插件入口。 */
25
25
  export function apply(ctx, rawConfig) {
26
26
  const warnings = [];
@@ -47,6 +47,8 @@ export function apply(ctx, rawConfig) {
47
47
  skillDir,
48
48
  version: VERSION,
49
49
  hasSessionService,
50
+ // 惰性探测:此刻宿主服务可能还没装好(见 RouteState 的注释)
51
+ subagentSessions: () => canCreateSubagentSessions(ctx),
50
52
  });
51
53
  // 路由必须挂在 inject 出来的子 ctx 上:cordis 的 proxy 在没 inject 时读
52
54
  // `ctx.webServer` 会直接抛,注册就会被静默跳过(页面表现为「HTTP 404」)。
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * 宿主模型目录:把「DSH 里配好的模型」搬进本插件的设置弹窗。
3
+ *
4
+ * **插件不定义任何模型**。选项全部来自 `sessionController.modelCatalog()`——
5
+ * 也就是用户在 DSH 设置里配过凭据、当前真的能路由到的那些 provider/model。
6
+ * 这里只做两件事:
7
+ * 1. 把宿主的分组结构**收成扁平**(页面只有一个下拉,不需要分组头);
8
+ * 2. 形状不对/宿主没有这个能力时,明确返回 `source: 'unavailable'`,
9
+ * 让页面退化成「跟随宿主默认」,而不是显示一个空下拉假装能选。
10
+ *
11
+ * 为什么需要防御式解析:宿主版本会变,`modelCatalog()` 的返回是宿主生成的
12
+ * 结构。这里逐字段读、读不到就跳过,永远不因为一个字段缺失把整个设置面板打挂。
13
+ */
14
+ import { modelKey } from '../shared/model-key.js';
15
+ import { serviceOf } from './context.js';
16
+ /** 宿主没有模型目录能力时回这个(页面据此显示「跟随宿主默认」)。 */
17
+ export const NO_CATALOG = {
18
+ options: [],
19
+ fallback: null,
20
+ failures: [],
21
+ source: 'unavailable',
22
+ };
23
+ /**
24
+ * 读一次宿主模型目录。
25
+ *
26
+ * 不抛错:缺服务、宿主版本没有这个方法、provider 集体超时,都变成
27
+ * `source: 'unavailable'` 或一条 `failures`。调用方(路由)只关心结果形状。
28
+ */
29
+ export async function readModelCatalog(ctx) {
30
+ const controller = serviceOf(ctx, 'sessionController');
31
+ if (controller === undefined || typeof controller.modelCatalog !== 'function') {
32
+ return NO_CATALOG;
33
+ }
34
+ let raw;
35
+ try {
36
+ raw = await controller.modelCatalog();
37
+ }
38
+ catch (err) {
39
+ return {
40
+ options: [],
41
+ fallback: null,
42
+ failures: [
43
+ {
44
+ provider: '*',
45
+ providerName: 'DSH',
46
+ message: err instanceof Error ? err.message : String(err),
47
+ },
48
+ ],
49
+ source: 'host',
50
+ };
51
+ }
52
+ return normalizeCatalog(raw);
53
+ }
54
+ /** 把宿主的 `ModelCatalog` 收成插件的扁平形状。纯函数,单测直接打。 */
55
+ export function normalizeCatalog(raw) {
56
+ if (typeof raw !== 'object' || raw === null)
57
+ return { ...NO_CATALOG, source: 'host' };
58
+ const source = raw;
59
+ const options = [];
60
+ const seen = new Set();
61
+ const groups = Array.isArray(source.groups) ? source.groups : [];
62
+ for (const group of groups) {
63
+ if (typeof group !== 'object' || group === null)
64
+ continue;
65
+ const g = group;
66
+ const provider = text(g.id);
67
+ if (provider === null)
68
+ continue;
69
+ const providerName = text(g.name) ?? provider;
70
+ const models = Array.isArray(g.models) ? g.models : [];
71
+ for (const model of models) {
72
+ if (typeof model !== 'object' || model === null)
73
+ continue;
74
+ const m = model;
75
+ const id = text(m.id);
76
+ if (id === null)
77
+ continue;
78
+ const key = modelKey({ provider, model: id });
79
+ if (seen.has(key))
80
+ continue;
81
+ seen.add(key);
82
+ options.push({
83
+ key,
84
+ provider,
85
+ providerName,
86
+ model: id,
87
+ name: text(m.name) ?? id,
88
+ description: text(m.description),
89
+ });
90
+ }
91
+ }
92
+ const failures = [];
93
+ const rawFailures = Array.isArray(source.failures) ? source.failures : [];
94
+ for (const failure of rawFailures) {
95
+ if (typeof failure !== 'object' || failure === null)
96
+ continue;
97
+ const f = failure;
98
+ const provider = text(f.id);
99
+ if (provider === null)
100
+ continue;
101
+ failures.push({
102
+ provider,
103
+ providerName: text(f.name) ?? provider,
104
+ message: text(f.message) ?? '列不出模型',
105
+ });
106
+ }
107
+ return {
108
+ options,
109
+ fallback: readModelRef(source.default),
110
+ failures,
111
+ source: 'host',
112
+ };
113
+ }
114
+ /** 只接受 `{ provider, model, reasoningEffort? }` 形状;其余一律 null。 */
115
+ export function readModelRef(value) {
116
+ if (typeof value !== 'object' || value === null)
117
+ return null;
118
+ const raw = value;
119
+ const provider = text(raw.provider);
120
+ const model = text(raw.model);
121
+ if (provider === null || model === null)
122
+ return null;
123
+ const effort = text(raw.reasoningEffort);
124
+ return effort === null ? { provider, model } : { provider, model, reasoningEffort: effort };
125
+ }
126
+ /** 这个路由在目录里存在吗(PUT /settings 的校验)。 */
127
+ export function catalogHas(catalog, ref) {
128
+ const key = modelKey(ref);
129
+ return catalog.options.some((option) => option.key === key);
130
+ }
131
+ function text(value) {
132
+ if (typeof value !== 'string')
133
+ return null;
134
+ const trimmed = value.trim();
135
+ return trimmed.length === 0 ? null : trimmed;
136
+ }
137
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/host/models.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@ import { allDiagrams, createProject, defaultProjectName, findDiagram, runnableDi
12
12
  import { projectDir, workspaceRoot } from './config.js';
13
13
  import { probeGit, syncToLatest } from './git.js';
14
14
  import { BadRequest, matchPath, methodOf, pathOf, readJsonObject, sendError, sendOk, } from './http.js';
15
+ import { catalogHas, readModelCatalog } from './models.js';
15
16
  import { RunnerBusy, RunnerUnavailable } from './runner.js';
17
+ import { readSettings, sanitizeModelRef, writeSettings } from './settings.js';
16
18
  import { confineToRoot, isDirectory } from './workspace.js';
17
19
  /** 生成项目 id。 */
18
20
  export function newProjectId(now = new Date()) {
@@ -52,6 +54,10 @@ async function route(state, req, res, rest) {
52
54
  const method = methodOf(req);
53
55
  if (rest === '/health' && method === 'GET')
54
56
  return handleHealth(state, res);
57
+ if (rest === '/settings' && method === 'GET')
58
+ return handleGetSettings(state, res);
59
+ if (rest === '/settings' && method === 'PUT')
60
+ return handlePutSettings(state, req, res);
55
61
  if (rest === '/projects' && method === 'GET')
56
62
  return handleList(state, res);
57
63
  if (rest === '/projects' && method === 'POST')
@@ -131,6 +137,43 @@ function handleHealth(state, res) {
131
137
  sendOk(res, value);
132
138
  });
133
139
  }
140
+ async function handleGetSettings(state, res) {
141
+ const value = await settingsValueOf(state);
142
+ sendOk(res, value);
143
+ }
144
+ /**
145
+ * 改设置(目前只有一个字段:分析用哪个模型)。
146
+ *
147
+ * 校验分两层:形状(`{provider, model}` 非空)与**可用性**(必须在宿主当前
148
+ * 模型目录里)。第二层只在宿主确实列得出模型时生效 —— 宿主没这个能力时,
149
+ * 不该因为「目录为空」就把用户手动写进来的路由判死。
150
+ */
151
+ async function handlePutSettings(state, req, res) {
152
+ const body = (await readJsonObject(req));
153
+ const clearing = body.model === undefined || body.model === null;
154
+ const requested = clearing ? null : sanitizeModelRef(body.model);
155
+ if (!clearing && requested === null) {
156
+ throw new BadRequest('model 必须是 { provider, model }', 'bad-request');
157
+ }
158
+ const catalog = await readModelCatalog(state.ctx);
159
+ if (requested !== null && catalog.options.length > 0 && !catalogHas(catalog, requested)) {
160
+ throw new BadRequest(`宿主的模型目录里没有 ${requested.provider}/${requested.model}`, 'bad-request');
161
+ }
162
+ const saved = await writeSettings(state.config, { model: requested });
163
+ const value = {
164
+ model: saved.model,
165
+ catalog,
166
+ subagentSessions: state.subagentSessions(),
167
+ };
168
+ sendOk(res, value);
169
+ }
170
+ async function settingsValueOf(state) {
171
+ const [settings, catalog] = await Promise.all([
172
+ readSettings(state.config),
173
+ readModelCatalog(state.ctx),
174
+ ]);
175
+ return { model: settings.model, catalog, subagentSessions: state.subagentSessions() };
176
+ }
134
177
  async function handleList(state, res) {
135
178
  const projects = await state.store.list();
136
179
  const value = {
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/host/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/host/routes.ts"],"names":[],"mappings":"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"}