Repository navigation
feat: TASK058 DSH 前端与引擎深度对齐(权限闭环/模型切换/设置落盘/流事件/斜杠命令/子代理/分叉) - #437
Merged
Merged
Conversation
…瀑布流(五键硬契约+fail-closed三态), permissionPresets目录改PermissionMode枚举唯一数据源(硬编码三元组退役), GetCurrentPermissionModeAsync补引擎门面
…Vendor重置默认再SetModel覆盖, effort枚举FromValue映射未知忽略), llm/listProviders与modelCatalog同源投影Groups, 引擎分支真机验收
…settings.json持久化(RelaxedJson+DTO,重启不丢), permission命名空间接PermissionMode枚举词汇唯一数据源(defaultPreset写触发SetPermissionModeAsync+引擎attach补应用), 两命名空间schema信封保留前端configForms硬契约
…ing前置reasoning块+Complete.Usage四桶映射prompt-cacheRead=uncached), assistant/message带data.usage前端本轮用量弹窗, ToolProgress暂缓transient非核心
…(去/前缀+ArgumentHint作input.hint), commands/execute委托SlashCommandRunner与CLI/TUI同链路, DshCommandsProjection翻译单点
…inished投影成tool-workflow事件族(每轮合成run+AgentId配对seq+取消异常分支run-end收尾), 前端workflow-run节点渲染子代理卡片; subagentCatalog运行实例目录属深水区另立任务
…(v1全量,atSeq截断深化项), 清空/回退无前端RPC消费点不做, TASK058 B1-B7批次全收口(新增36测试全绿,累计248)
liuqihonggit
enabled auto-merge (squash)
October 20, 2026 21:47
liuqihonggit
disabled auto-merge
October 20, 2026 21:59
liuqihonggit
added a commit
that referenced
this pull request
Oct 20, 2026
## Summary TASK058 B8 — subagentCatalog 投影回放(PR #437 的补充批次): - **投影缺口修复**:前端子代理面板读 `projections.values.subagentCatalog`,undefined 会让面板永久停在 loading 态 — 现在所有会话投影(列表项 / session/projections / session/control 基线)统一携带该键 - **`DshSubagentCatalogProjector`**:从 journal 的 `tool-workflow/agent-start` 事件回放实例目录(id/createdAt/mode/label);实例目录语义含已完成条目,重启后可还原;空会话输出空数组(ready 态) - **`DshSessionStore` 注入 journal**:列表投影与单会话投影统一回放(与既有 per-session 转录 IO 同级开销模式) ## Test plan - 新增 3 测试(空会话空数组消除 loading 挂起 / agent-start 事件回放条目 / agent-end 保留条目) - GUI 全量 251/251 绿
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TASK058 — DSH 前端与自有引擎深度对齐(相同 DTO 原则),7 批次渐进交付:
DshApprovalBroker桥接引擎确认点 →$eventswaterfall 帧(前端 approval 审批面板)→$events/result回帖结算;未连接/断开/无人处理/监听器抛错四路 fail-closed Deny;permissionPresets/catalog改PermissionMode枚举唯一数据源(硬编码三元组退役)session/selectModel路由引擎(vendor 变化先SetVendorAsync重置默认再SetModelAsync覆盖,effort 枚举映射);llm/listProviders与 modelCatalog 同源投影DshSettingsStore退役进程内假数据 →~/.jcc/dsh-settings.json持久化(RelaxedJson + DTO,重启不丢);permission/defaultPreset 写触发SetPermissionModeAsync+ 引擎 attach 补应用DshAssistantReplyProjection单点投影 — Thinking → assistant/message 前置 reasoning 块;Complete.Usage→ data.usage 四桶(前端"本轮用量"弹窗)commands/list投影[ChatCommand]源生成目录(唯一数据源);commands/execute委托 SlashCommandRunner(与 CLI/TUI 同链路)DshAgentRunTracker把 AgentStarted/Finished 投影为 tool-workflow 事件族(前端 workflow-run 节点渲染子代理卡片;取消/异常分支 run-end 收尾)session/fork宿主侧复制 meta/转录/journal 事件到新 ID(源会话不受影响)Test plan
$events权限桥 attach、workspace/follow、session/control 三流全开,无崩溃)