@qzsy/dsh-command-palette 1.3.1 → 1.4.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.
- package/LICENSE +21 -21
- package/README.md +220 -177
- package/cordis.patch.yml +3 -3
- package/dist/client.js +1664 -1509
- package/docs/palette-statuses.png +0 -0
- package/icon.svg +12 -12
- package/locale/en.json +6 -6
- package/locale/zh.json +6 -6
- package/package.json +78 -78
- package/scripts/sync-vendor-engine.mjs +45 -45
- package/scripts/verify-status.mjs +780 -0
- package/vendor/text-search-engine.LICENSE +20 -20
- package/vendor/text-search-engine.min.js +1 -1
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 qzsy
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 qzsy
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,177 +1,220 @@
|
|
|
1
|
-
# @qzsy/dsh-command-palette
|
|
2
|
-
|
|
3
|
-
> Packaged from the local DSH plugin dsh-command-palette; published under the @qzsy scope.
|
|
4
|
-
|
|
5
|
-
## Install
|
|
6
|
-
|
|
7
|
-
~~~bash
|
|
8
|
-
dsh plugin add @qzsy/dsh-command-palette
|
|
9
|
-
~~~
|
|
10
|
-
|
|
11
|
-
## Upstream README
|
|
12
|
-
|
|
13
|
-
# Command Palette for DSH
|
|
14
|
-
|
|
15
|
-
A persistent DeepSeek Harness Client plugin that turns `Command+K` into a command
|
|
16
|
-
palette for the Web/Desktop GUI: recent sessions with live status, workspaces,
|
|
17
|
-
files, and actions — searchable in Chinese, English, full pinyin, pinyin
|
|
18
|
-
initials, or any mixed form.
|
|
19
|
-
|
|
20
|
-
## What it does
|
|
21
|
-
|
|
22
|
-
- **Command+K on the Desktop app** opens a floating palette; the same chord toggles
|
|
23
|
-
it closed. In the browser profile it adopts the browser-safe chord that
|
|
24
|
-
`session.search` used before (Mod+Alt+K on macOS).
|
|
25
|
-
- **Sections and filters**: All / Sessions / Workspaces / Files / Actions.
|
|
26
|
-
- *Sessions*: every non-blank, non-archived Session ordered by `updatedAt`,
|
|
27
|
-
with its Workspace label, a compact relative age, and a **live status
|
|
28
|
-
badge
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
the
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
- `
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
`
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
1
|
+
# @qzsy/dsh-command-palette
|
|
2
|
+
|
|
3
|
+
> Packaged from the local DSH plugin dsh-command-palette; published under the @qzsy scope.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
~~~bash
|
|
8
|
+
dsh plugin add @qzsy/dsh-command-palette
|
|
9
|
+
~~~
|
|
10
|
+
|
|
11
|
+
## Upstream README
|
|
12
|
+
|
|
13
|
+
# Command Palette for DSH
|
|
14
|
+
|
|
15
|
+
A persistent DeepSeek Harness Client plugin that turns `Command+K` into a command
|
|
16
|
+
palette for the Web/Desktop GUI: recent sessions with live status, workspaces,
|
|
17
|
+
files, and actions — searchable in Chinese, English, full pinyin, pinyin
|
|
18
|
+
initials, or any mixed form.
|
|
19
|
+
|
|
20
|
+
## What it does
|
|
21
|
+
|
|
22
|
+
- **Command+K on the Desktop app** opens a floating palette; the same chord toggles
|
|
23
|
+
it closed. In the browser profile it adopts the browser-safe chord that
|
|
24
|
+
`session.search` used before (Mod+Alt+K on macOS).
|
|
25
|
+
- **Sections and filters**: All / Sessions / Workspaces / Files / Actions.
|
|
26
|
+
- *Sessions*: every non-blank, non-archived Session ordered by `updatedAt`,
|
|
27
|
+
with its Workspace label, a compact relative age, and a **live status
|
|
28
|
+
badge**: `工作中` (pulsing blue dot), `待批准` / `待审阅` / `待回答`
|
|
29
|
+
(amber), `出错` (red, failed run), or `已完成` (green, unread completion).
|
|
30
|
+
A success that has already been viewed shows no badge. The section label
|
|
31
|
+
counts Sessions by state, e.g. `近期会话 · 2 个进行中 · 1 个出错 · 3 个未读`
|
|
32
|
+
(only nonzero segments), and updates live while the palette stays open.
|
|
33
|
+
When the Git badge bundle is installed, the Workspace name under each
|
|
34
|
+
thread title also carries that Workspace's `+N −M` / `干净` / `无 Git`
|
|
35
|
+
badge. Choosing a Session also
|
|
36
|
+
reveals it in the left Workspace sidebar: a folded Workspace (and every
|
|
37
|
+
folded Workspace Tree ancestor) expands, the Session row watermark rises,
|
|
38
|
+
the group smooth-scrolls into view, and the Workspace header flashes.
|
|
39
|
+
- **Sub-agent threads are hidden by default.** Sessions whose
|
|
40
|
+
`origin === "subagent"` are excluded from rows, search results, workspace
|
|
41
|
+
activity badges and counts. When any exist, the footer shows
|
|
42
|
+
`显示 N 个子代理会话`; the toggle includes them for the current palette
|
|
43
|
+
session and returns to the hidden default on the next open, so teammate and
|
|
44
|
+
research threads never crowd the list unless asked for.
|
|
45
|
+
- *Workspaces*: Workspaces ordered by their most recent Session activity, with
|
|
46
|
+
an abbreviated path and an aggregate status badge that reports one state by
|
|
47
|
+
priority pending > failed > running > unread (`N 个待处理` / `N 个出错` /
|
|
48
|
+
`N 个工作中` / `N 个未读`). When the `@qzsy/dsh-git-badge` bundle is
|
|
49
|
+
installed, each workspace name also carries its Git badge: `+N −M` line
|
|
50
|
+
changes, `干净` for a clean repository, `无 Git` outside a repository, or
|
|
51
|
+
the file count when only
|
|
52
|
+
untracked files changed. Git data comes from the Host's
|
|
53
|
+
`POST /api/git-badge` route (8 s palette cache); without that route the
|
|
54
|
+
badges are simply absent. Enter opens the newest Session in the Workspace,
|
|
55
|
+
or a fresh blank Session when it has none.
|
|
56
|
+
- *Files*: live, debounced Host file-reference lookup scoped to the Session in
|
|
57
|
+
the main panel; choosing a row opens the file in the right-hand preview.
|
|
58
|
+
Every file row carries a `项目 · <Workspace>` badge below its path so the
|
|
59
|
+
search scope stays visible, and the Files placeholder names the same project.
|
|
60
|
+
Opened files are remembered locally (origin-scoped `localStorage`) and listed
|
|
61
|
+
as *Recent files* when the search box is empty; recent files resolve their
|
|
62
|
+
project from the Session's Workspace. File matching stays Host-ranked path
|
|
63
|
+
matching (see limitations).
|
|
64
|
+
- *Actions*: every registered shortcut command (labels and keys come from the
|
|
65
|
+
live shortcut catalog, so plugin commands appear automatically). Enter
|
|
66
|
+
invokes the command through the shortcut registry; Settings and the keyboard
|
|
67
|
+
shortcut reference open from here.
|
|
68
|
+
- **Mixed Chinese/English search** through [`text-search-engine`](https://github.com/cjinhuo/text-search-engine):
|
|
69
|
+
one query covers Han characters (`登录`), full pinyin (`denglu`), pinyin
|
|
70
|
+
initials (`dl`), English subsequences (`nextjs`), space-separated terms, and
|
|
71
|
+
mixed forms (`qunxingerp`, `群erp`, `qxkf`). Matched ranges are highlighted in
|
|
72
|
+
titles and subtitles. Ranking prefers tighter, earlier title hits, then
|
|
73
|
+
detail hits, then recency.
|
|
74
|
+
- **Keyboard**: Up/Down move the selection, Enter opens, Escape closes. The
|
|
75
|
+
filter switches with bare ← / → (both directions, wrapping) or Tab /
|
|
76
|
+
Shift+Tab; holding Alt/Ctrl/Cmd with an arrow keeps native caret or word
|
|
77
|
+
movement inside the query. IME composition is never intercepted, so pinyin
|
|
78
|
+
candidate selection keeps working. Focus returns to whatever had it before
|
|
79
|
+
opening.
|
|
80
|
+
- **Sidebar entry**: the *命令面板 / Command palette* row joins the global panel
|
|
81
|
+
stack directly below 自动化任务 / Automations (glyph-only in the collapsed
|
|
82
|
+
rail). Choosing it opens the overlay without switching the main panel: the row
|
|
83
|
+
is an action, so the plugin answers that one panel id in the layout selection
|
|
84
|
+
and delegates every other id to the layout owner.
|
|
85
|
+
- Light/dark themes follow `--dsw-*` tokens; all copy is registered in the Client
|
|
86
|
+
locale service (zh/en).
|
|
87
|
+
|
|
88
|
+
## Search engine integration
|
|
89
|
+
|
|
90
|
+
DSH's browser module table only resolves its own platform modules and
|
|
91
|
+
client-plugin rows, so a plain-JS plugin cannot `require('text-search-engine')`
|
|
92
|
+
at runtime. The package's minified browser IIFE is therefore vendored and
|
|
93
|
+
injected into the client bundle:
|
|
94
|
+
|
|
95
|
+
- `vendor/text-search-engine.min.js` — exact browser build from the pinned
|
|
96
|
+
`text-search-engine@1.6.0` dependency (MIT; license in
|
|
97
|
+
`vendor/text-search-engine.LICENSE`).
|
|
98
|
+
- `scripts/sync-vendor-engine.mjs` — rewrites the marked region in `client.js`
|
|
99
|
+
from the vendored file; run `node scripts/sync-vendor-engine.mjs` after
|
|
100
|
+
updating the vendored build.
|
|
101
|
+
- `client.js` — the generated region captures the engine exports in a factory
|
|
102
|
+
scope constant and uses `createSearcher()` with `title`/`detail` fields,
|
|
103
|
+
custom ranking, and hit ranges for highlighting. If the engine fails to
|
|
104
|
+
initialize, a built-in subsequence matcher keeps the palette usable.
|
|
105
|
+
|
|
106
|
+
File search is delegated to the Host (`ctx.remote.fileReferences.list`), which
|
|
107
|
+
retrieves and ranks paths from the current Session workspace; pinyin is applied
|
|
108
|
+
to sessions, workspaces, and actions, where titles are user-facing Chinese text.
|
|
109
|
+
|
|
110
|
+
## Session status
|
|
111
|
+
|
|
112
|
+
The palette reads the root `useSessionStatus` hook of the `shell.overlay` slot
|
|
113
|
+
(provided by `dsh-client-ui-session`). That observable snapshot carries
|
|
114
|
+
`running`, `pendingInteraction.kind`, and `completionUnread` per Session, so
|
|
115
|
+
badges and counts change live as agents start, wait for input, and finish.
|
|
116
|
+
|
|
117
|
+
A Session settles into one of three terminal states:
|
|
118
|
+
|
|
119
|
+
- **Viewed success — no badge.** The completion has been acknowledged, so the
|
|
120
|
+
row is a plain Session and the badge clears.
|
|
121
|
+
- **Unread success — green `已完成`.** Shown while the snapshot still reports
|
|
122
|
+
`completionUnread`; the tooltip reads `已完成,尚未查看`.
|
|
123
|
+
- **Failed run — red `出错`.** The tooltip reads `运行出错:<message>`, or
|
|
124
|
+
`运行出错(尚未查看):<message>` when the same Session is also an unread
|
|
125
|
+
completion. An empty failure message falls back to `未知错误`.
|
|
126
|
+
|
|
127
|
+
The unified snapshot answers whether a run is going, waiting, or finished
|
|
128
|
+
unread; it does not say why a run ended. Failures therefore come from the
|
|
129
|
+
forwarded Host event `api-session/error`, which carries Agent failures —
|
|
130
|
+
including network and provider errors. The palette keeps the latest message
|
|
131
|
+
per Session and drops it when the next turn starts (`api-session/status` with
|
|
132
|
+
`running` true), when a new user prompt arrives (`api-session/activity`), or
|
|
133
|
+
when the Session is removed (`api-session/removed`). Aborted runs and
|
|
134
|
+
transient tool errors never reach that event, so they never raise the badge.
|
|
135
|
+
|
|
136
|
+
The map is in-memory for the app session — the same lifetime as unread
|
|
137
|
+
completions — so a reload starts clean. A failure that predates the palette
|
|
138
|
+
stays clear until the Host forwards a new `api-session/error`.
|
|
139
|
+
|
|
140
|
+
When several states apply, one badge wins in this order: pending interaction >
|
|
141
|
+
running > failure > unread completion. A stale failure can therefore never
|
|
142
|
+
mask a Session that is working or waiting for the user.
|
|
143
|
+
|
|
144
|
+
Workspace badges aggregate their Sessions with the priority pending > failed >
|
|
145
|
+
running > unread, counting each Session once (`N 个待处理` / `N 个出错` /
|
|
146
|
+
`N 个工作中` / `N 个未读`). The Sessions group label appends the counts in
|
|
147
|
+
running/pending/error/unread order, keeping only nonzero segments:
|
|
148
|
+
`近期会话 · N 个进行中 · N 个待处理 · N 个出错 · N 个未读`.
|
|
149
|
+
|
|
150
|
+
Error excerpts are whitespace-collapsed onto one line and capped at 180
|
|
151
|
+
characters with an ellipsis.
|
|
152
|
+
|
|
153
|
+
`scripts/verify-status.mjs` is the browser-free node harness that verifies this
|
|
154
|
+
state matrix. `docs/palette-statuses.png` renders the five states above from the
|
|
155
|
+
same component (running, pending, failed, unread, viewed).
|
|
156
|
+
|
|
157
|
+
## Sidebar reveal
|
|
158
|
+
|
|
159
|
+
Selecting a Session or Workspace closes the palette, navigates, and then reveals
|
|
160
|
+
the target in the left Workspace browser. The browser owns reveal for its own
|
|
161
|
+
search in private React state, so the palette drives the stable DOM markers the
|
|
162
|
+
browser publishes instead: `data-row-key` identifies Workspace / Session /
|
|
163
|
+
watermark rows, `aria-expanded` reports a folded Workspace, and `role="tree"`
|
|
164
|
+
is the scrolling list. The persisted `dsh.workspace.view.v5` store supplies the
|
|
165
|
+
grouping mode, which distinguishes sibling Workspace groups from Workspace Tree
|
|
166
|
+
ancestry.
|
|
167
|
+
|
|
168
|
+
The reveal is bounded (about 2.4 s of retries): it expands the owning group and
|
|
169
|
+
its tree ancestors, raises hidden session rows through the same **Show more**
|
|
170
|
+
control the browser owns, then scrolls the group and chosen row into view with
|
|
171
|
+
`behavior: "smooth"` (or `auto` under reduced motion) and briefly rings the
|
|
172
|
+
Workspace header with a `--dsw-*` token outline. If the sidebar is a collapsed
|
|
173
|
+
rail, or the target is hidden by the current archive filter, the reveal is a
|
|
174
|
+
silent no-op — navigation still succeeds.
|
|
175
|
+
|
|
176
|
+
## Marketplace palette
|
|
177
|
+
|
|
178
|
+
The DSH Market landing page in this repository (`apps/market`) mounts the same
|
|
179
|
+
keyboard-first interaction as a live demo: `⌘K` / `Ctrl+K` searches the plugin
|
|
180
|
+
directory, opens plugin pages, and offers the install command. The palette footer
|
|
181
|
+
credits this package, and `@qzsy` packages stay pinned ahead of upstream
|
|
182
|
+
duplicates so the command palette itself is always one keystroke away.
|
|
183
|
+
|
|
184
|
+
## Shortcut ownership
|
|
185
|
+
|
|
186
|
+
`session.search` already owns `Command+K` in the shipped UI. The palette registers
|
|
187
|
+
with the free `Command+Shift+P` default and, once per device preference document,
|
|
188
|
+
uses the public `ctx.shortcuts.edit()` API to:
|
|
189
|
+
|
|
190
|
+
1. clear `session.search`'s binding, and
|
|
191
|
+
2. bind `palette.open` to the chord `session.search` had (Command+K on Desktop,
|
|
192
|
+
Mod+Alt+K in the browser).
|
|
193
|
+
|
|
194
|
+
That is a normal, visible override in Settings → Keyboard shortcuts: both rows
|
|
195
|
+
show as modified, and *Restore All Defaults* restores the palette to
|
|
196
|
+
`Command+Shift+P` and search to `Command+K`. On the next launch the plugin
|
|
197
|
+
re-adopts the chord while both rows are still at their unmodified defaults, so
|
|
198
|
+
`Command+K` keeps opening the palette. Session search itself stays available from
|
|
199
|
+
the palette's Actions list and from the sidebar search icon.
|
|
200
|
+
|
|
201
|
+
## Install
|
|
202
|
+
|
|
203
|
+
The bundle is installed into the current profile with
|
|
204
|
+
`plugin_manager install_bundle` (absolute package directory). It needs no build
|
|
205
|
+
step at install time: `client.js` is a plain-JS `__ModuleLoader__` module that
|
|
206
|
+
only requires `react` from the browser module table, with the vendored engine
|
|
207
|
+
already inlined.
|
|
208
|
+
|
|
209
|
+
## Files
|
|
210
|
+
|
|
211
|
+
- `package.json` — bundle manifest (`dsh.bundle.patch`, `dsh.client`, display resources)
|
|
212
|
+
- `cordis.patch.yml` — inserts the Host row
|
|
213
|
+
- `index.js` — Host half (no-op; the palette is client-only)
|
|
214
|
+
- `client.js` — shortcut adoption, overlay palette, live status badges, ranked
|
|
215
|
+
mixed-script search, sidebar trigger, zh/en dictionaries
|
|
216
|
+
- `vendor/` — vendored engine build and its MIT license
|
|
217
|
+
- `scripts/sync-vendor-engine.mjs` — regenerates the vendored engine region
|
|
218
|
+
- `locale/en.json`, `locale/zh.json` — Plugin Manager title/description
|
|
219
|
+
- `icon.svg` — original artwork
|
|
220
|
+
- `docs/` — verification screenshots
|
package/cordis.patch.yml
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
- insert:
|
|
2
|
-
- id: command-palette
|
|
3
|
-
name: '@qzsy/dsh-command-palette'
|
|
1
|
+
- insert:
|
|
2
|
+
- id: command-palette
|
|
3
|
+
name: '@qzsy/dsh-command-palette'
|