@kirkchinese/dsh-citeciter 0.9.0-beta.1 → 0.9.0-beta.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.
Files changed (61) hide show
  1. package/README.md +20 -15
  2. package/README.zh.md +20 -15
  3. package/lib/client.js +3848 -3210
  4. package/lib/index.js +1579 -305
  5. package/lib/{typert-common-BRv6PLDv.js → typert-common-B3cX-hWj.js} +1 -1
  6. package/lib/typert.host.js +2 -2
  7. package/lib/typert.remote-client.js +1 -1
  8. package/lib/types/actions.d.ts +25 -5
  9. package/lib/types/blackboard-tool.d.ts +6 -0
  10. package/lib/types/board-animation.d.ts +278 -0
  11. package/lib/types/board-capture-protocol.d.ts +61 -1
  12. package/lib/types/board-capture.d.ts +2 -0
  13. package/lib/types/board.d.ts +62 -3
  14. package/lib/types/client/action-controller.d.ts +9 -2
  15. package/lib/types/client/action-executor.d.ts +5 -1
  16. package/lib/types/client/board-timeline.d.ts +30 -0
  17. package/lib/types/client/companion-controller.d.ts +14 -5
  18. package/lib/types/client/components/{WheelSettings.d.ts → ActionSettings.d.ts} +2 -2
  19. package/lib/types/client/components/ActionWheel.d.ts +4 -4
  20. package/lib/types/client/components/BoardCaptureSurface.d.ts +3 -1
  21. package/lib/types/client/components/BoardView.d.ts +3 -1
  22. package/lib/types/client/components/CiteCiterSettings.d.ts +1 -1
  23. package/lib/types/client/components/CiteLauncher.d.ts +7 -2
  24. package/lib/types/client/components/CitePanel.d.ts +4 -1
  25. package/lib/types/client/components/CiterPet.d.ts +10 -0
  26. package/lib/types/client/components/DocumentReader.d.ts +2 -4
  27. package/lib/types/client/components/LearningRoute.d.ts +3 -4
  28. package/lib/types/client/components/ModelChoice.d.ts +7 -3
  29. package/lib/types/client/components/PermissionControl.d.ts +1 -1
  30. package/lib/types/client/components/ReferenceAttachments.d.ts +6 -2
  31. package/lib/types/client/components/SelectionToolbar.d.ts +19 -0
  32. package/lib/types/client/components/ToolMessage.d.ts +1 -1
  33. package/lib/types/client/components/TopicActions.d.ts +15 -4
  34. package/lib/types/client/components/TopicHeader.d.ts +8 -3
  35. package/lib/types/client/components/TopicModelControls.d.ts +1 -1
  36. package/lib/types/client/components/TopicNavigation.d.ts +4 -4
  37. package/lib/types/client/components/TopicTitle.d.ts +6 -2
  38. package/lib/types/client/components/UserMessageBody.d.ts +2 -1
  39. package/lib/types/client/draft-references.d.ts +6 -0
  40. package/lib/types/client/host-icons.d.ts +1 -1
  41. package/lib/types/client/selection-toolbar.d.ts +36 -0
  42. package/lib/types/client/tool-presentation.d.ts +14 -0
  43. package/lib/types/client/wheel-gesture.d.ts +6 -1
  44. package/lib/types/host-agent-modules.d.ts +15 -2
  45. package/lib/types/line-diff.d.ts +12 -0
  46. package/lib/types/message-projection.d.ts +1 -0
  47. package/lib/types/observer.d.ts +0 -30
  48. package/lib/types/source-read-tool.d.ts +3 -3
  49. package/lib/types/source-session.d.ts +3 -0
  50. package/lib/types/source-transcript.d.ts +58 -0
  51. package/lib/types/topic-context.d.ts +74 -0
  52. package/lib/types/topic-log.d.ts +2 -0
  53. package/lib/types/topic-runtime.d.ts +4 -0
  54. package/lib/types/topic.d.ts +215 -14
  55. package/lib/types/typert-common.d.ts +124 -5
  56. package/lib/types/typert.host.d.ts +311 -14
  57. package/lib/types/workspace-changes.d.ts +90 -0
  58. package/lib/{update-DDut5jKW.js → update-CGteMuNJ.js} +684 -19
  59. package/package.json +62 -62
  60. package/lib/types/client/components/ChoicePopover.d.ts +0 -8
  61. package/lib/types/client/components/TopicSettingsDialog.d.ts +0 -19
package/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # CiteCiter
2
2
 
3
- [简体中文](README.zh.md) · [npm](https://www.npmjs.com/package/@kirkchinese/dsh-citeciter) · [Changelog](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.1/CHANGELOG.md) · [Issues](https://github.com/kirkchinese/CiteCiter/issues)
3
+ [简体中文](README.zh.md) · [npm](https://www.npmjs.com/package/@kirkchinese/dsh-citeciter) · [Changelog](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.3/CHANGELOG.md) · [Issues](https://github.com/kirkchinese/CiteCiter/issues)
4
4
 
5
- ![CiteCiter](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.1/assets/hero/citeciter-hero.png)
5
+ ![CiteCiter](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.3/assets/hero/citeciter-hero.png)
6
6
 
7
7
  **The AI finished the task. I still want to understand how it did it.**
8
8
 
9
9
  CiteCiter is a [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness) plugin that helps you learn from your agent's real work. Select part of a conversation, a tool result or a document, ask about it in a separate Topic that keeps its source, use a blackboard to see how the pieces relate, then return to your work. The main conversation is never modified.
10
10
 
11
- [![CiteCiter demo](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.1/assets/docs/video-cover.png)](https://www.bilibili.com/video/BV1tqeA65EJ8/)
11
+ [![CiteCiter demo](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.3/assets/docs/video-cover.png)](https://www.bilibili.com/video/BV1tqeA65EJ8/)
12
12
 
13
13
  [Watch the demo on Bilibili](https://www.bilibili.com/video/BV1tqeA65EJ8/) (recorded with an earlier version; the interface has changed slightly).
14
14
 
@@ -18,7 +18,7 @@ CiteCiter needs DSH and a working model. The plugin declares exact host versions
18
18
 
19
19
  | DSH version | CiteCiter version |
20
20
  | --- | --- |
21
- | `0.2.0-rc.2` (including the official Desktop), `0.2.1-alpha.1`, `0.2.1-alpha.2` | `0.9.0-beta.1` |
21
+ | `0.2.0-rc.2` (including the official Desktop), `0.2.1-alpha.1` through `0.2.1-alpha.5`, `0.2.1-rc.1`, `0.2.1-rc.2` | `0.9.0-beta.3` |
22
22
  | `0.1.7-rc.2` | `0.9.0-alpha.3` |
23
23
  | `0.1.5-rc.1` | `0.8.2` |
24
24
  | `0.1.2-rc.1` | `0.6.0` |
@@ -28,13 +28,13 @@ CiteCiter needs DSH and a working model. The plugin declares exact host versions
28
28
  **CLI and Web:**
29
29
 
30
30
  ```sh
31
- dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-beta.1
31
+ dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-beta.3
32
32
  ```
33
33
 
34
34
  You can also install a release tag straight from the repository, which contains the built plugin, so nothing is built at install time:
35
35
 
36
36
  ```sh
37
- dsh plugin --profile web add "git+https://github.com/kirkchinese/CiteCiter.git#v0.9.0-beta.1"
37
+ dsh plugin --profile web add "git+https://github.com/kirkchinese/CiteCiter.git#v0.9.0-beta.3"
38
38
  ```
39
39
 
40
40
  Restart DSH and refresh the page after installing or upgrading. Do not use `dsh plugin allow-version` to force a plugin that does not match your host version. Do not run two host processes on the same DSH home.
@@ -43,19 +43,19 @@ Restart DSH and refresh the page after installing or upgrading. Do not use `dsh
43
43
 
44
44
  Say your agent changed some code and you wonder: "Why does this async save affect typing?"
45
45
 
46
- 1. Select the relevant text in the conversation, a tool result or a document, hold the right mouse button to open the wheel, and choose 自由提问 (free question) or 解释这段 (explain this).
47
- 2. Citer opens a draft with the source address and the excerpt as removable attachments. Write your question, choose a model, and send it yourself.
46
+ 1. Select the relevant text in the conversation, a tool result or a document; the Citer toolbar appears next to it.
47
+ 2. Click 解释 (explain) to get an explanation right away, or 提问 (ask) to put the source and the excerpt into the composer as removable attachments, write your own question and send it.
48
48
  3. Keep asking about the material; when it helps, have the model draw the flow on the blackboard or summarize learning cards.
49
49
  4. Go back to the task and check your understanding against the code, a tool result or a small experiment.
50
50
 
51
- Creating a Topic or choosing a wheel action only prepares a draft; the model runs only after you send. Explanations and boards can still be wrong; they help you understand and check, not replace evidence.
51
+ Creating a Topic or choosing 提问 only prepares a draft; preset actions such as 解释 and 翻译 send when you choose them, or only fill the composer if you change that in Settings. Explanations and boards can still be wrong; they help you understand and check, not replace evidence.
52
52
 
53
53
  ## Features
54
54
 
55
55
  | You want to | CiteCiter provides |
56
56
  | --- | --- |
57
57
  | Understand an answer, code or tool result | A separate Topic with a source citation; follow-ups never touch the main conversation |
58
- | See relationships and processes | A blackboard with Markdown, formulas, tables, SVG, images and sandboxed HTML; vision models can inspect the rendered board and fix it |
58
+ | See relationships and processes | A blackboard with Markdown, formulas, tables, SVG, images and sandboxed HTML; vision models can inspect the rendered board and fix it; board elements can be animated with keyframes, paths or formulas, and you can play, pause, scrub and step through the animation |
59
59
  | Keep what you learned | Learning cards you can export and revise, with prose and code examples shown separately |
60
60
  | Discuss real files | File and image attachments, a `.txt` / `.md` document reader, and a "CiteCiter 学习" entry in native file previews |
61
61
  | Act on what you understood | DSH models, tools, approvals, permissions, queueing and steering; new Topics are read-only by default |
@@ -63,21 +63,25 @@ Creating a Topic or choosing a wheel action only prepares a draft; the model run
63
63
 
64
64
  ## Using CiteCiter
65
65
 
66
- **Wheel and citations.** After selecting text, hold the right mouse button to open the eight-slot wheel, move to an action and release. A short right click lets you click a slot, Shift + right click keeps the browser menu, the arrow keys, digits 1–8 and Enter also select, and Esc cancels. 自由提问 adds the selection to the selected, unarchived Topic, or creates one if none is available; other actions create a new Topic by default. Slots, prompts, the default model and where the panel opens are all configurable in Settings.
66
+ **Toolbar and actions.** After you select text, a toolbar appears next to it: the first four actions are shown directly, and the rest plus 在新 Topic 中提问 (ask in a new Topic) are under "⋯". Actions go to the open Topic by default, or create one when there is none or it is archived. 提问 opens the composer for your own question; preset actions such as 解释, 找错误 and 翻译 send directly without touching an existing draft. Action names, prompts and order are configurable in Settings. If you prefer gestures, turn on the wheel in Settings: hold the right mouse button (or the chosen key) after selecting text, move to an action and release.
67
+
68
+ **Desktop pet.** While Citer is closed, its mascot peeks over the window edge; she stands up when the pointer comes near, and a click opens Citer. Drag her to either side at any height and the place is remembered. A small dot appears next to her when an answer finishes or a question waits for you while Citer is closed.
67
69
 
68
70
  **Composer.** The composer offers attachments, permission mode, model and reasoning effort, and Send. Enter sends, Shift + Enter adds a line, and Enter never sends during IME composition. While a reply is generating, Enter follows DSH's queue/steer preference and Ctrl + Enter uses the other one. Add files from the attachment menu, paste images, or drop files onto the Citer panel.
69
71
 
70
72
  **Drafts.** Drafts save silently in the background. Edits to the same Topic from several windows merge automatically; where they overlap, the window you are typing in wins. After a successful send, only what was sent is cleared, and anything written meanwhile is kept.
71
73
 
72
- **Learning route and cards.** The learning route is off by default; when on, the model plans its explanation with DSH todos. You can ask for learning cards at any time; the model checks conclusions, conditions and calculations first, but self-checking does not guarantee correctness. Active recall is off by default; when on, cards show their self-test question first.
74
+ **Source and codebase.** Citer reads the source conversation when it needs to, as a transcript of user and assistant messages, tool calls and results, each marked with its position; long tool output is shortened first and read in full only when needed. Turn on 自动附上来源摘录 (automatic source excerpt) in Settings to add the source's newest records at the start of each turn after the source attachment has been sent; it is off by default. 代码库变化感知 (codebase change awareness) lists, at the start of each turn, the files that changed in the git working tree since Citer's previous turn, uncommitted changes included; Citer reads line-level diffs with a tool when they matter. Settings can attach the diffs directly or turn the notice off. Both are recorded in the Topic log, and your repository is never written.
75
+
76
+ **Learning route and cards.** The learning route is off by default and can be turned on in the Topic menu (⋯); when on, the model plans its explanation with DSH todos. You can ask for learning cards at any time; the model checks conclusions, conditions and calculations first, but self-checking does not guarantee correctness. Active recall is off by default; when on, cards show their self-test question first.
73
77
 
74
- **Images.** Image generation and viewing tools come from host plugins such as [Codex Connect](https://github.com/franksong2702/dsh-codex-connect), enabled separately in each profile.
78
+ **Codex Connect.** CiteCiter is adapted to the community plugin [Codex Connect](https://github.com/franksong2702/dsh-codex-connect) (`dsh-codex-connect`). With it installed and enabled in the same profile, Topics can use its ChatGPT / Codex models and GPT Image tools, and generated images appear under the tool card. Its image tools are enabled separately in Codex Connect's settings; see its documentation for installation, sign-in and supported DSH versions.
75
79
 
76
80
  ## Permissions and data
77
81
 
78
82
  New Topics are **read-only** by default, even when the source session has more permissions. A Topic can change the workspace only after you choose another permission mode in the composer or change the default for new Topics in Settings; DSH approvals and sandboxing still apply.
79
83
 
80
- Topics appear only in the Citer list, never in DSH's session list. Double-click a title or press F2 to rename it; an archived Topic returns to the list when you send to it again. Permanent deletion asks for the full Session ID and removes only that Topic's records, drafts and attachments.
84
+ Topics appear only in the Citer list, never in DSH's session list. A new Topic starts with the excerpt or question as its title, and DSH's title service summarizes it on the first answer; rename it by double-clicking the title, pressing F2 or using the Topic menu, after which the title no longer changes on its own; an archived Topic returns to the list when you send to it again. Permanent deletion asks for the full Session ID and removes only that Topic's records, drafts and attachments.
81
85
 
82
86
  CiteCiter stores its data in each source session's directory:
83
87
 
@@ -90,6 +94,7 @@ CiteCiter stores its data in each source session's directory:
90
94
  │ ├── topic.json Topic information
91
95
  │ ├── draft/ unsent text, references and attachments
92
96
  │ ├── question-drafts/ unsubmitted question answers
97
+ │ ├── workspace/ codebase snapshots for change awareness (separate git objects)
93
98
  │ └── sessions/ the Topic's own session log
94
99
  └── deleted/ deletion records (identity only, no content)
95
100
  ```
@@ -113,6 +118,6 @@ CiteCiter turns real AI work into material you can cite, question and check. Sta
113
118
 
114
119
  Bring a task where "the agent finished, but I still can't explain it" to the [issue tracker](https://github.com/kirkchinese/CiteCiter/issues). Include your DSH and plugin versions and whether you got stuck installing, citing and asking, or understanding the answer. Remove keys and private content before pasting material.
115
120
 
116
- See [CONTRIBUTING.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.1/CONTRIBUTING.md) for development and [docs/product.zh.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.1/docs/product.zh.md) (Chinese) for the product rules. [Claude2DSH](https://github.com/kirkchinese/claude2dsh), by the same author, migrates sessions and assets between Claude Code and DSH.
121
+ See [CONTRIBUTING.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.3/CONTRIBUTING.md) for development and [docs/product.zh.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.3/docs/product.zh.md) (Chinese) for the product rules. [Claude2DSH](https://github.com/kirkchinese/claude2dsh), by the same author, migrates sessions and assets between Claude Code and DSH.
117
122
 
118
123
  MIT License.
package/README.zh.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # CiteCiter
2
2
 
3
- [English](README.md) · [npm](https://www.npmjs.com/package/@kirkchinese/dsh-citeciter) · [更新记录](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.1/CHANGELOG.md) · [问题反馈](https://github.com/kirkchinese/CiteCiter/issues)
3
+ [English](README.md) · [npm](https://www.npmjs.com/package/@kirkchinese/dsh-citeciter) · [更新记录](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.3/CHANGELOG.md) · [问题反馈](https://github.com/kirkchinese/CiteCiter/issues)
4
4
 
5
- ![CiteCiter](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.1/assets/hero/citeciter-hero.png)
5
+ ![CiteCiter](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.3/assets/hero/citeciter-hero.png)
6
6
 
7
7
  **AI 已经完成了任务,我还想弄明白它是怎么做的。**
8
8
 
9
9
  CiteCiter 是 [DeepSeek Harness(DSH)](https://github.com/deepseek-ai/deepseek-harness) 的插件,帮助你从 Agent 的真实工作中学习。选中对话、工具结果或文档中的一段内容,在保留来源的独立 Topic 里追问,用小黑板理解关键关系,再回到原来的工作。主对话不会被改动。
10
10
 
11
- [![CiteCiter 演示](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.1/assets/docs/video-cover.png)](https://www.bilibili.com/video/BV1tqeA65EJ8/)
11
+ [![CiteCiter 演示](https://raw.githubusercontent.com/kirkchinese/CiteCiter/v0.9.0-beta.3/assets/docs/video-cover.png)](https://www.bilibili.com/video/BV1tqeA65EJ8/)
12
12
 
13
13
  [在 B 站观看演示](https://www.bilibili.com/video/BV1tqeA65EJ8/)(早期版本录制,界面与当前版本略有不同)。
14
14
 
@@ -18,7 +18,7 @@ CiteCiter 需要 DSH 和一个可用的模型。插件声明了精确的宿主
18
18
 
19
19
  | DSH 版本 | CiteCiter 版本 |
20
20
  | --- | --- |
21
- | `0.2.0-rc.2`(含官方桌面版)、`0.2.1-alpha.1`、`0.2.1-alpha.2` | `0.9.0-beta.1` |
21
+ | `0.2.0-rc.2`(含官方桌面版)、`0.2.1-alpha.1` 至 `0.2.1-alpha.5`、`0.2.1-rc.1`、`0.2.1-rc.2` | `0.9.0-beta.3` |
22
22
  | `0.1.7-rc.2` | `0.9.0-alpha.3` |
23
23
  | `0.1.5-rc.1` | `0.8.2` |
24
24
  | `0.1.2-rc.1` | `0.6.0` |
@@ -28,13 +28,13 @@ CiteCiter 需要 DSH 和一个可用的模型。插件声明了精确的宿主
28
28
  **命令行与 Web:**
29
29
 
30
30
  ```sh
31
- dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-beta.1
31
+ dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-beta.3
32
32
  ```
33
33
 
34
34
  也可以从仓库安装某个发布标签,仓库内已包含构建好的插件,安装时无需构建:
35
35
 
36
36
  ```sh
37
- dsh plugin --profile web add "git+https://github.com/kirkchinese/CiteCiter.git#v0.9.0-beta.1"
37
+ dsh plugin --profile web add "git+https://github.com/kirkchinese/CiteCiter.git#v0.9.0-beta.3"
38
38
  ```
39
39
 
40
40
  安装或升级后重启 DSH 并刷新页面。不要用 `dsh plugin allow-version` 强行加载与宿主版本不匹配的插件。同一个 DSH 主目录不要同时运行两个宿主进程。
@@ -43,19 +43,19 @@ dsh plugin --profile web add "git+https://github.com/kirkchinese/CiteCiter.git#v
43
43
 
44
44
  例如,Agent 修改了程序,你想知道"为什么这段异步保存逻辑会影响输入?"
45
45
 
46
- 1. 在主对话、工具结果或文档中选中相关内容,按住右键打开轮盘,选择"自由提问"或"解释这段"。
47
- 2. Citer 打开草稿,来源地址和选文作为可移除的附件。写下问题、选择模型,再手动发送。
46
+ 1. 在主对话、工具结果或文档中选中相关内容,旁边会出现 Citer 工具条。
47
+ 2. 点"解释"直接得到讲解;或者点"提问",来源和选文会作为可移除的附件放进输入框,写下自己的问题后发送。
48
48
  3. 围绕这段材料继续追问;需要时让模型在小黑板上画出流程,或整理成学习卡。
49
49
  4. 回到原任务,用代码、工具结果或一次小实验检查自己的理解。
50
50
 
51
- 创建 Topic 或选择轮盘动作只会准备草稿,模型只在你手动发送后运行。解释和板书仍可能出错;它们帮助你理解和检查,不代替事实证据。
51
+ 新建 Topic 或选择"提问"只会准备草稿;"解释""翻译"这类预设动作在你点选时发送,也可以在设置里改成先放进输入框。解释和板书仍可能出错;它们帮助你理解和检查,不代替事实证据。
52
52
 
53
53
  ## 功能
54
54
 
55
55
  | 你想做什么 | CiteCiter 提供什么 |
56
56
  | --- | --- |
57
57
  | 理解一段回答、代码或工具结果 | 带来源引用的独立 Topic,追问不会写入主对话 |
58
- | 看懂关系与过程 | 支持 Markdown、公式、表格、SVG、图片和隔离 HTML 的小黑板;支持视觉的模型可以查看渲染后的板书并自行修正 |
58
+ | 看懂关系与过程 | 支持 Markdown、公式、表格、SVG、图片和隔离 HTML 的小黑板;支持视觉的模型可以查看渲染后的板书并自行修正;板书还能编排动画,元素按关键帧、路径或公式运动,可以播放、暂停、拖动进度和按步骤跳转 |
59
59
  | 留下可回看的理解 | 可导出、可修订的学习卡,文字与代码示例分开展示 |
60
60
  | 围绕真实文件讨论 | 文件与图片附件、`.txt` / `.md` 文档阅读器、原生文件预览中的"CiteCiter 学习"入口 |
61
61
  | 从理解继续动手 | 复用 DSH 的模型、工具、审批、权限、排队和插话;新 Topic 默认只读 |
@@ -63,21 +63,25 @@ dsh plugin --profile web add "git+https://github.com/kirkchinese/CiteCiter.git#v
63
63
 
64
64
  ## 使用说明
65
65
 
66
- **轮盘与引用。** 选中文字后按住右键打开八格轮盘,移向动作后松开;短按右键可点击选择,Shift + 右键保留浏览器菜单,方向键、数字 1–8 和 Enter 也可选择,Esc 取消。"自由提问"把选文加入当前选中的未归档 Topic,没有可用 Topic 时新建;其他动作默认新建。轮盘的八个槽位、提示词、默认模型和打开位置都可以在设置中修改。
66
+ **工具条与动作。** 选中文字后,旁边出现工具条:前四个动作直接显示,其余动作和"在新 Topic 中提问"在"⋯"里。动作默认加入当前打开的 Topic,没有或已归档时新建。"提问"打开输入框让你写问题;"解释""找错误""翻译"等预设动作直接发送,不会改动输入框里已有的草稿。动作的名称、提示词和顺序都可以在设置中修改。喜欢手势的话,可以在设置中开启轮盘:选中文字后按住右键(或设定的键)移向动作,松开即执行。
67
+
68
+ **桌宠。** Citer 收起时,她会扒在窗口边缘探头;鼠标靠近时站起来,点一下就打开 Citer。可以把她拖到左边或右边的任意高度,位置会被记住。收起期间有回答完成,或有问题在等你回答时,她旁边会出现一个小圆点。
67
69
 
68
70
  **输入。** 输入框依次提供附件、权限模式、模型与思考强度、发送。Enter 发送,Shift + Enter 换行,输入法组词时 Enter 不会发送。生成过程中 Enter 跟随 DSH 的排队/插话设置,Ctrl + Enter 临时使用另一种方式。可以从附件菜单选择文件、粘贴图片,或把文件拖到 Citer 面板上。
69
71
 
70
72
  **草稿。** 草稿在后台静默保存。多个窗口编辑同一个 Topic 时,各自的修改会自动合并;同一处有冲突时,以正在输入的窗口为准。发送成功后只清除已发送的部分,发送期间新写的内容会保留。
71
73
 
72
- **学习路线与学习卡。** 学习路线默认关闭;开启后,模型会根据问题用 DSH 待办安排讲解步骤。学习卡可以随时单独请求,生成前模型会核对结论、条件和计算,但自查不能保证正确。主动回忆默认关闭,开启后学习卡先显示自测问题。
74
+ **来源与代码库。** Citer 在需要时读取来源对话,看到的是带位置标记的对话记录:用户与助手的消息、工具调用和结果;过长的工具输出先缩短,需要时再读全文。在设置中开启"自动附上来源摘录"后,来源附件发送之后每轮开头会附上来源最近的新内容,默认关闭。"代码库变化感知"在每轮开头列出上一轮以来 git 工作区(含未提交的改动)改了哪些文件,Citer 需要时再用工具读取逐行改动;也可以在设置中改为直接附上 diff,或者关闭。这些内容都记录在 Topic 里,不会写入你的仓库。
75
+
76
+ **学习路线与学习卡。** 学习路线默认关闭,可以在 Topic 菜单(⋯)中开启;开启后,模型会根据问题用 DSH 待办安排讲解步骤。学习卡可以随时单独请求,生成前模型会核对结论、条件和计算,但自查不能保证正确。主动回忆默认关闭,开启后学习卡先显示自测问题。
73
77
 
74
- **图像。** 生成和查看图片的工具由 [Codex Connect](https://github.com/franksong2702/dsh-codex-connect) 等宿主插件提供,需要在对应的 Profile 中单独开启。
78
+ **Codex Connect。** CiteCiter 适配了社区插件 [Codex Connect](https://github.com/franksong2702/dsh-codex-connect)(`dsh-codex-connect`)。在同一个 Profile 中安装并开启它之后,Topic 可以使用它接入的 ChatGPT / Codex 模型和 GPT Image 图片工具,生成的图片直接显示在工具卡下方。图片工具需要在 Codex Connect 的设置中单独开启;它的安装、登录和支持的 DSH 版本请见该插件的说明。
75
79
 
76
80
  ## 权限与数据
77
81
 
78
82
  新 Topic 默认**只读**,即使来源会话拥有更高权限。只有你在输入框中选择其他权限模式,或在设置里修改新 Topic 的默认权限后,Topic 才能修改工作区;DSH 的审批和沙箱规则照常生效。
79
83
 
80
- Topic 只出现在 Citer 的列表里,不会出现在 DSH 的会话列表中。双击标题或按 F2 重命名;归档的 Topic 在你再次发送消息后自动恢复。永久删除需要输入完整的 Session ID,只删除这个 Topic 自己的记录、草稿和附件。
84
+ Topic 只出现在 Citer 的列表里,不会出现在 DSH 的会话列表中。新 Topic 先以引用摘录或问题为标题,第一次回答时由 DSH 的标题服务生成摘要标题;双击标题、按 F2 或在 Topic 菜单中重命名,重命名后不再自动修改;归档的 Topic 在你再次发送消息后自动恢复。永久删除需要输入完整的 Session ID,只删除这个 Topic 自己的记录、草稿和附件。
81
85
 
82
86
  CiteCiter 的数据保存在每个来源会话的目录中:
83
87
 
@@ -90,6 +94,7 @@ CiteCiter 的数据保存在每个来源会话的目录中:
90
94
  │ ├── topic.json Topic 信息
91
95
  │ ├── draft/ 未发送的文字、引用和附件
92
96
  │ ├── question-drafts/ 未提交的问答
97
+ │ ├── workspace/ 代码库变化感知的快照(独立的 git 对象)
93
98
  │ └── sessions/ Topic 自己的会话日志
94
99
  └── deleted/ 删除记录(只含身份,不含内容)
95
100
  ```
@@ -113,6 +118,6 @@ CiteCiter 尝试把真实的 AI 工作过程变成可引用、可追问、可检
113
118
 
114
119
  欢迎带着"Agent 已经完成了,但我还讲不清"的任务来[反馈](https://github.com/kirkchinese/CiteCiter/issues)。请写明 DSH 和插件版本,以及卡在安装、引用追问还是理解回答。贴材料前请移除密钥和私人内容。
115
120
 
116
- 开发说明见 [CONTRIBUTING.zh.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.1/CONTRIBUTING.zh.md),产品规则见 [docs/product.zh.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.1/docs/product.zh.md)。同作者的 [Claude2DSH](https://github.com/kirkchinese/claude2dsh) 用于在 Claude Code 与 DSH 之间迁移会话和资产。
121
+ 开发说明见 [CONTRIBUTING.zh.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.3/CONTRIBUTING.zh.md),产品规则见 [docs/product.zh.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.3/docs/product.zh.md)。同作者的 [Claude2DSH](https://github.com/kirkchinese/claude2dsh) 用于在 Claude Code 与 DSH 之间迁移会话和资产。
117
122
 
118
123
  MIT License.