feat: 推荐插件目录收录 dsh-sentinel(Tab 注册)

- plugins-tabs.ts 收录 dsh-sentinel(条件驱动的 agent 唤醒系统,注册 dsh-sentinel:watches Tab)
- install 拼接官方一键命令:cd ~/.dsh && dsh plugin --profile web add "github:fuhefei/dsh-sentinel#v0.7.0"
- 新增 pluginSentinelDesc 文案(zh/en);测试同步(tab 目录不再为空态)
This commit is contained in:
Menghuan1918
2026-08-14 23:04:25 +08:00
parent c0aeefc936
commit 7d524724ae
5 changed files with 29 additions and 13 deletions
+2
View File
@@ -218,6 +218,7 @@ export const zh = {
openPlugin: '跳转',
copyInstall: '复制安装命令',
pluginOfficeDesc: '为 better-sidebar 编辑器提供 Office 三件套预览(.docx / .xlsx / .pptx),把重型 Office 渲染库拆出主包、按需安装',
pluginSentinelDesc: '条件驱动的 agent 唤醒系统:文件/进程/端口/HTTP/命令/webhook 传感器,条件达成自动唤醒休眠会话;注册「哨兵」Tab 展示服务器全局监控表',
}
/** The en dictionary (key-set-equal to zh, enforced by the type annotation). */
@@ -429,6 +430,7 @@ export const en: Record<keyof typeof zh, string> = {
openPlugin: 'Open',
copyInstall: 'Copy install command',
pluginOfficeDesc: 'Office-suite preview (.docx / .xlsx / .pptx) for the better-sidebar editor, keeping the heavy Office render libraries out of the core bundle',
pluginSentinelDesc: 'Condition-driven agent wakeup: file/process/port/http/command/webhook sensors wake dormant sessions when conditions fire; registers a "Sentinel" tab with the server-wide watch table',
}
/**
+19 -7
View File
@@ -3,13 +3,25 @@
* 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, `url` = GitHub repo, `description` =
* i18n-friendly, `install` = the full shell command pre-filled into the
* install terminal — 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`.
* i18n-friendly (add a `pluginXxxDesc` key in locales.ts), `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 (empty until a real one exists — the modal
* renders the empty state and points at the GitHub topic). */
export const builtinTabPlugins: readonly PluginEntry[] = []
/** Tab-registration plugins (alphabetical order). */
export const builtinTabPlugins: readonly PluginEntry[] = [
{
id: '@dsh-external/dsh-sentinel',
name: 'dsh-sentinel 唤醒系统',
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"',
},
]