DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Open In App Base — DSH Plugin for DeepSeek Harness
← Plugins

dsh-open-in-app-base

Open In App Base

DeepSeek Harness plugin: the foundation for the Session header's "Open In..." button group, providing a registration contract for related plugins to add target software.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-open-in-app-base@0.2.0
READMECompatibilityVersions

Compatibility and provenance

Open In App Base is published as dsh-open-in-app-base and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/3/2026

Versions

0.2.0
stable
10/3/2026
0.1.0stable
9/30/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
47 kB
Files
8
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
10/3/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseAb Publishdsh-ab-publishBrowser-automation publishing tool that logs into and posts to arbitrary websites, in one publishable plugin packageAb Wechat Scrapedsh-ab-wechat-scrape--- description: "The out-of-tree wechat_scrape tool: retrieves WeChat official-account articles, filters promotional blocks, and saves each as a Markdown file, for maintainers of this machine's dsh profiles." kind: "package-reference" ---Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and r

README

dsh-open-in-app-base

DeepSeek Harness(DSH)第三方插件:在会话(Session)头部工具栏提供一个 "Open In..." 按钮组底座。

DSH 原生 "Open In..." 按钮内置的软件清单是编译期固定的,客户端还有一层白名单过滤,第三方软件无法接入,官方也没有开放应用级扩展点。本插件不 fork 宿主、不修改宿主配置:它在同一位置提供一个自己的按钮组,并把「用哪个软件打开」开放成一个注册契约——同类插件注册自己的目标软件,即会出现在菜单里,且外观与原生按钮一致。

特性

  • 开放插槽:贡献方注册 id / label / route(可选 icon / order)即可加入菜单,无需接触本插件源码。
  • 外观统一:按钮规格(24px 高、11px 字号、0.5px 描边、圆角与 hover)对齐原生 split 按钮;贡献方只提供图标路径数据,尺寸、描边、颜色与按钮结构由底座渲染。
  • 零宿主面:底座自身不注册本机路由、不启动任何进程;目标软件的探测与启动留在贡献方自己的插件里,安全边界清晰。
  • 状态托管:宿主半边托管一份跨 profile 共享的设置存储,下游插件只经服务读写自己的设置(如自定义安装路径),无需自建落盘逻辑。
  • 隐身优先:没有任何已注册目标、已注册目标全部不可用、或当前会话还没有工作区时,按钮整体不渲染。
  • 双端一致:web profile 与 Desktop(Electron)加载同一份浏览器产物。

安装

# web profile(命令行)
dsh plugin --profile web add dsh-open-in-app-base

# Desktop 在应用内 Plugins 页安装
dsh-open-in-app-base

本插件是「Open In...」下游插件的共同依赖:下游插件只提供目标软件与打开逻辑,按钮与菜单由本插件渲染——只装下游插件时功能不会出现,两者需一并安装。下游插件的安装说明里也应显式写明这一点(见《开发指南》)。

使用

按钮出现在会话头部工具栏(原生 "Open In..." 的右侧):

  • 点击按钮(图标或右侧下拉箭头)展开按钮组菜单,菜单里选中某个软件才真正打开当前会话的工作区目录——下游装了 1 个还是多个,交互一致;
  • 菜单里选过的软件会在本次会话内被记住,并在菜单中打勾;
  • 目标软件未安装(或探测失败)时不会出现在菜单里;全部不可用时整个按钮不渲染。

扩展开发

想写一个指向某软件的 Open In 下游插件?注册契约、客户端半边与宿主半边的最小实现、四条硬要求、下游安装说明模板与常见坑,见 DEVELOPMENT.md。本仓库的构建与自测同样在该文件。

工作原理(简述)

插件分两半:宿主半边让插件出现在宿主加载层里,并提供一个宿主侧服务 openInAppState——在会话之外托管跨 profile 共享的设置存储,供下游插件保存自定义安装路径这类值;浏览器半边在会话头部槽位注册按钮组,并以 cordis 服务 openInAppTargets 暴露注册表。按钮组挂载后并发探测各已注册目标的可用性,据此决定是否渲染以及是否显示下拉菜单;点击后向目标自己的路由发起请求,由目标插件完成「用什么命令、在什么平台、怎么探测安装」这些具体实现。

第三方素材

图标来自 lucide(ISC 许可),源文件位于 assets/,构建时以路径数据内联进浏览器产物。

版本历史

  • 0.2.0
    • 🔥提供统一的 config state 供下游插件使用
  • 0.1.0
    • 🔥add plugin dsh-open-in-app-base

License

MIT