Repository navigation
Expand file tree
/
Copy pathplugins-tabs.ts
More file actions
233 lines (232 loc) · 12.1 KB
/
Copy pathplugins-tabs.ts
File metadata and controls
233 lines (232 loc) · 12.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
/**
* The built-in catalog of TAB-registration plugins (sidebar pages),
* shown in the "add tab plugin" modal (Side card settings → 侧边栏内容 grid
* → the dashed card). Adding an entry: append one object here (unique
* `id` = npm package name, `name` / `description` = i18n-friendly (add a
* `pluginXxxName` / `pluginXxxDesc` key in locales.ts), `url` = GitHub repo,
* `install` = the full one-line install script — it starts with `cd ~/.dsh`
* so the install runs with the DSH home as the working directory). Data
* integrity is guarded by `tests/plugin-list.spec.ts`.
*/
import { t } from './locales.ts'
import type { PluginEntry } from './plugins-shared.ts'
/** Tab-registration plugins (alphabetical order). */
export const builtinTabPlugins: readonly PluginEntry[] = [
{
id: '@dsh-external/dsh-sentinel',
name: () => t('pluginSentinelName'),
url: 'https://github.com/fuhefei/dsh-sentinel',
description: () => t('pluginSentinelDesc'),
// The official one-line bundle-channel install (git source, build
// artifacts committed — no build step needed). The `github:…` form is
// the upstream's documented command, `cd ~/.dsh` keeps the profile
// context consistent with the other entries.
install: 'cd ~/.dsh && dsh plugin --profile web add "github:fuhefei/dsh-sentinel#v0.7.0"',
},
{
id: '@dsh-external/ego-browser',
name: () => t('pluginEgoBrowserName'),
url: 'https://github.com/Fisfzy/ego-browser',
description: () => t('pluginEgoBrowserDesc'),
// Registers a sidebar tab for the agent browser; optional peer of
// better-sidebar (auto-tab when present, floating bubble when not).
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add git+https://github.com/Fisfzy/ego-browser.git',
},
{
id: '@modusensus/dsh-mneme',
name: () => t('pluginMnemeName'),
url: 'https://github.com/modusensus/dsh-mneme',
description: () => t('pluginMnemeDesc'),
// Dual-mount like flowglass — registers a native "Memory Library" tab
// (memories/entities/status/settings views) when better-sidebar is
// present and keeps its standalone sidebar sheet as a fallback.
// Published on npm (scoped); install the prerequisite first.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add @modusensus/dsh-mneme',
},
{
id: 'dsh-agent-persona',
name: () => t('pluginAgentPersonaName'),
url: 'https://github.com/Awoodwhale/dsh-agent-persona',
description: () => t('pluginAgentPersonaDesc'),
// Scopes system-prompt personas by workspace or session and serves them from a
// 「人设」tab (with its own settings page). The tab registers through this plugin's
// service, so better-sidebar is installed first; the package is on npm, so the
// install line needs no git form.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-agent-persona',
},
{
id: 'dsh-better-overleaf',
name: () => t('pluginBetterOverleafName'),
url: 'https://github.com/Hoemr/dsh-better-overleaf',
description: () => t('pluginBetterOverleafDesc'),
// Published on npm; peer-depends on dsh-better-sidebar (Overleaf tab),
// so the install line installs the prerequisite first.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-better-overleaf',
},
{
id: 'dsh-dev-git-graph',
name: 'dsh-dev-git-graph 提交图',
url: 'https://github.com/kp-z/dsh-dev-git-graph',
description: () => t('pluginDevGitGraphDesc'),
// Optional peer of dsh-better-sidebar (native tab + DiffTab reuse when
// present, overlay fallback when not); published on npm.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-dev-git-graph',
},
{
id: 'dsh-docs-panel',
name: () => t('pluginDocsPanelName'),
url: 'https://github.com/mlosun/dsh-docs-panel',
description: () => t('pluginDocsPanelDesc'),
// dsh-docs-panel hard-depends on dsh-better-sidebar (required peer), so
// the install line installs the prerequisite first, then the plugin.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-docs-panel',
},
{
id: '@dsh-external/dsh-file-trace',
name: () => t('pluginFileTraceName'),
url: 'https://github.com/lhh010/dsh-file-trace',
description: () => t('pluginFileTraceDesc'),
// Dual mount: registers the native "File Trace" tab when better-sidebar
// is present (optional peer), standalone floating window otherwise.
// GitHub-sourced with committed lib/ — the pinned github: tag installs
// without a local build.
install: "cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add '@dsh-external/dsh-file-trace@github:lhh010/dsh-file-trace#v0.3.24'",
},
{
id: 'dsh-tylina',
name: () => t('pluginTylinaName'),
url: 'https://github.com/tylina/dsh-tylina',
description: () => t('pluginTylinaDesc'),
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-tylina',
},
{
id: 'dsh-flowglass',
name: () => t('pluginFlowglassName'),
url: 'https://github.com/Iwctwbh/dsh-flowglass',
description: () => t('pluginFlowglassDesc'),
// Flowglass keeps its standalone drawer as a fallback and registers the
// native tab automatically when better-sidebar is present.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-flowglass',
},
{
id: 'dsh-git-forge',
name: () => t('pluginGitForgeName'),
url: 'https://github.com/OMSociety/dsh-git-forge',
description: () => t('pluginGitForgeDesc'),
// Peer-depends on dsh-better-sidebar (Git Forge tab). Install the
// prerequisite first; the package is published on npm as dsh-git-forge.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-git-forge@1.0.0',
},
{
id: 'dsh-github-workbench',
name: () => t('pluginGithubWorkbenchName'),
url: 'https://github.com/meyaomiao/dsh-github-workbench',
description: () => t('pluginGithubWorkbenchDesc'),
// Full GitHub workbench tab: remote repo tree + Issues/PRs/Actions tabs
// with write support (create/comment/merge/re-run). lib/ is committed,
// so the pinned github:-form install works without a local build.
install: 'cd ~/.dsh && dsh plugin --profile web add "github:meyaomiao/dsh-github-workbench#v0.1.0"',
},
{
id: 'dsh-ide-git',
name: () => t('pluginIdeGitName'),
url: 'https://github.com/KannaKuron/dsh-ide-git',
description: () => t('pluginIdeGitDesc'),
// Published on npm. better-sidebar is an OPTIONAL peer: without it the
// plugin registers into DSH's own right sidebar (ctx.sidebarRightTabs +
// the keyed sidebar.right.pane.tab seat, with a guide capsule as the
// entry), so the install line carries no prerequisite. A better-sidebar
// that loads late takes the native registration down and hosts the tab
// itself, so the two channels never draw the panel twice.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-ide-git',
},
{
id: 'dsh-memory-delta',
name: () => t('pluginDshMemoryDeltaName'),
url: 'https://github.com/lpf20200901/dsh-memory-delta',
description: () => t('pluginDshMemoryDeltaDesc'),
// Cross-session memory for DSH: layered Markdown store in the workspace,
// differential injection (only what changed), review-date reminders,
// ranked search and a read-only sidebar tab. lib/ ships prebuilt, so the
// pinned github:-form install needs no local build.
install: 'cd ~/.dsh && dsh plugin --profile web add "github:lpf20200901/dsh-memory-delta#v1.3.3"',
},
{
id: 'dsh-sidebar-qa',
name: () => t('pluginSidebarQaName'),
url: 'https://github.com/ChenRuoT/dsh-sidebar-qa',
description: () => t('pluginSidebarQaDesc'),
// dsh-sidebar-qa hard-depends on dsh-better-sidebar (required peer), so
// the install line installs the prerequisite first, then the plugin.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add git+https://github.com/ChenRuoT/dsh-sidebar-qa.git',
},
{
id: 'dsh-sidenote',
name: () => t('pluginSidenoteName'),
url: 'https://github.com/g-yixuan/dsh-sidenote',
description: () => t('pluginSidenoteDesc'),
// dsh-sidenote hard-depends on dsh-better-sidebar (required peer), so
// the install line installs the prerequisite first, then the plugin.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-sidenote',
},
{
id: 'dsh-server-deck',
name: () => t('pluginServerDeckName'),
url: 'https://github.com/meyaomiao/DSH-server-deck',
description: () => t('pluginServerDeckDesc'),
// Published on npm; dual-mount like flowglass — registers the native
// "Servers" tab when better-sidebar is present, standalone drawer
// otherwise. Install the prerequisite first.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-server-deck@latest',
},
{
id: 'dsh-side-chat',
name: 'Side Chat',
url: 'https://github.com/xlennart/dsh-side-chat',
description: 'Independent native DSH side conversation with a standalone split view and an optional Better Sidebar page; its own shortcut remains available in both modes.',
// Better Sidebar is an optional peer: Side Chat remains fully usable on
// its own, and registers this tab automatically when the peer is present.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add "github:xlennart/dsh-side-chat#v1.2.1"',
},
{
id: 'dsh-suhuang-scroll',
name: () => t('pluginSuhuangScrollName'),
url: 'https://github.com/YZDame/dsh-suhuang-scroll',
description: () => t('pluginSuhuangScrollDesc'),
// Suhuang Scroll is a DSH Web plugin whose runtime console registers in
// better-sidebar. Install the sidebar prerequisite before the npm package.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-suhuang-scroll',
},
{
id: 'dsh-ssh-tunnel',
name: () => t('pluginSshTunnelName'),
url: 'https://github.com/OMSociety/dsh-ssh-tunnel',
description: () => t('pluginSshTunnelDesc'),
// Peer-depends on dsh-better-sidebar (SSH Tunnel tab + center terminal/SFTP).
// Install the prerequisite first; the package is published on npm as dsh-ssh-tunnel.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-ssh-tunnel@1.0.0',
},
{
id: 'dsh-bilingual-reader',
name: () => t('pluginBilingualReaderName'),
url: 'https://github.com/Johnblur/dsh-bilingual-reader',
description: () => t('pluginBilingualReaderDesc'),
// Bilingual paper reading: a native-PDF tab with LLM selection translation,
// isolated from the main conversation context. Hard-depends on the
// better-sidebar tab service, so install the prerequisite first.
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add github:Johnblur/dsh-bilingual-reader',
},
{
id: 'dsh-turn-outline',
name: () => t('pluginTurnOutlineName'),
url: 'https://github.com/Andor-Z/dsh-turn-outline',
description: () => t('pluginTurnOutlineDesc'),
// Turn-outline tab: folds the session by user turns (input + tool steps
// + output) with one-click jump-back into the conversation. Optional
// peer of better-sidebar, published on npm. The plugin declares
// `dsh-better-sidebar@^0.17.0 || ^0.18.0` and is co-tested on both
// lines: better-sidebar 0.18.0 + DSH 0.1.2-rc.1 (since plugin 0.2.7)
// and better-sidebar 0.17.1 + DSH 0.1.1-rc.x (stable).
install: 'cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add dsh-turn-outline',
},
]