dsh-plugin-dev-kb 1.8.0 → 1.8.1

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.
Files changed (229) hide show
  1. package/CHANGELOG.md +186 -178
  2. package/README.en.md +172 -172
  3. package/README.md +183 -183
  4. package/kb/INDEX.md +236 -234
  5. package/kb/README.md +88 -88
  6. package/kb/extra/AGENTS.md +77 -77
  7. package/kb/extra/deepseek-llm-api-wire-extensions.md +162 -162
  8. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +162 -162
  9. package/kb/extra/defensive-patterns/package-surface.md +233 -232
  10. package/kb/extra/defensive-patterns/package-surface.zh.md +233 -232
  11. package/kb/extra/defensive-patterns/remote-and-api.md +117 -117
  12. package/kb/extra/defensive-patterns/remote-and-api.zh.md +117 -117
  13. package/kb/extra/development.md +221 -221
  14. package/kb/extra/development.zh.md +228 -228
  15. package/kb/extra/event-producer-consumer.md +133 -123
  16. package/kb/extra/event-producer-consumer.zh.md +135 -125
  17. package/kb/extra/module-graph.md +1961 -1888
  18. package/kb/extra/module-graph.zh.md +1963 -1890
  19. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.md +60 -0
  20. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.zh.md +60 -0
  21. package/kb/extra/persistence-changes/README.md +92 -92
  22. package/kb/extra/persistence-changes/README.zh.md +92 -92
  23. package/kb/extra/persistence-changes/historical-formats/README.md +75 -75
  24. package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -75
  25. package/kb/extra/persistence-changes/releases/README.md +103 -103
  26. package/kb/extra/persistence-changes/releases/README.zh.md +103 -103
  27. package/kb/extra/rescope.md +55 -55
  28. package/kb/extra/rescope.zh.md +55 -55
  29. package/kb/extra/subsystems/boot.md +631 -621
  30. package/kb/extra/subsystems/boot.zh.md +631 -621
  31. package/kb/extra/subsystems/computer-use.md +179 -137
  32. package/kb/extra/subsystems/computer-use.zh.md +179 -137
  33. package/kb/extra/subsystems/extensions.md +387 -384
  34. package/kb/extra/subsystems/extensions.zh.md +387 -384
  35. package/kb/extra/subsystems/feedback.md +418 -400
  36. package/kb/extra/subsystems/feedback.zh.md +418 -400
  37. package/kb/extra/subsystems/forge.md +2169 -1226
  38. package/kb/extra/subsystems/forge.zh.md +2171 -1226
  39. package/kb/extra/subsystems/liveshare.md +167 -158
  40. package/kb/extra/subsystems/liveshare.zh.md +167 -158
  41. package/kb/extra/subsystems/mcp.md +237 -234
  42. package/kb/extra/subsystems/mcp.zh.md +237 -234
  43. package/kb/extra/subsystems/office-kit.md +122 -0
  44. package/kb/extra/subsystems/office-kit.zh.md +122 -0
  45. package/kb/extra/subsystems/working-directory.md +95 -64
  46. package/kb/extra/subsystems/working-directory.zh.md +95 -64
  47. package/kb/extra/subsystems/worktrees.md +187 -127
  48. package/kb/extra/subsystems/worktrees.zh.md +187 -127
  49. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +21 -21
  50. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +21 -21
  51. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.md +18 -0
  52. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.zh.md +18 -0
  53. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.md +18 -0
  54. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.zh.md +18 -0
  55. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.md +34 -0
  56. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.zh.md +34 -0
  57. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.md +49 -0
  58. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.zh.md +49 -0
  59. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.md +36 -0
  60. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.zh.md +36 -0
  61. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.md +26 -0
  62. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.zh.md +26 -0
  63. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.md +22 -0
  64. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.zh.md +22 -0
  65. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.md +21 -0
  66. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.zh.md +21 -0
  67. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.md +23 -0
  68. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.zh.md +23 -0
  69. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.md +20 -0
  70. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.zh.md +20 -0
  71. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.md +18 -0
  72. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.zh.md +18 -0
  73. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md +23 -0
  74. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.zh.md +23 -0
  75. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.md +35 -0
  76. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.zh.md +35 -0
  77. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.md +26 -0
  78. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.zh.md +26 -0
  79. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.md +26 -0
  80. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.zh.md +26 -0
  81. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.md +19 -0
  82. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.zh.md +19 -0
  83. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.md +26 -0
  84. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.zh.md +26 -0
  85. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.md +22 -0
  86. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.zh.md +22 -0
  87. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.md +25 -0
  88. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.zh.md +25 -0
  89. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.md +48 -0
  90. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.zh.md +48 -0
  91. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.md +45 -0
  92. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.zh.md +45 -0
  93. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.md +19 -0
  94. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.zh.md +19 -0
  95. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.md +17 -0
  96. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.zh.md +17 -0
  97. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.md +27 -0
  98. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.zh.md +27 -0
  99. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.md +20 -0
  100. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.zh.md +20 -0
  101. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.md +19 -0
  102. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.zh.md +19 -0
  103. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.md +18 -0
  104. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.zh.md +18 -0
  105. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.md +41 -0
  106. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.zh.md +41 -0
  107. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.md +21 -0
  108. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.zh.md +21 -0
  109. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.md +29 -0
  110. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.zh.md +29 -0
  111. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.md +25 -0
  112. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.zh.md +25 -0
  113. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.md +31 -0
  114. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.zh.md +31 -0
  115. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.md +24 -0
  116. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.zh.md +24 -0
  117. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.md +24 -0
  118. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.zh.md +24 -0
  119. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.md +19 -0
  120. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.zh.md +19 -0
  121. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.md +15 -0
  122. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.zh.md +15 -0
  123. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.md +28 -0
  124. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.zh.md +28 -0
  125. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.md +36 -0
  126. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.zh.md +36 -0
  127. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.md +22 -0
  128. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.zh.md +22 -0
  129. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.md +31 -0
  130. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.zh.md +31 -0
  131. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.md +18 -0
  132. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.zh.md +18 -0
  133. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.md +30 -0
  134. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.zh.md +30 -0
  135. package/kb/extra/web-styling.md +57 -57
  136. package/kb/extra/web-styling.zh.md +57 -57
  137. package/kb/meta/search-index.json +4508 -3980
  138. package/kb/meta/source.json +18 -18
  139. package/kb/site/develop/practice/llm-adapter.md +192 -192
  140. package/kb/site/en/develop/practice/llm-adapter.md +192 -192
  141. package/kb/site/en/guide/desktop-uninstall-cleanup.md +63 -0
  142. package/kb/site/en/guide/plugin-market.md +153 -151
  143. package/kb/site/en/guide/providers.md +234 -234
  144. package/kb/site/en/guide/quickstart.md +35 -34
  145. package/kb/site/en/reference/capability-seams.md +789 -767
  146. package/kb/site/en/reference/config-catalog.md +5432 -5128
  147. package/kb/site/en/reference/cookbook/adding-a-package.md +175 -175
  148. package/kb/site/en/reference/cookbook/adding-a-tool.md +105 -104
  149. package/kb/site/en/reference/cookbook/extension-cookbook.md +178 -135
  150. package/kb/site/en/reference/cordis-api/context.md +373 -369
  151. package/kb/site/en/reference/cordis-api/fiber.md +457 -433
  152. package/kb/site/en/reference/cordis-api/inherited.md +44 -44
  153. package/kb/site/en/reference/cordis-api/service.md +118 -107
  154. package/kb/site/en/reference/experimental-persistence-catalog.md +36 -23
  155. package/kb/site/en/reference/index.md +174 -174
  156. package/kb/site/en/reference/persistence-catalog.md +9453 -9432
  157. package/kb/site/en/reference/subsystems/compaction.md +288 -288
  158. package/kb/site/en/reference/subsystems/core.md +1172 -1171
  159. package/kb/site/en/reference/subsystems/credentials.md +526 -497
  160. package/kb/site/en/reference/subsystems/filesystem.md +708 -708
  161. package/kb/site/en/reference/subsystems/index.md +82 -82
  162. package/kb/site/en/reference/subsystems/llm-streaming.md +1290 -1288
  163. package/kb/site/en/reference/subsystems/lsp.md +230 -206
  164. package/kb/site/en/reference/subsystems/persistence.md +451 -432
  165. package/kb/site/en/reference/subsystems/plan.md +91 -91
  166. package/kb/site/en/reference/subsystems/ptc-runtime.md +295 -261
  167. package/kb/site/en/reference/subsystems/sandbox.md +250 -232
  168. package/kb/site/en/reference/subsystems/session-query.md +525 -515
  169. package/kb/site/en/reference/subsystems/session-reference.md +231 -229
  170. package/kb/site/en/reference/subsystems/session.md +1478 -1431
  171. package/kb/site/en/reference/subsystems/sidebar-right.md +165 -165
  172. package/kb/site/en/reference/subsystems/skills.md +356 -356
  173. package/kb/site/en/reference/subsystems/slots.md +235 -231
  174. package/kb/site/en/reference/subsystems/terminal.md +188 -188
  175. package/kb/site/en/reference/subsystems/tools.md +902 -891
  176. package/kb/site/en/reference/subsystems/user-questions.md +330 -327
  177. package/kb/site/en/reference/subsystems/web-client.md +161 -104
  178. package/kb/site/en/reference/subsystems/web-server.md +434 -351
  179. package/kb/site/en/reference/subsystems/web.md +268 -268
  180. package/kb/site/en/reference/subsystems/workflow.md +287 -282
  181. package/kb/site/en/reference/subsystems/workspace.md +743 -651
  182. package/kb/site/en/reference/tool-catalog.md +2867 -2704
  183. package/kb/site/guide/desktop-uninstall-cleanup.md +63 -0
  184. package/kb/site/guide/plugin-market.md +153 -151
  185. package/kb/site/guide/providers.md +234 -234
  186. package/kb/site/guide/quickstart.md +35 -34
  187. package/kb/site/reference/capability-seams.md +789 -767
  188. package/kb/site/reference/config-catalog.md +5432 -5128
  189. package/kb/site/reference/cookbook/adding-a-package.md +175 -175
  190. package/kb/site/reference/cookbook/adding-a-tool.md +107 -106
  191. package/kb/site/reference/cookbook/extension-cookbook.md +182 -139
  192. package/kb/site/reference/cordis-api/context.md +373 -369
  193. package/kb/site/reference/cordis-api/fiber.md +459 -435
  194. package/kb/site/reference/cordis-api/inherited.md +44 -44
  195. package/kb/site/reference/cordis-api/service.md +118 -107
  196. package/kb/site/reference/experimental-persistence-catalog.md +36 -23
  197. package/kb/site/reference/index.md +178 -178
  198. package/kb/site/reference/persistence-catalog.md +9453 -9432
  199. package/kb/site/reference/subsystems/compaction.md +288 -288
  200. package/kb/site/reference/subsystems/core.md +1184 -1183
  201. package/kb/site/reference/subsystems/credentials.md +526 -497
  202. package/kb/site/reference/subsystems/filesystem.md +708 -708
  203. package/kb/site/reference/subsystems/index.md +82 -82
  204. package/kb/site/reference/subsystems/llm-streaming.md +1296 -1294
  205. package/kb/site/reference/subsystems/lsp.md +230 -206
  206. package/kb/site/reference/subsystems/persistence.md +451 -432
  207. package/kb/site/reference/subsystems/plan.md +91 -91
  208. package/kb/site/reference/subsystems/ptc-runtime.md +295 -261
  209. package/kb/site/reference/subsystems/sandbox.md +250 -232
  210. package/kb/site/reference/subsystems/session-query.md +525 -515
  211. package/kb/site/reference/subsystems/session-reference.md +231 -229
  212. package/kb/site/reference/subsystems/session.md +1482 -1435
  213. package/kb/site/reference/subsystems/sidebar-right.md +165 -165
  214. package/kb/site/reference/subsystems/skills.md +356 -356
  215. package/kb/site/reference/subsystems/slots.md +239 -235
  216. package/kb/site/reference/subsystems/terminal.md +188 -188
  217. package/kb/site/reference/subsystems/tools.md +902 -891
  218. package/kb/site/reference/subsystems/user-questions.md +330 -327
  219. package/kb/site/reference/subsystems/web-client.md +161 -104
  220. package/kb/site/reference/subsystems/web-server.md +434 -351
  221. package/kb/site/reference/subsystems/web.md +268 -268
  222. package/kb/site/reference/subsystems/workflow.md +287 -282
  223. package/kb/site/reference/subsystems/workspace.md +743 -651
  224. package/kb/site/reference/tool-catalog.md +2872 -2709
  225. package/lib/index.js +359 -359
  226. package/package.json +68 -68
  227. package/skills/dsh-plugin-dev-kb.md +71 -70
  228. package/kb/extra/subsystems/office-to-pdf.md +0 -87
  229. package/kb/extra/subsystems/office-to-pdf.zh.md +0 -87
@@ -1,229 +1,231 @@
1
- ---
2
- editSource: "docs/subsystems/session-reference.zh.md"
3
- rawMarkdownPath: "reference/subsystems/session-reference.md"
4
- outline: [2,3]
5
- ---
6
-
7
- # 会话引用
8
-
9
- 由 Host 支撑的文件发现,以及结构化的跨会话引用请求与准备后的消息上下文。[文件引用约定](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference)负责仅含路径的补全记录与语法;[会话引用约定](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference)定义规范 URI、当前表层投影、标签安全的 JSON 与字节保留、稳定错误和不可信的模型提示词。宿主适配器使用这些类型,而不会把各自 UI 的提及语法传入 agent(智能体)核心。
10
-
11
- 来源:[`packages/context/file-reference/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference/src/types.ts) · [`packages/context/session-reference/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/session-reference/src/types.ts)
12
-
13
- ## 文件候选项
14
-
15
- `FileReferenceCandidate` 是仅含路径的发现结果。被寻址的 agent 提供工作目录范围;提供方负责排序和命名空间访问,但不会读取文件内容。
16
-
17
- ```ts type-equiv
18
- /** One path-only completion candidate inside the target session cwd. */
19
- interface FileReferenceCandidate {
20
- /** User-facing path accepted by normal prompts and filesystem tools. */
21
- path: string
22
- /** Directories keep completion open; files finish the mention. */
23
- kind: 'file' | 'directory'
24
- }
25
- ```
26
-
27
- ## 输入与候选项
28
-
29
- `SessionReferenceInput` 是与宿主无关的选择。id 具有权威性;label 是随快照携带的显示元数据。
30
-
31
- ```ts type-equiv
32
- /** One source session selected by a host. */
33
- interface SessionReferenceInput {
34
- /** Opaque source session identity. */
35
- sessionId: SessionId
36
- /** Optional user-facing mention label. */
37
- label?: string
38
- }
39
- ```
40
-
41
- `SessionReferenceCandidate` 是面向宿主的发现输出。存在最新 Session 标题时,它的 `label` 使用该标题;可选显示文本则优先使用 subagent 的持久创建 label。筛选会同时搜索两者、Session id 与 cwd,绝不搜索 transcript(文本记录)。Remote 候选在 `displayTitle` 存在时用它标记规范 mention。
42
-
43
- ```ts type-equiv
44
- /** One host-facing candidate from exact session metadata. */
45
- interface SessionReferenceCandidate {
46
- /** Opaque source session identity. */
47
- sessionId: SessionId
48
- /** Latest log-backed title, falling back to the opaque session id. */
49
- label: string
50
- /** Display and canonical-mention text, preferring a subagent's durable creation label over {@link label}. */
51
- displayTitle?: string
52
- /** Source session working directory, when recorded. */
53
- cwd?: string
54
- /**
55
- * True when {@link SessionReferenceCandidate.cwd} is recorded and equals the
56
- * requesting agent's. Hosts that only surface a distinguishing location
57
- * read this instead of comparing paths they never received.
58
- */
59
- sameWorkspace: boolean
60
- /** Source session creation time in Unix epoch milliseconds. */
61
- createdAt: number
62
- }
63
- ```
64
-
65
- `sessionReferenceResolver/candidates` Remote 方法向浏览器消费方提供同一发现能力,并为每个候选附上规范提示词 mention。
66
-
67
- ```ts type-equiv
68
- /** One discovery candidate carrying its canonical prompt mention. */
69
- interface SessionReferenceMentionCandidate extends SessionReferenceCandidate {
70
- /** Canonical `@[label](dsh-session:…)` mention serialized into the prompt draft. */
71
- mention: string
72
- }
73
- ```
74
-
75
- ## 准备后的消息
76
-
77
- 准备过程保留可读的当前消息内容,并最多返回一个聚合上下文。其持久 source 记录会把 `capturedThroughSeq` 保留为被引用 Session 原始 generation 中的坐标,绝不会把它重新解释为所在 Session 的 seq。`capturedFormatVersion` 记录该 generation;缺失表示已发布格式 v0。
78
-
79
- ```ts type-equiv
80
- /** Durable source session, cited event seqs, and snapshot facts for prepared cross-session context. */
81
- interface SessionReferenceSource {
82
- kind: 'session-reference'
83
- /** Material lifted out of another session's log (`recall` context form). */
84
- form: 'recall'
85
- version: 1
86
- references: {
87
- sessionId: string
88
- label: string
89
- /** Source Session format generation; absence identifies version 0. */
90
- capturedFormatVersion?: number
91
- capturedThroughSeq: OptionalSessionSeq
92
- compacted: boolean
93
- originalMessages: number
94
- retainedMessages: number
95
- omittedMessages: number
96
- omittedBytes: number
97
- truncated: boolean
98
- inputIndex: number
99
- }[]
100
- }
101
- ```
102
-
103
- ```ts type-equiv
104
- /** Direct message content and optional referenced-session context. */
105
- interface PreparedReferencedMessage {
106
- /** Readable message content after host mention tokens are removed. */
107
- content: ContentBlock[]
108
- /** Aggregated untrusted snapshot, absent when the message has no references. */
109
- additionalContext?: UserMessage
110
- }
111
- ```
112
-
113
- ## 错误
114
-
115
- `SessionReferenceError.code` 区分无效配置或输入、自引用、数量限制、源读取失败、预算失败和取消。宿主协议会把这些 code 映射到各自的错误封装,无需检查提示词字节。
116
-
117
- ```ts type-equiv
118
- /** Stable failure codes exposed to host adapters. */
119
- type SessionReferenceErrorCode =
120
- | 'SESSION_REFERENCE_INVALID_CONFIG'
121
- | 'SESSION_REFERENCE_INVALID_REFERENCE'
122
- | 'SESSION_REFERENCE_SELF_REFERENCE'
123
- | 'SESSION_REFERENCE_TOO_MANY'
124
- | 'SESSION_REFERENCE_READ_FAILED'
125
- | 'SESSION_REFERENCE_BUDGET_EXCEEDED'
126
- | 'SESSION_REFERENCE_CANCELLED'
127
- ```
128
-
129
- <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
130
-
131
- <a id="cordis-surface"></a>
132
-
133
- ## Cordis API
134
-
135
- Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
136
-
137
- <a id="ctxfilereferences--filereferenceservice-abstract-seam"></a>
138
-
139
- ### `ctx.fileReferences` — `FileReferenceService` (abstract seam)
140
-
141
- Host capability for cancellable file-reference discovery.
142
-
143
- ```ts cordis-catalog
144
- /**
145
- * List file and directory candidates for one agent's working directory.
146
- * @param agent - target agent whose session cwd bounds discovery.
147
- * @param query - path text following `@` or `@"`.
148
- * @param signal - caller cancellation.
149
- * @returns deterministic path-only candidates.
150
- */
151
- abstract list( agent: Agent, query: string, signal: AbortSignal, ): Promise<FileReferenceCandidate[]>
152
- ```
153
-
154
- Types: [Agent](./core.md)
155
-
156
- Source: [`packages/context/file-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference/src/index.ts)
157
-
158
- <a id="ctxsessionfilereferences--sessionfilereferences"></a>
159
-
160
- ### `ctx.sessionFileReferences` — `SessionFileReferences`
161
-
162
- Host Remote adapter over the composed file-reference provider.
163
-
164
- ```ts cordis-catalog
165
- /**
166
- * List file and directory candidates for one Agent's working directory.
167
- * @param agent - target Agent resolved from the Session identity on the wire.
168
- * @param query - path text following `@` or `@"`.
169
- * @param signal - caller cancellation.
170
- * @returns deterministic path-only candidates from the composed provider.
171
- */
172
- @Remote list( agent: Agent, query: string, signal: AbortSignal, ): Promise<FileReferenceCandidate[]>
173
- ```
174
-
175
- Types: [Agent](./core.md)
176
-
177
- Source: [`packages/api/session-controller/src/file-references.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/session-controller/src/file-references.ts)
178
-
179
- <a id="ctxsessionreferenceresolver--sessionreferenceresolver"></a>
180
-
181
- ### `ctx.sessionReferenceResolver` — `SessionReferenceResolver`
182
-
183
- Exact-read consumer that prepares immutable cross-session message context.
184
-
185
- ```ts cordis-catalog
186
- /**
187
- * List reference candidates, ranked by working-directory affinity.
188
- *
189
- * Discovery runs at keystroke rate, so titles and subagent labels only ever
190
- * come from projection reads; sessions without either fall back to their id.
191
- * @param agent - target agent; self is excluded and its cwd drives ranking.
192
- * @param query - optional case-insensitive session-id/cwd/title/display-title substring.
193
- * @param limit - optional positive result cap.
194
- * @param signal - optional cancellation boundary for host autocomplete teardown.
195
- * @returns candidates with canonical mention labels and presentation titles.
196
- */
197
- async listCandidates( agent: Agent, query: string = '', limit: number = this.config.candidateLimit, signal?: AbortSignal, ): Promise<SessionReferenceCandidate[]>
198
-
199
- /**
200
- * Remote face of {@link listCandidates}: the configured candidate limit
201
- * applies, and every candidate carries the canonical mention a host inserts
202
- * into the prompt draft.
203
- * @param agent - target agent; self is excluded and its cwd drives ranking.
204
- * @param query - optional case-insensitive session-id/cwd/title substring.
205
- * @param signal - caller cancellation.
206
- * @returns mention-carrying candidates in rank order.
207
- */
208
- @Remote('candidates') async remoteExportCandidates( agent: Agent, query: string, signal: AbortSignal, ): Promise<SessionReferenceMentionCandidate[]>
209
-
210
- /**
211
- * Snapshot all references for one accepted direct message and return one aggregated durable context.
212
- * Automatic budgets use the context capacity of `route`.
213
- * Missing model capacity or adapter uses 64 KiB; other metadata lookup failures and cancellation reject preparation.
214
- * Truncated previews include omission facts and a full-snapshot spill locator, or an explicit unavailable notice.
215
- * Cancellation prevents context publication, including when storage completes after cancellation.
216
- * @param agent - target agent; references to it are rejected.
217
- * @param content - already host-normalized readable message content.
218
- * @param references - structured source sessions in mention order.
219
- * @param route - provider and model whose context capacity sizes the previews.
220
- * @param signal - optional cancellation boundary for the active turn.
221
- * @returns detached content and optional referenced-session context.
222
- */
223
- async prepare( agent: Agent, content: ContentBlock[], references: SessionReferenceInput[], route: Readonly<Pick<LlmCallConfig, 'provider' | 'model'>>, signal?: AbortSignal, ): Promise<PreparedReferencedMessage>
224
- ```
225
-
226
- Types: [Agent](./core.md) · [ContentBlock](./llm-streaming.md) · [LlmCallConfig](./llm-streaming.md)
227
-
228
- Source: [`packages/context/session-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/session-reference/src/index.ts)
229
- <!-- END GENERATED cordis-surface -->
1
+ ---
2
+ editSource: "docs/subsystems/session-reference.zh.md"
3
+ rawMarkdownPath: "reference/subsystems/session-reference.md"
4
+ outline: [2,3]
5
+ ---
6
+
7
+ # 会话引用
8
+
9
+ 由 Host 支撑的文件发现,以及结构化的跨会话引用请求与准备后的消息上下文。[文件引用约定](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference)负责仅含路径的补全记录与语法;[会话引用约定](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference)定义规范 URI、当前表层投影、标签安全的 JSON 与字节保留、稳定错误和不可信的模型提示词。宿主适配器使用这些类型,而不会把各自 UI 的提及语法传入 agent(智能体)核心。
10
+
11
+ 来源:[`packages/context/file-reference/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference/src/types.ts) · [`packages/context/session-reference/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/session-reference/src/types.ts)
12
+
13
+ ## 文件候选项
14
+
15
+ `FileReferenceCandidate` 是仅含路径的发现结果。被寻址的 agent 提供工作目录范围;提供方负责排序和命名空间访问,但不会读取文件内容。
16
+
17
+ ```ts type-equiv
18
+ /** One path-only completion candidate inside the target session cwd. */
19
+ interface FileReferenceCandidate {
20
+ /** User-facing path accepted by normal prompts and filesystem tools. */
21
+ path: string
22
+ /** Directories keep completion open; files finish the mention. */
23
+ kind: 'file' | 'directory'
24
+ }
25
+ ```
26
+
27
+ ## 输入与候选项
28
+
29
+ `SessionReferenceInput` 是与宿主无关的选择。id 具有权威性;label 是随快照携带的显示元数据。
30
+
31
+ ```ts type-equiv
32
+ /** One source session selected by a host. */
33
+ interface SessionReferenceInput {
34
+ /** Opaque source session identity. */
35
+ sessionId: SessionId
36
+ /** Optional user-facing mention label. */
37
+ label?: string
38
+ }
39
+ ```
40
+
41
+ `SessionReferenceCandidate` 是面向宿主的发现输出。存在最新 Session 标题时,它的 `label` 使用该标题;可选显示文本则优先使用 subagent 的持久创建 label。筛选会同时搜索两者、Session id 与 cwd,绝不搜索 transcript(文本记录)。Remote 候选在 `displayTitle` 存在时用它标记规范 mention。
42
+
43
+ ```ts type-equiv
44
+ /** One host-facing candidate from exact session metadata. */
45
+ interface SessionReferenceCandidate {
46
+ /** Opaque source session identity. */
47
+ sessionId: SessionId
48
+ /** Latest log-backed title, falling back to the opaque session id. */
49
+ label: string
50
+ /** Display and canonical-mention text, preferring a subagent's durable creation label over {@link label}. */
51
+ displayTitle?: string
52
+ /** Source session working directory, when recorded. */
53
+ cwd?: string
54
+ /**
55
+ * True when {@link SessionReferenceCandidate.cwd} is recorded and equals the
56
+ * requesting agent's. Hosts that only surface a distinguishing location
57
+ * read this instead of comparing paths they never received.
58
+ */
59
+ sameWorkspace: boolean
60
+ /** Source session creation time in Unix epoch milliseconds. */
61
+ createdAt: number
62
+ }
63
+ ```
64
+
65
+ `sessionReferenceResolver/candidates` Remote 方法向浏览器消费方提供同一发现能力,并为每个候选附上规范提示词 mention。
66
+
67
+ ```ts type-equiv
68
+ /** One discovery candidate carrying its canonical prompt mention. */
69
+ interface SessionReferenceMentionCandidate extends SessionReferenceCandidate {
70
+ /** Canonical `@[label](dsh-session:…)` mention serialized into the prompt draft. */
71
+ mention: string
72
+ }
73
+ ```
74
+
75
+ ## 准备后的消息
76
+
77
+ 准备过程保留可读的当前消息内容,并最多返回一个聚合上下文。其持久 source 记录会把 `capturedThroughSeq` 保留为被引用 Session 原始 generation 中的坐标,绝不会把它重新解释为所在 Session 的 seq。`capturedFormatVersion` 记录该 generation;缺失表示已发布格式 v0。
78
+
79
+ ```ts type-equiv
80
+ /** Durable source session, cited event seqs, and snapshot facts for prepared cross-session context. */
81
+ interface SessionReferenceSource {
82
+ kind: 'session-reference'
83
+ /** Material lifted out of another session's log (`recall` context form). */
84
+ form: 'recall'
85
+ version: 1
86
+ references: {
87
+ sessionId: string
88
+ label: string
89
+ /** Source Session format generation; absence identifies version 0. */
90
+ capturedFormatVersion?: number
91
+ capturedThroughSeq: OptionalSessionSeq
92
+ compacted: boolean
93
+ originalMessages: number
94
+ retainedMessages: number
95
+ omittedMessages: number
96
+ omittedBytes: number
97
+ truncated: boolean
98
+ inputIndex: number
99
+ }[]
100
+ }
101
+ ```
102
+
103
+ ```ts type-equiv
104
+ /** Direct message content and optional referenced-session context. */
105
+ interface PreparedReferencedMessage {
106
+ /** Readable message content after host mention tokens are removed. */
107
+ content: ContentBlock[]
108
+ /** Aggregated untrusted snapshot, absent when the message has no references. */
109
+ additionalContext?: UserMessage
110
+ }
111
+ ```
112
+
113
+ ## 错误
114
+
115
+ `SessionReferenceError.code` 区分无效配置或输入、自引用、数量限制、源读取失败、预算失败和取消。宿主协议会把这些 code 映射到各自的错误封装,无需检查提示词字节。
116
+
117
+ ```ts type-equiv
118
+ /** Stable failure codes exposed to host adapters. */
119
+ type SessionReferenceErrorCode =
120
+ | 'SESSION_REFERENCE_INVALID_CONFIG'
121
+ | 'SESSION_REFERENCE_INVALID_REFERENCE'
122
+ | 'SESSION_REFERENCE_SELF_REFERENCE'
123
+ | 'SESSION_REFERENCE_TOO_MANY'
124
+ | 'SESSION_REFERENCE_READ_FAILED'
125
+ | 'SESSION_REFERENCE_BUDGET_EXCEEDED'
126
+ | 'SESSION_REFERENCE_CANCELLED'
127
+ ```
128
+
129
+ <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
130
+
131
+ <a id="cordis-surface"></a>
132
+
133
+ ## Cordis API
134
+
135
+ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
136
+
137
+ <a id="ctxfilereferences--filereferenceservice-abstract-seam"></a>
138
+
139
+ ### `ctx.fileReferences` — `FileReferenceService` (abstract seam)
140
+
141
+ Host capability for cancellable file-reference discovery.
142
+
143
+ ```ts cordis-catalog
144
+ /**
145
+ * List file and directory candidates for one agent's working directory.
146
+ * @param agent - target agent whose session cwd bounds discovery.
147
+ * @param query - path text following `@` or `@"`.
148
+ * @param signal - caller cancellation.
149
+ * @returns deterministic path-only candidates.
150
+ */
151
+ abstract list( agent: Agent, query: string, signal: AbortSignal, ): Promise<FileReferenceCandidate[]>
152
+ ```
153
+
154
+ Types: [Agent](./core.md)
155
+
156
+ Source: [`packages/context/file-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference/src/index.ts)
157
+
158
+ <a id="ctxsessionfilereferences--sessionfilereferences"></a>
159
+
160
+ ### `ctx.sessionFileReferences` — `SessionFileReferences`
161
+
162
+ Host Remote adapter over the composed file-reference provider.
163
+
164
+ ```ts cordis-catalog
165
+ /**
166
+ * List file and directory candidates for one Agent's working directory.
167
+ * @param agent - target Agent resolved from the Session identity on the wire.
168
+ * @param query - path text following `@` or `@"`.
169
+ * @param signal - caller cancellation.
170
+ * @returns deterministic path-only candidates from the composed provider.
171
+ */
172
+ @Remote list( agent: Agent, query: string, signal: AbortSignal, ): Promise<FileReferenceCandidate[]>
173
+ ```
174
+
175
+ Types: [Agent](./core.md)
176
+
177
+ Source: [`packages/api/session-controller/src/file-references.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/session-controller/src/file-references.ts)
178
+
179
+ <a id="ctxsessionreferenceresolver--sessionreferenceresolver"></a>
180
+
181
+ ### `ctx.sessionReferenceResolver` — `SessionReferenceResolver`
182
+
183
+ Exact-read consumer that prepares immutable cross-session message context.
184
+
185
+ ```ts cordis-catalog
186
+ /**
187
+ * List reference candidates, ranked by working-directory affinity.
188
+ *
189
+ * Discovery runs at keystroke rate, so titles and subagent labels only ever
190
+ * come from projection reads; sessions without either fall back to their id.
191
+ * @param agent - target agent; self is excluded and its cwd drives ranking.
192
+ * @param query - optional search text: label and display title match
193
+ * fuzzily, session id and working directory as substrings. Matches keep the
194
+ * working-directory affinity order; relevance breaks ties within it.
195
+ * @param limit - optional positive result cap.
196
+ * @param signal - optional cancellation boundary for host autocomplete teardown.
197
+ * @returns candidates with canonical mention labels and presentation titles.
198
+ */
199
+ async listCandidates( agent: Agent, query: string = '', limit: number = this.config.candidateLimit, signal?: AbortSignal, ): Promise<SessionReferenceCandidate[]>
200
+
201
+ /**
202
+ * Remote face of {@link listCandidates}: the configured candidate limit
203
+ * applies, and every candidate carries the canonical mention a host inserts
204
+ * into the prompt draft.
205
+ * @param agent - target agent; self is excluded and its cwd drives ranking.
206
+ * @param query - optional search text, matched as {@link listCandidates} matches it.
207
+ * @param signal - caller cancellation.
208
+ * @returns mention-carrying candidates in rank order.
209
+ */
210
+ @Remote('candidates') async remoteExportCandidates( agent: Agent, query: string, signal: AbortSignal, ): Promise<SessionReferenceMentionCandidate[]>
211
+
212
+ /**
213
+ * Snapshot all references for one accepted direct message and return one aggregated durable context.
214
+ * Automatic budgets use the context capacity of `route`.
215
+ * Missing model capacity or adapter uses 64 KiB; other metadata lookup failures and cancellation reject preparation.
216
+ * Truncated previews include omission facts and a full-snapshot spill locator, or an explicit unavailable notice.
217
+ * Cancellation prevents context publication, including when storage completes after cancellation.
218
+ * @param agent - target agent; references to it are rejected.
219
+ * @param content - already host-normalized readable message content.
220
+ * @param references - structured source sessions in mention order.
221
+ * @param route - provider and model whose context capacity sizes the previews.
222
+ * @param signal - optional cancellation boundary for the active turn.
223
+ * @returns detached content and optional referenced-session context.
224
+ */
225
+ async prepare( agent: Agent, content: ContentBlock[], references: SessionReferenceInput[], route: Readonly<Pick<LlmCallConfig, 'provider' | 'model'>>, signal?: AbortSignal, ): Promise<PreparedReferencedMessage>
226
+ ```
227
+
228
+ Types: [Agent](./core.md) · [ContentBlock](./llm-streaming.md) · [LlmCallConfig](./llm-streaming.md)
229
+
230
+ Source: [`packages/context/session-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/session-reference/src/index.ts)
231
+ <!-- END GENERATED cordis-surface -->