docs: regenerate catalogs and re-pair bilingual READMEs

Regenerate the cordis/config/persistence catalogs and the module graph for
the ui-plan package and the plan projection unit; add the ui-plan Chinese
README and the Model Experience indirect sentence (allowlisted: the control
dispatches /plan lines, dsh-plan-mode owns the model surface); carry the
QuestionComposer Markdown/scroll improvements into the Chinese ui-question
README; re-record the three touched translation pairs.
This commit is contained in:
imccyu
2026-07-28 21:46:48 +08:00
parent da68c6b401
commit 9be6419cec
12 changed files with 61 additions and 13 deletions

View File

@@ -0,0 +1,6 @@
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/client/ui-plan/README.md
README.md: a8472c82ed1a5d6e5ebe4ae46b030ee140aa07c1
README.zh.md: 77db21f515fd80d06719aec54170d451fbb67ad6

View File

@@ -1,5 +1,7 @@
# @deepseek-ai/dsh-client-ui-plan
English | [中文](README.zh.md)
Plan-mode composer control, a pure browser surface plugin. The browser half occupies the conversation-declared `conversation.input.plan` single seat with a pending-aware mode selector; the node half is an empty apply (the roster row). Plan behavior itself — the `/plan` command, the boundary-committed `plan/mode` state, the `plan` projection unit, and the policy section — is owned by [`@deepseek-ai/dsh-plan-mode`](../../plan/plan-mode/README.md), composed independently on the host roster.
Reads ride the generic projection pair: the control renders the host-computed `plan` projection (`{ active, pending }`) through the standard-kit `useProjection`; an absent key is capability absence and hides the control, so a host without plan-mode (or a Draft with no session) shows no seat content. Writes ride the standard command channel: selecting a mode executes `/plan` or `/plan off` through `command.execute`, whose logged `command/run` immediately folds into a pending projection frame and whose request-boundary `plan/mode` commit resolves it — the control never holds client-side plan state, displays only host-confirmed values, and stays available while generation runs (switching never cancels a turn; the pending target applies at the next model-request boundary).
@@ -10,7 +12,11 @@ The model exits plan mode through the stable `exit_plan_mode` tool; its plan rev
## Model Experience
None directly. Model-visible plan behavior (policy activation, the exit-tool schema, logged state) is owned by `@deepseek-ai/dsh-plan-mode`; this package only renders the projection and dispatches `/plan` lines a user could equally type.
Indirectly, through the `/plan` command lines the control dispatches: `@deepseek-ai/dsh-plan-mode` owns the model-visible policy section, the exit-tool schema, and the logged state those lines drive, while this package only renders the projection and sends what a user could equally type.
#### KV Cache effect
Entering or leaving plan mode changes the active `plan:policy` system-prompt section and therefore the request prefix; the control itself adds no prompt content.
## Known Limitations and Deferred Work

View File

@@ -0,0 +1,25 @@
# @deepseek-ai/dsh-client-ui-plan
[English](README.md) | 中文
Plan mode 编辑器控件,纯浏览器 surface 插件。浏览器侧以一个感知待生效态的模式选择器占据会话声明的 `conversation.input.plan` 单座node 侧是空 applyroster 行。plan 行为本身——`/plan` 命令、边界提交的 `plan/mode` 状态、`plan` 投影单元与 policy 段——归 [`@deepseek-ai/dsh-plan-mode`](../../plan/plan-mode/README.md) 所有,由 host roster 独立组合。
读取走通用投影对:控件经标准套件的 `useProjection` 渲染 host 计算的 `plan` 投影(`{ active, pending }`key 缺席即能力缺席并隐藏控件,因此未组合 plan-mode 的 host或尚无会话的 Draft不展示座位内容。写入走标准命令通道选择模式即经 `command.execute` 执行 `/plan``/plan off`,其入日志的 `command/run` 立即折叠为 pending 投影帧,请求边界的 `plan/mode` 提交将其兑现——控件不持有任何客户端侧 plan 状态,只显示 host 确认的值,且在生成期间保持可用(切换绝不取消轮次;待生效目标在下一次模型请求边界生效)。
透明的原生 select 把键盘焦点镜像到可见 chip 上,并携带区分已提交与待生效模式的动态无障碍描述。准入失败(`matched: false`、业务错误、传输故障)以内联错误呈现,不改变显示的模式。
模型通过稳定的 `exit_plan_mode` 工具退出 plan mode其 plan 评审走已组合的 Web question 通道。
## 模型体验
间接地,通过控件派发的 `/plan` 命令行:`@deepseek-ai/dsh-plan-mode` 拥有这些命令行驱动的模型可见 policy 段、退出工具 schema 与已记录状态,本包只渲染投影并发送用户同样可以手敲的内容。
#### KV 缓存效应
进入或离开 plan mode 会改变活跃的 `plan:policy` 系统提示词段,因此改变请求前缀;控件本身不添加任何提示词内容。
## 已知局限与延后工作
- **Plan mode 是引导而非执行沙箱**——需要强制只读规划的部署必须组合独立的沙箱与审批策略。
- **控件属于默认编辑器**——待处理的整编辑器交互(如 plan 评审)会临时取代 InputBar 及其模式控件。
- **无 Draft 期选择**——会话存在之前没有投影座位保持为空plan mode 在首个 prompt 创建会话后选择。

View File

@@ -1,6 +1,6 @@
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write
README.md: 28132d1d0643f5e8f658ab77de9017467da2d172
README.zh.md: c70e77fc90eb5b226ceabd8a1e7cc7ca6c011c40
# pnpm run verify-translation-pairing --write packages/client/ui-question/README.md
README.md: 3a3cd639fc2834685230aca7c8087583e0a48c71
README.zh.md: 1330578577da7ed7d0890595f675fd272fd5ebc7

View File

@@ -4,7 +4,7 @@
Web `ask_user_question` 功能插件。只有选择 Web 功能时,其主机侧才会挂载 `dsh-tool-ask-user`;浏览器侧会把 `question` 配置项注册到会话拥有的 `conversation.composer` 键控 slot 中。
组件每次渲染一个问题提供进度导航、单选和多选选项、由标签后缀派生的推荐徽标以及自定义答案。单选选项会立即前进所有问题均已回答或跳过后Enter 会提交IME 输入法组合期间按 Enter 只会确认输入候选,不会前进。组件为整个请求提交一批结构化答案:「跳过此问题」会保留其他草稿,并为该项发出既有的空 `{ selected: [] }` 形状;关闭则以 `ASK_CANCELLED` 拒绝整个等待。
组件每次渲染一个问题,提供进度导航、单选和多选选项、由标签后缀派生的推荐徽标,以及自定义答案。问题详情复用助手输出的 `MarkdownText` 原语,包括其 GFM 渲染与不受信内容策略。封顶卡片保持标题、导航与提交动作固定,超长的详情与选项共享内部滚动区。单选选项会立即前进所有问题均已回答或跳过后Enter 会提交IME 输入法组合期间按 Enter 只会确认输入候选,不会前进。组件为整个请求提交一批结构化答案:「跳过此问题」会保留其他草稿,并为该项发出既有的空 `{ selected: [] }` 形状;关闭则以 `ASK_CANCELLED` 拒绝整个等待。
选择状态只存在于以请求 rpcId 为 key 的组件本地。使用相同 id 回放时,只要组件仍挂载,就会保留草稿;主机发出的 `question/resolved` 则会移除编辑器。主机仍具有最终决定权HTTP 交付成功不会在本地移除待处理状态。