DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
U

dsh-universal-palette

Universal Palette

适用于 DeepSeek Harness Web 的高密度半透明玻璃风格通用面板:将命令、模型、会话、对话命中项、技能和参考资料整合到一个以键盘操作为主的界面中,并提供丰富条目的次级操作。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:yunmin311/dsh-universal-palette#dbfed4e6e7aab813c4b92764ec7d7e3f792ae407
README兼容性版本

兼容性与来源证明

Universal Palette 以 dsh-universal-palette 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/3

版本

0.1.0stable
2026/9/3

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/9/14
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包

README

dsh-universal-palette

Dense translucent-glass Universal Palette for DeepSeek Harness Web.

One sentence differentiation: not "another command palette" — it finds a DSH object and then, in the same keyboard flow, executes the next action that object currently allows (open / reference / copy / switch / load).

ShortcutWhere
Ctrl+Shift+K (Windows/Linux) · Cmd+Shift+K (macOS)Open the palette

The default shortcut is deliberately off Ctrl/Cmd+K (taken by dsh-spotlight) and off Alt+M (taken by dsh-model-palette). When a known conflict is detected, the palette surfaces it as a soft notice inside the surface — it never silently overrides.

Locked compatibility baseline

This release is verified against the exact upstream SHA below — not latest master, not 0.1.x, not any moving target.

Upstreamdeepseek-ai/deepseek-harness
SHA76fda729799fe9b3848dbe2c211d4b231032b81e
Root package version0.1.2-rc.1

Other DSH versions are best-effort / unverified. Compatibility is not guaranteed for any other SHA.

V1 release contract (P0, locked)

The V1 P0 set is exactly:

  • Commands — execute via host command plane, no model message
  • Sessions — open via host sessions.open
  • Models — switch via host session.selectModel
  • Conversation Hits — populated via ctx.sessionQuery against a persistent FTS index opened on first-search (enabled by the plugin's cordis.patch.yml)
  • Action Panel — result-level secondary actions
  • Deterministic context / frecency ranking — 0.46·text + 0.19·context + 0.15·frecency + 0.10·pin + 0.10·providerHint, no LLM

Skills, generic References, Alias, and Hide remain in the code path as optional surfaces; none are part of the V1 release gate. No V1.1 features are tracked here.

What it does

  • One input box across every enabled DSH capability the host exposes — Commands, Sessions, Models, Conversation Hits.
  • Rich item rows: Conversation Hits carry a snippet line, taller row, and metadata badges (workspace · age).
  • Result-level Action Panel: every result exposes Open / Switch / Load as primary, plus a small … that opens a second layer (Tab / →) with Reference, Copy excerpt, Pin.
  • Deterministic ranking — no LLM call, no model tokens consumed by opening the palette.
  • Frecency stored locally (localStorage under the dsh-universal-palette namespace). Pin persists the same way. Reset ranking clears frecency, not pins.
  • Provider isolation: any single provider failure (throw, timeout, abort) hides only that category — every other category still searches and executes.
  • Capability detection at activation: providers opt out when the host service is missing; the palette degrades silently instead of throwing.
  • No shell.overlay → no palette: the UI mounts only through the public Slot system. If the slot is absent in the running DSH build, the palette disables itself — there is no document.body fallback, no DOM scraping, no first-party patching.

Install

Requirements: dsh CLI on a web profile, version 0.1.2-rc.1 (matching the locked SHA).

dsh plugin --profile web add github:yunmin311/dsh-universal-palette#main

The plugin's cordis.patch.yml activates the shipped session-query-sqlite row (persistent path under DSH_HOME, openAt: first-search) so Conversation Hits populate without requiring the user to install any additional plugin.

Then start DSH Web:

dsh --profile web

Press the default shortcut to open.

Usage

ActionKey
Open paletteCtrl/Cmd+Shift+K
Close paletteEsc (or Esc again from Action Panel)
Move selection↑ / ↓
Run primary actionEnter
Open Action PanelTab or →
Move within Action Panel↑ / ↓
Back from Action PanelEsc or Tab
Force commands/actionstype > first

Empty query shows up to 7 items: Pinned → Current-context → Recent/Frequent. No dashboard, no marketing text — the palette opens into the input box.

Coexistence with other plugins

PluginShortcutWhat it coversHow Universal Palette differs
dsh-spotlightCtrl/Cmd+KNative slash commands, recent sessions, DOM-action discovery, plugin settingsUniversal Palette does not scrape host DOM. It talks only to host services and adds rich secondary actions on every result.
dsh-command-paletteDouble ShiftSessions, workspaces, settings, features, custom prompts, provider extensionUniversal Palette is not a settings navigator. It federates only the host's native contract surface.
dsh-session-workbench (was dsh-session-kb)sidebar tabFTS fragment hits + locate + @recallUniversal Palette activates the same shipped session-query-sqlite row, no second FTS index, no dsh-session-kb clone.
dsh-reference-anything@Unified @ menu (commands, skills, files, sessions, external conversations)Universal Palette is a global action surface. Reference insertion is one secondary action among many on a result — it never replaces the @ flow.
dsh-model-paletteAlt+MProvider rail + model config + OpenRouter mediaUniversal Palette exposes Model as one item kind with Switch as primary; model configuration is not its concern.
dsh-codex-uisidebar replacementReplaces main UIUniversal Palette is an additive overlay only. Uninstalling it leaves zero layout residue.

Install any combination. Universal Palette picks a non-conflicting shortcut by default; when conflicts are detected, it surfaces them instead of overriding.

Browser half entry

The browser half ships at dist/client.js and exports a default activateClient(ctx) function. The DSH shell calls it after the host graph loads.

import activateClient, { type ClientCtx } from '@yunmin311/dsh-universal-palette/client'

const handle = activateClient({
  host: {
    commands: { /* wire adapter */ },
    sessions: { /* wire adapter */ },
    modelDirectory: { /* wire adapter */ },
    sessionQuery: { /* wire adapter */ },
  },
  overlay: {
    shellOverlayRoot: ctx.slots.resolve('shell.overlay'),
  },
})

// Later, on plugin unload:
handle.dispose()

There is no public registerProvider() API in V1. Third-party plugins extend DSH native services instead. Universal Palette federates only the host's native capability set.

Architecture

See docs/ARCHITECTURE.md for the host / browser split, capability probe, ranking math, provider contract, and disposal guarantees.

Compatibility matrix

See docs/COMPATIBILITY.md for the exact real-API binding table, runtime capability matrix, recorded deviations, and per-plugin coexistence behavior.

Implementation evidence

IMPLEMENTATION_REPORT.md records the final capability probe, verified commands, P0 acceptance, dedup result, and verdict.

Development

git clone https://github.com/yunmin311/dsh-universal-palette.git
cd dsh-universal-palette
pnpm install

pnpm run typecheck
pnpm run build
pnpm run test

Requirements: Node.js >=22.19, pnpm 11.x.

License

MIT