@kirkchinese/dsh-citeciter 0.9.0-alpha.3 → 0.9.0-beta.2
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 +68 -139
- package/README.zh.md +70 -141
- package/lib/client.js +4020 -1830
- package/lib/index.js +16928 -16567
- package/lib/{typert-common-BQpqe5Ph.js → typert-common-g1lnIG8u.js} +3 -5
- package/lib/typert.host.js +2 -2
- package/lib/typert.remote-client.js +1 -1
- package/lib/types/actions.d.ts +22 -14
- package/lib/types/blackboard-tool.d.ts +6 -0
- package/lib/types/blocking-question-recovery.d.ts +16 -0
- package/lib/types/board.d.ts +0 -15
- package/lib/types/client/action-controller.d.ts +9 -2
- package/lib/types/client/action-executor.d.ts +5 -1
- package/lib/types/client/board-citation.d.ts +8 -0
- package/lib/types/client/citer-session-face.d.ts +3 -2
- package/lib/types/client/companion-controller.d.ts +18 -9
- package/lib/types/client/components/{WheelSettings.d.ts → ActionSettings.d.ts} +2 -2
- package/lib/types/client/components/ActionWheel.d.ts +4 -4
- package/lib/types/client/components/CiteCiterSettings.d.ts +1 -1
- package/lib/types/client/components/CiteLauncher.d.ts +7 -2
- package/lib/types/client/components/CitePanel.d.ts +4 -1
- package/lib/types/client/components/CiterPet.d.ts +10 -0
- package/lib/types/client/components/DocumentReader.d.ts +2 -4
- package/lib/types/client/components/LearningRoute.d.ts +3 -4
- package/lib/types/client/components/ModelChoice.d.ts +7 -3
- package/lib/types/client/components/QuestionCard.d.ts +8 -4
- package/lib/types/client/components/QuestionReplyBody.d.ts +5 -0
- package/lib/types/client/components/ReferenceAttachments.d.ts +6 -2
- package/lib/types/client/components/SelectionToolbar.d.ts +19 -0
- package/lib/types/client/components/ToolMessage.d.ts +1 -1
- package/lib/types/client/components/TopicActions.d.ts +15 -4
- package/lib/types/client/components/TopicComposer.d.ts +2 -1
- package/lib/types/client/components/TopicHeader.d.ts +8 -3
- package/lib/types/client/components/TopicNavigation.d.ts +4 -4
- package/lib/types/client/components/TopicQuestions.d.ts +10 -0
- package/lib/types/client/components/TopicTitle.d.ts +6 -2
- package/lib/types/client/components/UserMessageBody.d.ts +4 -1
- package/lib/types/client/conversation-dom.d.ts +0 -7
- package/lib/types/client/draft-controller.d.ts +3 -6
- package/lib/types/client/draft-merge.d.ts +8 -0
- package/lib/types/client/draft-references.d.ts +6 -0
- package/lib/types/client/host-dock.d.ts +1 -1
- package/lib/types/client/host-icons.d.ts +2 -13
- package/lib/types/client/host-image-preview.d.ts +2 -1
- package/lib/types/client/host-source-chat.d.ts +11 -0
- package/lib/types/client/host-ui-adapter.d.ts +2 -2
- package/lib/types/client/native-composer.d.ts +15 -0
- package/lib/types/client/prompt.d.ts +4 -4
- package/lib/types/client/question-draft-controller.d.ts +50 -0
- package/lib/types/client/question-interaction.d.ts +33 -0
- package/lib/types/client/request-guard.d.ts +3 -13
- package/lib/types/client/selection-toolbar.d.ts +36 -0
- package/lib/types/client/tool-presentation.d.ts +14 -0
- package/lib/types/client/topic-presentation.d.ts +0 -7
- package/lib/types/client/topic-question-controller.d.ts +80 -0
- package/lib/types/client/types.d.ts +3 -4
- package/lib/types/client/wheel-gesture.d.ts +6 -1
- package/lib/types/document-access.d.ts +7 -2
- package/lib/types/host-agent-modules.d.ts +16 -6
- package/lib/types/host-session-adapter.d.ts +7 -4
- package/lib/types/host-settings-adapter.d.ts +5 -5
- package/lib/types/index.d.ts +8 -8
- package/lib/types/learning-cards-tool.d.ts +5 -0
- package/lib/types/learning.d.ts +0 -4
- package/lib/types/legacy-migration.d.ts +16 -0
- package/lib/types/observer.d.ts +0 -7
- package/lib/types/question-draft-contract.d.ts +55 -0
- package/lib/types/question-draft-lifecycle.d.ts +8 -0
- package/lib/types/question-draft-store.d.ts +38 -0
- package/lib/types/question-reply.d.ts +23 -0
- package/lib/types/source-read-tool.d.ts +3 -4
- package/lib/types/tool-approval-projection.d.ts +10 -0
- package/lib/types/tool-events.d.ts +2 -0
- package/lib/types/tool-outcome-contract.d.ts +3 -0
- package/lib/types/topic-deletion-receipts.d.ts +40 -0
- package/lib/types/topic-index.d.ts +26 -30
- package/lib/types/topic-log.d.ts +41 -0
- package/lib/types/topic-prompts.d.ts +8 -1
- package/lib/types/topic-question-bridge.d.ts +10 -0
- package/lib/types/topic-questions.d.ts +53 -0
- package/lib/types/topic-runtime.d.ts +21 -317
- package/lib/types/topic.d.ts +219 -177
- package/lib/types/typert-codec.d.ts +2 -4
- package/lib/types/typert-common.d.ts +251 -1138
- package/lib/types/typert.host.d.ts +525 -2584
- package/lib/types/update.d.ts +0 -7
- package/lib/{update-CRD1jFLf.js → update-B_0nN1_f.js} +215 -121
- package/package.json +68 -79
- package/lib/types/client/components/TopicSettingsDialog.d.ts +0 -21
package/README.md
CHANGED
|
@@ -1,191 +1,120 @@
|
|
|
1
1
|
# CiteCiter
|
|
2
2
|
|
|
3
|
-
[简体中文](README.zh.md) · [npm](https://www.npmjs.com/package/@kirkchinese/dsh-citeciter) · [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.2/CHANGELOG.md) · [Issues](https://github.com/kirkchinese/CiteCiter/issues)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+

|
|
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
|
-
[
|
|
11
|
+
[](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
|
|
|
15
|
-
|
|
15
|
+
## Installation
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
flowchart LR
|
|
19
|
-
S[Actual selection] --> W[Wheel action]
|
|
20
|
-
W --> F[Free question]
|
|
21
|
-
W --> N[Other built-ins]
|
|
22
|
-
W --> C[Custom destination]
|
|
23
|
-
F --> A{Unarchived same-source Topic selected?}
|
|
24
|
-
A -->|Yes| D[Append to existing draft]
|
|
25
|
-
A -->|No| T[Create Topic draft]
|
|
26
|
-
N --> T
|
|
27
|
-
C --> D
|
|
28
|
-
C --> T
|
|
29
|
-
D --> E[Edit references, question and model]
|
|
30
|
-
T --> E
|
|
31
|
-
E --> M[Manual send]
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Version and installation
|
|
17
|
+
CiteCiter needs DSH and a working model. The plugin declares exact host versions, so choose the CiteCiter release that matches your DSH:
|
|
35
18
|
|
|
36
|
-
|
|
19
|
+
| DSH version | CiteCiter version |
|
|
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.2` |
|
|
22
|
+
| `0.1.7-rc.2` | `0.9.0-alpha.3` |
|
|
23
|
+
| `0.1.5-rc.1` | `0.8.2` |
|
|
24
|
+
| `0.1.2-rc.1` | `0.6.0` |
|
|
37
25
|
|
|
38
|
-
**
|
|
26
|
+
**Official Desktop:** install the npm package `@kirkchinese/dsh-citeciter` from the Plugins page, or enter `https://github.com/kirkchinese/CiteCiter.git` in its Git field, then restart when prompted.
|
|
39
27
|
|
|
40
|
-
|
|
41
|
-
| --- | --- | --- |
|
|
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 |
|
|
44
|
-
| 0.9.0-alpha.1 | Earlier prerelease | Dual-host adapters, durable drafts, PTC tool display, reference routing and learning-route policy |
|
|
45
|
-
| 0.8.2 | Older hosts | Explicit source horizons and continuation; native first-answer question suggestions |
|
|
46
|
-
| 0.8.1 | Published | Fix Topic startup through Linux/macOS launcher symlinks |
|
|
47
|
-
| 0.8.0 | Deprecated; upgrade to 0.8.2 | Linux launcher symlinks can prevent Topics from opening |
|
|
48
|
-
| 0.7.0-beta.3 | Previous development candidate | Private read-only Topics, selection wheel, manual five-stage learning |
|
|
49
|
-
| 0.6.0 | Published | DSH 0.1.2-rc.1 / Desktop 2.0.5 baseline |
|
|
28
|
+
**CLI and Web:**
|
|
50
29
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```powershell
|
|
54
|
-
npm install -g @deepseek-ai/dsh@0.1.7-rc.2
|
|
55
|
-
dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-alpha.3
|
|
56
|
-
dsh web
|
|
30
|
+
```sh
|
|
31
|
+
dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.9.0-beta.2
|
|
57
32
|
```
|
|
58
33
|
|
|
59
|
-
|
|
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.
|
|
34
|
+
You can also install a release tag straight from the repository, which contains the built plugin, so nothing is built at install time:
|
|
62
35
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
```powershell
|
|
66
|
-
npm install -g @deepseek-ai/dsh@0.1.7-rc.2
|
|
67
|
-
pnpm install --frozen-lockfile
|
|
68
|
-
pnpm typecheck
|
|
69
|
-
pnpm typecheck:desktop
|
|
70
|
-
pnpm build
|
|
71
|
-
pnpm --dir packages/citeciter pack --pack-destination E:/project/CiteCiter/.refs/artifacts
|
|
72
|
-
dsh plugin --profile web add E:/project/CiteCiter/.refs/artifacts/kirkchinese-dsh-citeciter-0.9.0-alpha.3.tgz
|
|
36
|
+
```sh
|
|
37
|
+
dsh plugin --profile web add "git+https://github.com/kirkchinese/CiteCiter.git#v0.9.0-beta.2"
|
|
73
38
|
```
|
|
74
39
|
|
|
75
|
-
|
|
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.
|
|
78
|
-
|
|
79
|
-
## Source reading and suggested questions
|
|
80
|
-
|
|
81
|
-
`read_source_session` returns byte-bounded pages. `sourceMaxSeq` is the readable snapshot horizon; the legacy `availableThroughSeq` is request-bounded and does not indicate source exhaustion. When `hasMore` is true, pass `nextFromSeq` as the next `fromSeq` and omit `throughSeq`. `truncated` only marks a byte-budget stop within the range. Empty pages, filtered events and oversized placeholders do not prove missing evidence. Observer reads currently committed events; Exact Fork reads only the inherited prefix.
|
|
82
|
-
|
|
83
|
-
Native Topics offer three suggested questions after the first answer by default; disable them in CiteCiter settings. The prompt omits suggestions when the current request excludes them, asks for only a result, or imposes a strict format or length limit. Clicking a question only fills the draft and still requires manual submission. Source instructions and question suggestions are separate prompt modules; source contents remain gated by submitted attachments.
|
|
84
|
-
|
|
85
|
-
## Drafts and references
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
92
|
-
|
|
93
|
-
Creating Topics, choosing wheel actions, changing models and quoting boards do not call a model. Wheel actions go directly to the Citer composer, where the user edits the question, references and model before sending. Custom actions targeting an existing Topic append their prompt after the current draft. Submitted prompts and references are recorded in the Topic's native log.
|
|
94
|
-
|
|
95
|
-
Removing an unsent source attachment makes its reading tool reject access; new Topics do not silently inherit source history. Previously sent references remain in conversation history: removing a later draft copy does not retract them. Draft text, actual references and attachment bytes are stored in the owning Topic's `draft/` directory and restored after panel close, Topic switches, reload and restart. Restoration never sends a message. Model, reasoning and permission choices continue to use host-persisted state. Background polling in another window does not replace the last-used Topic; navigation restoration follows explicit actions.
|
|
96
|
-
|
|
97
|
-
Drafts do not enter model logs or grant source access. Only host-confirmed submission contents are cleared; edits made during submission survive. Rejected sends retain the draft. Lost responses display a pending state for explicit reconciliation or retry. Concurrent save conflicts preserve local input and ask which version to keep. Choosing the local draft restores attachment bytes still held by this window if another window removed them. Missing or damaged attachments surface errors. Permanent Topic deletion includes its draft. Older Desktop refuses writes to newer session formats; continue in the newer Web host instead of manually downgrading logs.
|
|
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.
|
|
98
41
|
|
|
99
|
-
##
|
|
42
|
+
## Start from one question
|
|
100
43
|
|
|
101
|
-
|
|
44
|
+
Say your agent changed some code and you wonder: "Why does this async save affect typing?"
|
|
102
45
|
|
|
103
|
-
|
|
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
|
+
3. Keep asking about the material; when it helps, have the model draw the flow on the blackboard or summarize learning cards.
|
|
49
|
+
4. Go back to the task and check your understanding against the code, a tool result or a small experiment.
|
|
104
50
|
|
|
105
|
-
|
|
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.
|
|
106
52
|
|
|
107
|
-
|
|
53
|
+
## Features
|
|
108
54
|
|
|
109
|
-
|
|
55
|
+
| You want to | CiteCiter provides |
|
|
56
|
+
| --- | --- |
|
|
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 |
|
|
59
|
+
| Keep what you learned | Learning cards you can export and revise, with prose and code examples shown separately |
|
|
60
|
+
| Discuss real files | File and image attachments, a `.txt` / `.md` document reader, and a "CiteCiter 学习" entry in native file previews |
|
|
61
|
+
| Act on what you understood | DSH models, tools, approvals, permissions, queueing and steering; new Topics are read-only by default |
|
|
62
|
+
| Pick up where you left off | Drafts (text, references, attachments) and unsubmitted question answers are saved and restored after switching, refreshing or restarting, never sent automatically |
|
|
110
63
|
|
|
111
|
-
|
|
64
|
+
## Using CiteCiter
|
|
112
65
|
|
|
113
|
-
|
|
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.
|
|
114
67
|
|
|
115
|
-
|
|
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.
|
|
116
69
|
|
|
117
|
-
|
|
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.
|
|
118
71
|
|
|
119
|
-
|
|
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.
|
|
120
73
|
|
|
121
|
-
|
|
74
|
+
**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.
|
|
122
75
|
|
|
123
|
-
|
|
76
|
+
**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.
|
|
124
77
|
|
|
125
|
-
|
|
78
|
+
## Permissions and data
|
|
126
79
|
|
|
127
|
-
|
|
80
|
+
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.
|
|
128
81
|
|
|
129
|
-
|
|
82
|
+
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.
|
|
130
83
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
Wide windows keep source and Citer side by side, with a resizable divider. Drag the title area away to float; release at the right window edge to dock. Opening native file details temporarily hides Citer when both panes cannot fit. Closing details restores the same Topic, draft and model. Explicitly selecting Citer or a file-selection action opens the compact Citer page; its top-left Back button restores the prior view. Without details, narrow screens use this page directly rather than placing Citer below the source. Closing restores host space and preserves Desktop captions.
|
|
134
|
-
|
|
135
|
-
Surfaces use translucent backgrounds, blur and short transitions, respecting host themes and reduced-motion settings. A dedicated adapter owns layout changes; unknown host structures do not receive an intrusive full-screen fallback.
|
|
136
|
-
|
|
137
|
-
## Storage and migration
|
|
138
|
-
|
|
139
|
-
Topics appear only in Citer navigation. DSH does not recursively discover nested Topic logs. Citer owns live membership and navigation; native send services can address a loaded Topic by identity.
|
|
84
|
+
CiteCiter stores its data in each source session's directory:
|
|
140
85
|
|
|
141
86
|
```text
|
|
142
87
|
.dsh/sessions/<workspace>/<sourceSession>/
|
|
143
|
-
├── session.v4.jsonl[.zstd]
|
|
88
|
+
├── session.v4.jsonl[.zstd] main session managed by DSH (never modified by Citer)
|
|
144
89
|
└── citeciter/
|
|
145
|
-
├── owner.json
|
|
90
|
+
├── owner.json directory ownership
|
|
146
91
|
├── <topicNumber>/
|
|
147
|
-
│ ├── topic.json
|
|
148
|
-
│ ├── draft/
|
|
149
|
-
│
|
|
150
|
-
└──
|
|
92
|
+
│ ├── topic.json Topic information
|
|
93
|
+
│ ├── draft/ unsent text, references and attachments
|
|
94
|
+
│ ├── question-drafts/ unsubmitted question answers
|
|
95
|
+
│ └── sessions/ the Topic's own session log
|
|
96
|
+
└── deleted/ deletion records (identity only, no content)
|
|
151
97
|
```
|
|
152
98
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
Alpha uses v4 logs. DSH reads and migrates older v3 logs; Citer does not rewrite event sequences or `seedLength`. Sources with historical logs remain addressable through their physical source directory.
|
|
156
|
-
|
|
157
|
-
## Documents and native preview
|
|
158
|
-
|
|
159
|
-
While Citer is open, use the top-right … → Document reading action. The standalone reader launcher remains available when Citer is closed and no longer covers its composer.
|
|
160
|
-
|
|
161
|
-
Click 📖 to import `.txt`, `.md` or `.markdown`. The reader preserves the full document, displays at most 500 KiB of UTF-8 text per page and accepts up to 2,000,000 characters. Paging clears the previous selection but keeps the question. Preparing a draft collapses the reader. The document address and excerpt are separate removable attachments.
|
|
162
|
-
|
|
163
|
-
Document tools return the full UTF-16 length and actual read range. Search results expose the valid endpoint; reads distinguish the requested cap, returned endpoint and remaining content. Continue with nextFromOffset and omit throughOffset when the end is unknown. Invalid ranges report explicit bounds instead of silently clamping them.
|
|
164
|
-
|
|
165
|
-
When the optional documentPreviews service is present, select “CiteCiter 学习” in native file preview. The host reads the file; Citer provides selectable source text, pagination and references. Creating a Topic stores a complete snapshot, unaffected by later file changes. Each snapshot is limited to 8 MiB / 2,000,000 characters and requires a source Session address.
|
|
166
|
-
|
|
167
|
-
This branch compiles against public subpackage types `0.1.7-rc.2`; the preview service remains optional. Without it, conversation actions and the independent reader remain usable. The learning viewer does not provide PDF text extraction, Word parsing or OCR. Selections from different documents can join one Topic; reads identify documents by their submitted attachment addresses.
|
|
168
|
-
|
|
169
|
-
## Wheel settings
|
|
170
|
-
|
|
171
|
-
Configure the trigger, default model and eight slots in Settings → CiteCiter. Defaults are Ask, Explain, Find errors, Translate, Quantitative board, Summary cards and two empty slots. Each slot has a prompt, input hint, draft destination, content mode and default placement. Save slot edits explicitly.
|
|
172
|
-
|
|
173
|
-
A short right-click leaves a clickable wheel; Shift + right-click preserves the native menu. Arrow keys, digits 1–8 and Enter select actions. Center, empty slots, outside release, Escape, source changes or wheel blur cancel. There is no preliminary question dialog; the Citer composer owns the draft.
|
|
99
|
+
Topics created before 0.8 are migrated into this layout at startup; their original logs are kept.
|
|
174
100
|
|
|
175
|
-
##
|
|
101
|
+
## Known issues
|
|
176
102
|
|
|
177
|
-
|
|
103
|
+
- On Windows, PowerShell in read-only mode may report a language-mode error or print garbled Chinese. This is a limitation of the DSH executor inside the read-only sandbox; CiteCiter does not loosen permissions to work around it.
|
|
104
|
+
- After the official Desktop restarts, other browser tabs still connected to the old backend may go blank; refreshing restores them. This also happens with CiteCiter disabled.
|
|
105
|
+
- Using different DSH versions one after another at the same browser address can leave the host's own draft data in an incompatible format so the main conversation does not render; use a different address or port per version.
|
|
106
|
+
- The plugin is mainly tested on Windows; Linux and macOS have not been systematically tested, and reports are welcome.
|
|
178
107
|
|
|
179
|
-
|
|
108
|
+
## Why CiteCiter
|
|
180
109
|
|
|
181
|
-
|
|
110
|
+
Practice usually produces two things: a result and a skill. We form judgment by trying, making mistakes, comparing approaches and verifying. AI can take over more and more of the execution, but it does not automatically hand the matching understanding to its user, so finishing a task and growing as a person can come apart.
|
|
182
111
|
|
|
183
|
-
|
|
112
|
+
CiteCiter turns real AI work into material you can cite, question and check. Start from the question in front of you, understand the principle, look at the evidence, and continue with a better understanding. Even when an agent does the work, people still need to set goals, understand the key conditions, judge whether a result applies, and take over when something goes wrong.
|
|
184
113
|
|
|
185
|
-
|
|
114
|
+
## Feedback
|
|
186
115
|
|
|
187
|
-
|
|
116
|
+
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.
|
|
188
117
|
|
|
189
|
-
|
|
118
|
+
See [CONTRIBUTING.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.2/CONTRIBUTING.md) for development and [docs/product.zh.md](https://github.com/kirkchinese/CiteCiter/blob/v0.9.0-beta.2/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.
|
|
190
119
|
|
|
191
120
|
MIT License.
|