@kirkchinese/dsh-citeciter 0.9.0-alpha.2 → 0.9.0-alpha.3

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/README.md CHANGED
@@ -33,13 +33,14 @@ flowchart LR
33
33
 
34
34
  ## Version and installation
35
35
 
36
- This is **0.9.0-alpha.2, the default prerelease on npm latest / next**, targeting Web DSH `0.1.7-rc.2` and the same DSH bundled with [DSH Desktop 2.0.15](https://github.com/anywhere-labs/dsh-desktop/releases/tag/v2.0.15). Separate Host/Client compile checks against DSH `0.1.5-rc.2` remain; they do not establish functional acceptance of the latest Desktop. The older **0.8.2** package remains available only for DSH `0.1.5-rc.1` / Desktop `2.0.9`. Node.js must satisfy `^22.19.0 || >=24.0.0`. Linux acceptance is excluded from this round.
36
+ This is **0.9.0-alpha.3, the default prerelease on npm latest / next**, targeting Web DSH `0.1.7-rc.2` and the same DSH bundled with [DSH Desktop 2.0.15](https://github.com/anywhere-labs/dsh-desktop/releases/tag/v2.0.15). Separate Host/Client compile checks against DSH `0.1.5-rc.2` remain; they do not establish functional acceptance of the latest Desktop. The older **0.8.2** package remains available only for DSH `0.1.5-rc.1` / Desktop `2.0.9`. Node.js must satisfy `^22.19.0 || >=24.0.0`. Linux acceptance is excluded from this round.
37
37
 
38
38
  **Do not use 0.8.2 with DSH 0.1.7.** Its exact peer ranges fail the compatibility gate; forcing installation then fails Typert activation because `create()` factories are missing. See [Issue #9](https://github.com/kirkchinese/CiteCiter/issues/9). This release supports the RC2 gate and Host/Remote factories without `allow-version`. Install this prerelease instead of forcing the old package through a compatibility exemption.
39
39
 
40
40
  | Version | Status | Main differences |
41
41
  | --- | --- | --- |
42
- | 0.9.0-alpha.2 | Default prerelease; npm latest / next | Prerelease-aware update checks; no repeat update prompt for the same version |
42
+ | 0.9.0-alpha.3 | Default prerelease; npm latest / next | Preserve IME composition; save drafts silently in the background |
43
+ | 0.9.0-alpha.2 | Earlier prerelease | Prerelease-aware update checks; affected by the input regression, upgrade to alpha.3 |
43
44
  | 0.9.0-alpha.1 | Earlier prerelease | Dual-host adapters, durable drafts, PTC tool display, reference routing and learning-route policy |
44
45
  | 0.8.2 | Older hosts | Explicit source horizons and continuation; native first-answer question suggestions |
45
46
  | 0.8.1 | Published | Fix Topic startup through Linux/macOS launcher symlinks |
@@ -51,11 +52,11 @@ For DSH 0.1.7, install this prerelease:
51
52
 
52
53
  ```powershell
53
54
  npm install -g @deepseek-ai/dsh@0.1.7-rc.2
54
- dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-alpha.2
55
+ dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-alpha.3
55
56
  dsh web
56
57
  ```
57
58
 
58
- Both `latest` and `next` select 0.9.0-alpha.2; it remains a prerelease. For DSH 0.1.5-rc.1 / Desktop 2.0.9, explicitly install 0.8.2. Older built-in update checks may reject prerelease versions; use the installation command above to upgrade. For DSH 0.1.2-rc.1 / Desktop 2.0.5, keep using @kirkchinese/dsh-citeciter@0.6.0. If npm blocks native dependency installation scripts, follow its output to allow the named dependencies and reinstall. Do not disable script restrictions globally.
59
+ Both `latest` and `next` select 0.9.0-alpha.3; it remains a prerelease. For DSH 0.1.5-rc.1 / Desktop 2.0.9, explicitly install 0.8.2. Older built-in update checks may reject prerelease versions; use the installation command above to upgrade. For DSH 0.1.2-rc.1 / Desktop 2.0.5, keep using @kirkchinese/dsh-citeciter@0.6.0. If npm blocks native dependency installation scripts, follow its output to allow the named dependencies and reinstall. Do not disable script restrictions globally.
59
60
 
60
61
  In 0.8.0, launching DSH through a Linux/macOS symlink can prevent Topics from opening with a missing dsh-agent-loop error. Version 0.8.1 resolves the real CLI entry before loading host modules and retains Desktop's app.asar anchor. Native Linux Node regression passed; macOS has not been tested.
61
62
 
@@ -68,10 +69,10 @@ pnpm typecheck
68
69
  pnpm typecheck:desktop
69
70
  pnpm build
70
71
  pnpm --dir packages/citeciter pack --pack-destination E:/project/CiteCiter/.refs/artifacts
71
- dsh plugin --profile web add E:/project/CiteCiter/.refs/artifacts/kirkchinese-dsh-citeciter-0.9.0-alpha.2.tgz
72
+ dsh plugin --profile web add E:/project/CiteCiter/.refs/artifacts/kirkchinese-dsh-citeciter-0.9.0-alpha.3.tgz
72
73
  ```
73
74
 
74
- Desktop bundles its own DSH. Version 0.8.2 retains the accepted Desktop 2.0.9 baseline. This release targets Desktop 2.0.15: run `dsh plugin add @kirkchinese/dsh-citeciter@0.9.0-alpha.2` in its managed terminal. Updating the global CLI does not update Desktop's embedded runtime. Restart the relevant host after installation. Do not run Web and Desktop writers against the same DSH home simultaneously.
75
+ Desktop bundles its own DSH. Version 0.8.2 retains the accepted Desktop 2.0.9 baseline. This release targets Desktop 2.0.15: run `dsh plugin add @kirkchinese/dsh-citeciter@0.9.0-alpha.3` in its managed terminal. Updating the global CLI does not update Desktop's embedded runtime. Restart the relevant host after installation. Do not run Web and Desktop writers against the same DSH home simultaneously.
75
76
 
76
77
  Known host limitation: Windows read-only PowerShell can reject the host encoding initialization under ConstrainedLanguage, and some Chinese output can be garbled. Citer retains the original errors without raising permissions or hiding output; DSH must fix the executor. This prerelease makes no native acceptance claim for Linux/macOS or the separate Desktop NEXT shell.
77
78
 
@@ -83,6 +84,8 @@ Native Topics offer three suggested questions after the first answer by default;
83
84
 
84
85
  ## Drafts and references
85
86
 
87
+ Edits appear immediately and IME composition retains its selection until confirmed. Drafts save in the background without a saving indicator. Save failures, attachment recovery failures and multi-window conflicts remain visible. Alpha.3 fixes the composition regression in 0.9.0-alpha.1 / alpha.2.
88
+
86
89
  1. Select text in the source conversation, hold the right mouse button, point at a wheel action and release. Tool results, the document reader and native file previews provide additional entry points.
87
90
  2. Free question adds the selection to the selected unarchived Topic; it creates a Topic when none is selected or the selected Topic is archived. Other built-in actions create Topics by default, and custom actions choose their destination. Append only within the current source, retaining the draft, model and permissions. Source addresses and excerpts are removable attachments. The plus button selects actual files or images; it does not manufacture references.
88
91
  3. Review the question, references, permissions and model, then click Send or press Enter. Shift + Enter inserts a newline; Enter during IME composition does not submit.
@@ -179,7 +182,7 @@ Both follow the same rules: public extension points only, nothing written into a
179
182
 
180
183
  ## Development and acceptance
181
184
 
182
- [Contributing](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/CONTRIBUTING.md) · [Alpha changes](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.9.0-alpha.2.md) · [Current acceptance status](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/validation/2026-09-27-connect-450.md) · [0.8.2 fix notes](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.8.2.md)
185
+ [Contributing](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/CONTRIBUTING.md) · [Alpha changes](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.9.0-alpha.3.md) · [Current acceptance status](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/validation/2026-09-27-connect-450.md) · [0.8.2 fix notes](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.8.2.md)
183
186
 
184
187
  Host and Client compile separately. Native session adaptation, source reading, index storage, attachments, queue, board capture, learning plans and UI controls are separate modules. The DSH Agent Loop is unchanged. The full host input component has no supported cross-session embedding interface; Citer reuses public ConversationController / SessionFace behavior and does not automatically inherit every third-party composer extension.
185
188
 
package/README.zh.md CHANGED
@@ -33,13 +33,14 @@ flowchart LR
33
33
 
34
34
  ## 版本与安装
35
35
 
36
- 本版为 **0.9.0-alpha.2 默认安装的预发布版(npm latest / next)**,适配 Web DSH `0.1.7-rc.2` 和 [DSH Desktop 2.0.15](https://github.com/anywhere-labs/dsh-desktop/releases/tag/v2.0.15) 内置的同版 DSH。保留 DSH `0.1.5-rc.2` 的独立 Host/Client 编译检查;旧版编译通过不代表最新 Desktop 功能通过。Web 与 Desktop 的真实模型验收范围见文末记录;不将旧 SDK 编译结果视为实机功能验证。旧版 **0.8.2** 仅保留给旧宿主,兼容基线为 DSH `0.1.5-rc.1` / Desktop `2.0.9`。Node.js 要求 `^22.19.0 || >=24.0.0`。本轮不验收 Linux。
36
+ 本版为 **0.9.0-alpha.3 默认安装的预发布版(npm latest / next)**,适配 Web DSH `0.1.7-rc.2` 和 [DSH Desktop 2.0.15](https://github.com/anywhere-labs/dsh-desktop/releases/tag/v2.0.15) 内置的同版 DSH。保留 DSH `0.1.5-rc.2` 的独立 Host/Client 编译检查;旧版编译通过不代表最新 Desktop 功能通过。Web 与 Desktop 的真实模型验收范围见文末记录;不将旧 SDK 编译结果视为实机功能验证。旧版 **0.8.2** 仅保留给旧宿主,兼容基线为 DSH `0.1.5-rc.1` / Desktop `2.0.9`。Node.js 要求 `^22.19.0 || >=24.0.0`。本轮不验收 Linux。
37
37
 
38
38
  **DSH 0.1.7 不能使用 0.8.2。** 旧版的精确 peer 范围不匹配;强制安装后还会因 Typert 缺少 `create()` 工厂而启动失败,见 [Issue #9](https://github.com/kirkchinese/CiteCiter/issues/9)。本版已适配 RC2 的版本检查及 Host/Remote 工厂接口,无需 `allow-version`。请安装本预发布版,不要将旧版强行加入兼容例外。
39
39
 
40
40
  | 版本 | 状态 | 主要差异 |
41
41
  | --- | --- | --- |
42
- | 0.9.0-alpha.2 | 默认预发布,npm latest / next | 更新检查支持预发布版本;相同版本不再重复提示升级 |
42
+ | 0.9.0-alpha.3 | 默认预发布,npm latest / next | 修复组合输入被打断;后台保存草稿不显示进度提示 |
43
+ | 0.9.0-alpha.2 | 早期预发布 | 更新检查支持预发布版本;存在组合输入回归,请升级 alpha.3 |
43
44
  | 0.9.0-alpha.1 | 早期预发布 | 双宿主适配、持久草稿、PTC 工具展示、引用追加与学习路线约束 |
44
45
  | 0.8.2 | 旧宿主版本 | 明确来源读取上界与续读位置,恢复原生 Topic 首答建议追问 |
45
46
  | 0.8.1 | 已发布 | 修复 Linux/macOS 符号链接启动时无法打开 Topic |
@@ -51,11 +52,11 @@ DSH 0.1.7 用户安装本预发布版:
51
52
 
52
53
  ```powershell
53
54
  npm install -g @deepseek-ai/dsh@0.1.7-rc.2
54
- dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-alpha.2
55
+ dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-alpha.3
55
56
  dsh web
56
57
  ```
57
58
 
58
- `latest` 和 `next` 均指向 0.9.0-alpha.2;版本号仍为预发布。DSH 0.1.5-rc.1 / Desktop 2.0.9 用户须显式安装 0.8.2。旧版内置更新检查可能无法识别预发布版本,请使用上面的安装命令升级。旧宿主 DSH 0.1.2-rc.1 / Desktop 2.0.5 应继续使用 @kirkchinese/dsh-citeciter@0.6.0。如 npm 提示本地原生依赖的安装脚本被阻止,按 npm 输出对明确列出的依赖放行后重装。不要通过全局关闭脚本限制解决。
59
+ `latest` 和 `next` 均指向 0.9.0-alpha.3;版本号仍为预发布。DSH 0.1.5-rc.1 / Desktop 2.0.9 用户须显式安装 0.8.2。旧版内置更新检查可能无法识别预发布版本,请使用上面的安装命令升级。旧宿主 DSH 0.1.2-rc.1 / Desktop 2.0.5 应继续使用 @kirkchinese/dsh-citeciter@0.6.0。如 npm 提示本地原生依赖的安装脚本被阻止,按 npm 输出对明确列出的依赖放行后重装。不要通过全局关闭脚本限制解决。
59
60
 
60
61
  0.8.0 在 Linux/macOS 通过符号链接启动 DSH 时,可能无法打开 Topic,报找不到 dsh-agent-loop。0.8.1 先解析 CLI 入口真实路径再加载宿主模块,保留 Desktop 的 app.asar 路径。Linux 原生 Node 回归已通过,macOS 尚未实测。
61
62
 
@@ -68,10 +69,10 @@ pnpm typecheck
68
69
  pnpm typecheck:desktop
69
70
  pnpm build
70
71
  pnpm --dir packages/citeciter pack --pack-destination E:/project/CiteCiter/.refs/artifacts
71
- dsh plugin --profile web add E:/project/CiteCiter/.refs/artifacts/kirkchinese-dsh-citeciter-0.9.0-alpha.2.tgz
72
+ dsh plugin --profile web add E:/project/CiteCiter/.refs/artifacts/kirkchinese-dsh-citeciter-0.9.0-alpha.3.tgz
72
73
  ```
73
74
 
74
- Desktop 使用自己的内置 DSH。0.8.2 对应已验收的 Desktop 2.0.9 基线;本版针对 Desktop 2.0.15,在其管理终端执行 `dsh plugin add @kirkchinese/dsh-citeciter@0.9.0-alpha.2`。全局 CLI 更新不会更新 Desktop 内置运行时。安装后重启相应宿主。同一 DSH home 不要同时运行 Web 和 Desktop 写入进程。
75
+ Desktop 使用自己的内置 DSH。0.8.2 对应已验收的 Desktop 2.0.9 基线;本版针对 Desktop 2.0.15,在其管理终端执行 `dsh plugin add @kirkchinese/dsh-citeciter@0.9.0-alpha.3`。全局 CLI 更新不会更新 Desktop 内置运行时。安装后重启相应宿主。同一 DSH home 不要同时运行 Web 和 Desktop 写入进程。
75
76
 
76
77
  已知宿主限制:Windows 只读 PowerShell 的编码初始化可能被受限语言模式拒绝,部分中文输出可能乱码。Citer 保留原始错误,不提高权限或隐藏输出;此问题等待 DSH 修复。本次预发布不包含 Linux/macOS 或 Desktop NEXT 外壳的实机验收声明。
77
78
 
@@ -83,6 +84,8 @@ Desktop 使用自己的内置 DSH。0.8.2 对应已验收的 Desktop 2.0.9 基
83
84
 
84
85
  ## 草稿与引用
85
86
 
87
+ 输入即时显示,拼音等组合输入在确认前保持原有选区。草稿在后台自动保存,不显示保存中的进度文字;保存失败、附件恢复失败和多窗口冲突仍显示处理提示。0.9.0-alpha.1 / alpha.2 的组合输入回归已在 alpha.3 修复。
88
+
86
89
  1. 在主对话选中文字,按住右键打开八槽轮盘,移向动作后松开。也可从工具结果、文档阅读器或原生文件预览创建 Topic。
87
90
  2. “自由提问”把选文加入当前选中的未归档 Topic;未选中或当前 Topic 已归档时新建。其他内置动作默认新建,自定义动作可选择目标。只在当前来源会话内追加,保留已有草稿、模型和权限。来源地址与选文显示为可移除附件;加号仅选择实际图片或文件,不生成引用。
88
91
  3. 检查问题、引用、权限和模型,点击发送或按 Enter。Shift + Enter 换行;输入法组词期间 Enter 不发送。
@@ -179,7 +182,7 @@ CiteCiter 与同作者的 [Claude2DSH](https://github.com/kirkchinese/claude2dsh
179
182
 
180
183
  ## 开发与验收
181
184
 
182
- [开发规范](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/CONTRIBUTING.zh.md) · [alpha 变更说明](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.9.0-alpha.2.md) · [本轮验收状态](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/validation/2026-09-27-connect-450.md) · [0.8.2 修复说明](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.8.2.md)
185
+ [开发规范](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/CONTRIBUTING.zh.md) · [alpha 变更说明](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.9.0-alpha.3.md) · [本轮验收状态](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/validation/2026-09-27-connect-450.md) · [0.8.2 修复说明](https://github.com/kirkchinese/CiteCiter/blob/feat/dsh-latest-usability/docs/releases/v0.8.2.md)
183
186
 
184
187
  Host 和 Client 分别编译。原生会话适配、来源读取、索引存储、附件、发送队列、板书截图、学习计划和 UI 控件独立实现;不修改 DSH Agent Loop。完整宿主输入组件尚无跨会话嵌入接口,Citer 通过公开 ConversationController / SessionFace 复用行为,不能自动继承所有第三方输入区扩展。
185
188
 
package/lib/client.js CHANGED
@@ -36159,7 +36159,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
36159
36159
  }, 150);
36160
36160
  };
36161
36161
  const mutate = async (id, change) => {
36162
- await ensure(id);
36162
+ if (!entryOf(id).view.ready) await ensure(id);
36163
36163
  if (disposed) return;
36164
36164
  const entry = entryOf(id);
36165
36165
  change(entry);
@@ -36186,6 +36186,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
36186
36186
  flushAll: () => Promise.allSettled([...entries.keys()].filter((id) => entryOf(id).view.ready).map(flush)),
36187
36187
  ensure,
36188
36188
  flush,
36189
+ /** Publish ready-draft edits synchronously; the returned promise only waits for an initial load when needed. */
36189
36190
  setText: (id, text) => mutate(id, (entry) => {
36190
36191
  entry.state = {
36191
36192
  ...entry.state,
@@ -38509,10 +38510,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
38509
38510
  role: "alert",
38510
38511
  children: attachmentError || draft.error
38511
38512
  }),
38512
- draft.saving && (0, react_jsx_runtime.jsx)("span", {
38513
- role: "status",
38514
- children: "保存草稿…"
38515
- }),
38516
38513
  draft.conflict && (0, react_jsx_runtime.jsxs)("div", { children: [(0, react_jsx_runtime.jsx)("button", {
38517
38514
  type: "button",
38518
38515
  onClick: () => runDraft(drafts.keepLocal(draftKey)),
@@ -26,6 +26,7 @@ export declare function createDraftController(request: Request, native: NativeCo
26
26
  flushAll: () => Promise<PromiseSettledResult<void>[]>;
27
27
  ensure: (id: string) => Promise<void>;
28
28
  flush: (id: string) => Promise<void>;
29
+ /** Publish ready-draft edits synchronously; the returned promise only waits for an initial load when needed. */
29
30
  setText: (id: string, text: string) => Promise<void>;
30
31
  append: (id: string, text: string, references: readonly DraftReference[]) => Promise<void>;
31
32
  removeReference: (id: string, referenceId: string) => Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kirkchinese/dsh-citeciter",
3
- "version": "0.9.0-alpha.2",
3
+ "version": "0.9.0-alpha.3",
4
4
  "description": "Source-aware native DSH Topics with manual drafts, permissions, visual boards and learning cards",
5
5
  "keywords": [
6
6
  "deepseek-harness",