前言¶
在 DeepSeek Harness(DSH)里接 headless 浏览器类 MCP,常见做法是手动维护 obscura 进程、在 profile 里写 mcp-obscura 行,并自己核对端口与 harness 是否真连上。端口改了、服务没健康、配置行和实际地址不一致时,排查往往要来回对好几处。
dsh-obscura(仓库 SodiumLayer/dsh-obscura)是第三方工作流插件:在 DSH 启动序列里解析 obscura 可执行文件、拉起 MCP HTTP 服务并做握手健康检查,同时在设置页里同步 profile 中的 mcp-obscura 配置、提供版本探测与「测试接入」。本文介绍其定位、能力与安装用法;事实以仓库 README 与 package 元数据为准。
这是什么¶
- 名称:dsh-obscura-plugin(社区目录条目:sodiumlayer/dsh-obscura)
- 维护者:SodiumLayer
- 分类:工作流(DeepSeek Harness 插件目录:SkillHub 条目)
- 上游关系:非官方第三方插件,与 DeepSeek Harness、Obscura(h4ckf0r0day/obscura)无隶属关系;本仓库不包含、也不分发 obscura 二进制,需自行从上游获取并遵守其许可。
一句话:Obscura 的 DSH 设置页插件——启动与健康检查 obscura MCP 服务、从 PATH 或插件 bin/ 解析二进制,并保持 profile 里 mcp-obscura 条目与面板设置一致。
核心功能¶
下面按 README 中的需求—实现对照说明(仅列资料已写明的能力)。
DSH 启动时自动拉起 MCP 服务¶
宿主侧在启动序列里解析可执行文件并执行类似 spawn obscura mcp --http --port <port>,轮询 MCP 握手确认可用;随 DSH 退出时停止本插件自己启动的进程,不结束他人占用的实例。
可执行文件解析与版本展示¶
解析优先级:自定义路径 → 系统 PATH → 插件目录 bin/(含解压出的子目录)。自定义路径既可以是可执行文件,也可以是其所在文件夹。
面板只显示一条版本信息,来自真实执行的 obscura --version;拿不到版本则显示「不可用」。插件包内提供 bin\ 目录与「打开文件夹」按钮,便于放置自行下载的二进制(Windows 下资料示例为 bin\)。
MCP 配置开关与接入地址¶
- 开关(开):在 profile 的
cordis.patch.yml写入或复用一行mcp-obscura。 - 开关(关):移除该行。
- 接入地址:文本框留空则按
--port自动生成http://localhost:<端口>/mcp;填写则使用你的地址。端口或地址变化时配置行自动跟随;若与文件内手工修改不一致,面板会明确提示。
实现上采用逐行编辑 patch 文件,保留文件头注释、其他插件行及无法解释的 !!js 表达式;配置行由有效 MCP URL 投影生成,避免面板测新端口、harness 仍指向旧端口。
服务控制与启动参数¶
设置页提供 启动服务 / 重启服务 / 停止服务,以及 自定义启动参数 文本框。插件固定子命令为 mcp;host、port、stealth 等均由参数框决定,默认值为:
--http --host 127.0.0.1 --port 3000
--port 决定健康检查与 harness 接入地址;缺少 --http 会明确报错,而不是静默走 stdio。
一键测试 harness 是否已接入¶
「测试接入」分两段:
- 服务段:直接请求面板上显示的 MCP 接入地址,执行
initialize与tools/list。 - 接入段:读取 loader 条目与
mcp__obscura__*工具数量。
分开报告,便于区分「服务没跑」与「服务在跑但未接入 harness」。MCP 开关反映的是 patch 文件中是否存在该行,是否已挂载以接入段为准;修改 MCP 相关配置后通常需重启 DSH 才挂载生效(资料强调写入配置 ≠ 已生效)。
设计约束(使用时的预期行为)¶
- Obscura 相关失败收敛为面板状态与原因,不阻断 DSH 启动。
- 不联网代下 obscura、不结束非本插件持有的进程;端口冲突会报冲突而非强杀占用者。
- 宿主实现仅依赖 Node 内置模块;设置页不引入额外前端库(使用宿主注入的
react)。 - 兼容声明(package.json):DSH
>=0.2.0-rc.1 <0.3.0,profile 支持web、desktop;Node>=22.19。
安装与启用¶
安装与使用的详细说明见仓库 INSTALL.md。README 给出的添加命令如下(针对 web profile):
dsh plugin --profile web add github:SodiumLayer/dsh-obscura
添加插件后,在 DSH 设置页中配置 obscura 路径(或放入插件 bin/)、启动参数与 MCP 开关;首次使用前请自行准备 obscura 可执行文件。
典型用法¶
可按下面顺序在设置页完成一次完整接入(步骤来自 README 功能描述,无额外案例数据)。
- 将 obscura 二进制放到系统 PATH、插件
bin/,或在面板指定自定义路径。 - 确认面板版本行能显示
obscura --version的结果;否则先解决「不可用」再开 MCP。 - 按需编辑启动参数(须含
--http与--port),用 启动服务 拉起进程;必要时用 重启服务 / 停止服务 调整。 - 打开 MCP 开关,核对生成的
mcp-obscura接入地址与参数中的端口一致。 - 点击 测试接入:先看服务段是否通过,再看接入段是否列出
mcp__obscura__*工具;若接入段失败而服务段成功,重点查 profile 是否已重启加载 patch。 - 重启 DSH(在修改 MCP 配置或 patch 后按面板提示操作),再在 harness 对话中调用 obscura 提供的 MCP 工具。
适用场景与注意¶
适合谁:已在或计划在 DSH 中使用 Obscura 作为 headless 浏览器 MCP,希望把进程生命周期、健康检查与 cordis.patch.yml 里的 mcp-obscura 行交给插件统一维护的工作流用户。
安装前建议:
- 插件以当前 DSH 进程权限运行;安装前应阅读 GitHub 源码 与 MIT 许可证,并自行评估 obscura 上游许可与安全策略。
- 社区插件目录(如 SkillHub)为独立生态站点,与 DeepSeek / 幻方无官方从属关系,勿当作官方应用商店。
- 当前 package 版本为 0.1.0;仓库星标以目录页展示为准(资料抓取时为 0)。
结尾¶
dsh-obscura 把「拉 obscura MCP、验健康、写 patch、测 harness 接入」收进一个设置页,减少手工对端口与配置行的来回修改。进一步了解可访问 SkillHub 插件页 与 GitHub 仓库。