dsh-code 1.0.2 → 1.0.4

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 (53) hide show
  1. package/README.en.md +21 -13
  2. package/README.md +285 -271
  3. package/bin/deepseek.mjs +26 -3
  4. package/lib/index.mjs +2962 -1560
  5. package/lib/types/app.d.ts +13 -2
  6. package/lib/types/commands.d.ts +13 -0
  7. package/lib/types/editor-keys.d.ts +105 -0
  8. package/lib/types/git-workflow.d.ts +6 -2
  9. package/lib/types/index.d.ts +28 -0
  10. package/lib/types/input-split.d.ts +54 -0
  11. package/lib/types/kernel-panels.d.ts +3 -1
  12. package/lib/types/keyboard.d.ts +8 -0
  13. package/lib/types/model-capabilities.d.ts +82 -0
  14. package/lib/types/provider-settings.d.ts +84 -0
  15. package/lib/types/render/lines.d.ts +25 -0
  16. package/lib/types/render/markdown.d.ts +1 -1
  17. package/lib/types/render/projection.d.ts +22 -2
  18. package/lib/types/render/status.d.ts +22 -15
  19. package/lib/types/render/text.d.ts +15 -9
  20. package/lib/types/render/width.d.ts +29 -0
  21. package/lib/types/session-directory.d.ts +27 -0
  22. package/lib/types/settings-file.d.ts +33 -0
  23. package/lib/types/skills.d.ts +1 -1
  24. package/lib/types/store.d.ts +10 -0
  25. package/lib/types/subagents.d.ts +13 -3
  26. package/package.json +159 -159
  27. package/src/app.ts +4514 -3892
  28. package/src/approval.ts +8 -3
  29. package/src/authorization-panel.ts +2 -4
  30. package/src/commands.ts +27 -3
  31. package/src/editor-keys.ts +371 -0
  32. package/src/git-workflow.ts +10 -6
  33. package/src/index.ts +1752 -1523
  34. package/src/input-split.ts +191 -0
  35. package/src/internals.ts +26 -8
  36. package/src/kernel-panels.ts +26 -10
  37. package/src/keyboard.ts +123 -88
  38. package/src/mentions.ts +42 -9
  39. package/src/model-capabilities.ts +318 -0
  40. package/src/provider-settings.ts +220 -0
  41. package/src/questions.ts +20 -0
  42. package/src/render/lines.ts +415 -356
  43. package/src/render/markdown.ts +18 -19
  44. package/src/render/projection.ts +162 -52
  45. package/src/render/status.ts +76 -71
  46. package/src/render/text.ts +158 -150
  47. package/src/render/width.ts +189 -0
  48. package/src/session-directory.ts +56 -0
  49. package/src/settings-file.ts +56 -0
  50. package/src/skills.ts +19 -6
  51. package/src/store.ts +26 -7
  52. package/src/subagents.ts +39 -6
  53. package/src/theme-panel.ts +79 -72
package/README.en.md CHANGED
@@ -7,7 +7,7 @@ English | [中文](README.md)
7
7
  <p align="center"><img alt="Typing SVG" src="https://readme-typing-svg.herokuapp.com?font=JetBrains+Mono&amp;weight=500&amp;size=22&amp;duration=4000&amp;pause=700&amp;color=4176E6&amp;center=true&amp;vCenter=true&amp;width=680&amp;lines=DeepSeek+Harness+Code;Terminal+Coding+Interface+for+the+DSH+Core"></p>
8
8
  <p align="center">
9
9
  <a href="https://github.com/deepseek-ai/deepseek-harness"><img alt="DeepSeek Harness" src="https://img.shields.io/badge/DeepSeek-Harness-4176E6?style=for-the-badge&amp;logo=deepseek&amp;logoColor=white&amp;labelColor=1c1917"></a>
10
- <a href="https://www.npmjs.com/package/@deepseek-ai/dsh"><img alt="dsh version" src="https://img.shields.io/badge/dsh-0.1.1--rc.2-4176E6?style=for-the-badge&amp;logo=deepseek&amp;logoColor=white&amp;labelColor=1c1917"></a>
10
+ <a href="https://www.npmjs.com/package/@deepseek-ai/dsh"><img alt="dsh version" src="https://img.shields.io/badge/dsh-0.1.1--rc.2-4176E6?style=for-the-badge&amp;logo=deepseek&amp;logoColor=white&amp;labelColor=1c1917"></a>
11
11
  <a href="https://github.com/UNLINEARITY/dsh-code/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/UNLINEARITY/dsh-code?label=Stars&amp;style=for-the-badge&amp;logo=github&amp;logoColor=white&amp;color=4176E6&amp;labelColor=1c1917"></a>
12
12
  <a href="https://www.npmjs.com/package/dsh-code"><img alt="npm version" src="https://img.shields.io/npm/v/dsh-code?label=npm&amp;style=for-the-badge&amp;logo=npm&amp;color=cb3837&amp;labelColor=1c1917"></a>
13
13
  <a href="https://github.com/UNLINEARITY/dsh-code/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/UNLINEARITY/dsh-code?label=License&amp;style=for-the-badge&amp;logo=opensourceinitiative&amp;color=4176E6&amp;labelColor=1c1917"></a>
@@ -23,21 +23,21 @@ DeepSeek Harness registers models, tools, storage, policies, and interfaces as p
23
23
 
24
24
  ## 2. Quick start
25
25
 
26
- Requires Node `^22.19 || >=24` and the preview `dsh` CLI (current release line: `@deepseek-ai/dsh@0.1.1-rc.2`). You can still enter the TUI, browse sessions, and use non-model features without configuring a model; press `a` in `/model` to manage API keys, OAuth, and device-code sign-in.
26
+ Requires Node `^22.19 || >=24` and the preview `dsh` CLI (current release line: `@deepseek-ai/dsh@0.1.1-rc.2`). You can still enter the TUI, browse sessions, and use non-model features without configuring a model; press `a` in `/model` to manage API keys, OAuth, and device-code sign-in.
27
27
 
28
28
  ### 1. Install and update
29
29
 
30
30
  Use the same commands for the initial installation and subsequent updates:
31
31
 
32
32
  ```sh
33
- npm install -g @deepseek-ai/dsh@0.1.1-rc.2 dsh-code@1.0.2
33
+ npm install -g @deepseek-ai/dsh@0.1.1-rc.2 dsh-code@1.0.3
34
34
  npm install -g pnpm
35
- dsh plugin --profile cli add dsh-code@1.0.2
35
+ dsh plugin --profile cli add dsh-code@1.0.3
36
36
  ```
37
37
 
38
- > Note: pnpm ignores packages published less than 24 hours ago, so use the exact version `dsh-code@1.0.2` on release day; the version may be omitted after 24 hours. npm installation is not affected.
38
+ > Note: pnpm ignores packages published less than 24 hours ago, so use the exact version `dsh-code@1.0.3` on release day; the version may be omitted after 24 hours. npm installation is not affected.
39
39
  >
40
- > Version alignment: dsh-code 1.0.2 targets dsh `0.1.1-rc.2`, with every Harness dependency pinned exactly to `0.1.1-rc.2`. Keep the global dsh CLI and dsh-code aligned instead of mixing release candidates. rc.2 removes the old DeepSeek setting `maxRequestImageBytes`.
40
+ > Version alignment: dsh-code 1.0.3 targets dsh `0.1.1-rc.2`, with every Harness dependency pinned exactly to `0.1.1-rc.2`. Keep the global dsh CLI and dsh-code aligned instead of mixing release candidates. rc.2 removes the old DeepSeek setting `maxRequestImageBytes`.
41
41
 
42
42
  ### 2. Launch commands
43
43
 
@@ -76,8 +76,8 @@ DSH-Code brings DSH Agents, models, tools, and durable sessions directly into th
76
76
 
77
77
  - Select an independent Agent Preset for each session to compose tools, prompt sections, skills, context compaction, plan mode, and subagent capabilities
78
78
  - Use `/mode` to select `standard`, `code`, `minimal`, `cordis`, or a user-defined Preset
79
- - Use `/model` to switch models and manage providers, API keys, OAuth/device-code sign-in, endpoints, available models, and context windows
80
- - In the `/model` provider list, Enter manages a manual API key, `l` starts sign-in, and `o` logs out after confirmation
79
+ - Use `/model` to switch models and manage providers, API keys, OAuth/device-code sign-in, endpoints, available models, and context windows
80
+ - In the `/model` provider list, Enter manages a manual API key, `l` starts sign-in, and `o` logs out after confirmation
81
81
  - Automatically load commands and skills available in DSH; use `/help` to find them and `/plugin` to inspect extension status
82
82
  - Use plans, goals, todos, permissions, sandboxes, subagents, and additional instructions while a task is running
83
83
 
@@ -102,8 +102,8 @@ Levels above `high` include `xhigh`, `x-high`, `very-high`, `max`, `maximum`, an
102
102
 
103
103
  ### 4. Coding workflow
104
104
 
105
- - Use `@` to reference workspace files or existing sessions; selecting PNG, JPEG, WebP, or GIF files attaches the real image automatically
106
- - Attach images through the initial prompt, repeated `--image` arguments, or by dragging one or more images into the terminal
105
+ - Use `@` to reference workspace files or existing sessions; selecting PNG, JPEG, WebP, or GIF files attaches the real image automatically
106
+ - Attach images through the initial prompt, repeated `--image` arguments, or by dragging one or more images into the terminal
107
107
  - Inspect changes by file with `/diff`, and start a read-only code review with `/review`
108
108
  - Copy the latest complete response with `/copy`, and inspect full history and tool details with Ctrl+O
109
109
  - Handle tool approvals, structured questions, plan reviews, multiple selections, and custom answers
@@ -142,7 +142,7 @@ The following built-in commands are available inside the TUI. Additional Harness
142
142
  | Command | Purpose |
143
143
  | --- | --- |
144
144
  | `/mode [preset]` | Inspect or select the current session's Agent Preset |
145
- | `/model` | Switch models and manage providers, API keys, browser sign-in, endpoints, and available models |
145
+ | `/model` | Switch models and manage providers, API keys, browser sign-in, endpoints, and available models |
146
146
  | `/effort` | Adjust the current model's reasoning effort |
147
147
  | `/permission [preset]` | Inspect or switch the permission Preset |
148
148
  | `/subagent` | Select the model used when a subagent performs a task |
@@ -164,6 +164,7 @@ The following built-in commands are available inside the TUI. Additional Harness
164
164
  | --- | --- |
165
165
  | `/plugin [query]` | Inspect loaded extensions and their status |
166
166
  | `/statusline` | Select the items displayed in the status bar |
167
+ | `/vscode-keys` | Pass Ctrl+R through VS Code-family terminals (idempotent user-level keybindings.json write) |
167
168
  | `/theme` | Switch the terminal color theme |
168
169
  | `/help` | View key bindings, built-in commands, Harness commands, and user skills |
169
170
  | `/quit` | Exit DSH-Code |
@@ -175,9 +176,9 @@ The following built-in commands are available inside the TUI. Additional Harness
175
176
  | `Enter` | Submit the current input |
176
177
  | `Up` / `Down` | Recall the previous or next input-history entry |
177
178
  | `Tab` | Complete commands, skills, or `@` references |
178
- | `@` | Reference workspace files or existing sessions; image files are sent as attachments |
179
+ | `@` | Reference workspace files or existing sessions; image files are sent as attachments |
179
180
  | `Ctrl+O` | Inspect full history and tool details |
180
- | `Ctrl+R` | Fold or expand model reasoning |
181
+ | `Ctrl/Alt+R` | Fold or expand model reasoning; run /vscode-keys first in VS Code-family terminals to pass Ctrl+R through |
181
182
  | `Shift+Tab` | Cycle through permission Presets |
182
183
  | `Delete` | Cancel the newest queued message when the composer is empty |
183
184
  | `Ctrl+K` | Delete from the cursor to the end of the line |
@@ -187,6 +188,13 @@ The following built-in commands are available inside the TUI. Additional Harness
187
188
  | `Ctrl+C` | Cancel a task, clear the input, or exit, depending on the current state |
188
189
  | `Ctrl+D` | Exit DSH-Code |
189
190
 
191
+ #### Status indicators
192
+
193
+ | Indicator | Trigger |
194
+ | --- | --- |
195
+ | `✻ Deep diving...` | The turn is running while nothing is streaming (waiting for the first token, gaps during tool runs); an elapsed clock appears after 15 seconds |
196
+ | `✻ Thinking…` | Model reasoning is streaming; collapsed into the shimmer marker by default, expand with `Ctrl/Alt+R` |
197
+
190
198
  ## 4. How DSH-Code integrates with DSH
191
199
 
192
200
  ### 1. Runtime composition