DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Universal Palette — DeepSeek Harness 插件(DSH Plugin)
← 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 →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

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

Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航Dafeiyudsh-dafeiyu由 DeepSeek Harness 会话事件驱动的原生桌面端 BigFish companion。Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Usage Stats@ychris12138/dsh-usage-statsdsh Web GUI 的令牌使用热力图、提供商余额和订阅配额

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