dsh-mounts
Manifest valid★ 1DeepSeek Harness 只读“挂载”面板——快速查看指南、技能、MCP服务器及代理预设 Read-only "mounts" panel for DeepSeek Harness — instructions, skills, MCP servers and Agent Presets at a glance.
dsh-mounts
关于本工具 · About This Tool
dsh-mounts 是 DeepSeek Harness 的只读侧栏面板,将当前 profile 的挂载内容归为五类,同页呈现。 面板不注册工具,不注入上下文,不写文件,不发起网络请求。安装不改变模型所见的提示词。
面板的用途限于确认配置内容,不判定其是否生效:补丁中存在 MCP 行,不代表对应进程正在运行; 技能出现在列表中,不代表本轮已加载。
记忆库一栏只从各工作区内的 memory 目录发现(<工作区>/memory、.dsh/memory、.agents/memory);
都没有时该栏显示一行说明,不会隐藏。
DSH 不读取该目录;DSH 自动注入的内容为各工作区的 AGENTS.md 与 AGENTS.local.md,
归入「预规定」一栏。
面板不读取文件内容。记忆库仅取 stat 元数据,技能仅取 frontmatter 中的 description。
查看正文使用每行的「打开」,交由系统默认程序处理;该操作使用 DSH 内置的 Session Remote,
不可用时降级为「复制路径」。面板不修改任何文件,也不提供任何设置项。
This is a read-only sidebar panel for DeepSeek Harness. It presents the mounts of the current profile
in five groups on one page. It registers no tools, adds nothing to the context, writes no files, and
does not use the network; installing it does not change the prompt the model receives. Its purpose is
to report what is configured, not whether it is active: an MCP row in the patch does not imply a
running process, and a listed skill was not necessarily loaded this turn. The memory-library group
discovers named memory directories inside each workspace (<ws>/memory, .dsh/memory,
.agents/memory); an explanatory line is shown when none yields a library;
DSH does not read it, and what DSH injects are the AGENTS.md and AGENTS.local.md files
of each workspace, reported in the first group. File contents are never read: the memory libraries are
only stat-ed and skills contribute the description line from their frontmatter. Reading a file
is delegated to the system default application through DSH's Session Remote, with a copy-path fallback.
The panel does not modify any file and offers no settings.
1. 界面 · Interface
1.1 初始状态 · Initial State
面板在打开时的状态:
挂载清单 [只读] [刷新]
这个 profile 实际挂载了什么:预规定 · 记忆库 · 技能 · MCP · 智能体预设
▸ 预规定 (1)
▸ 记忆库 (2 个工作区 · 15 个文件)
▸ 技能 (9)
▸ MCP 服务器 (3)
▸ 智能体预设 (5)
The panel in its initial state.
五个栏目常显,无内容时展开可见一行说明。All five groups are always shown; an empty one explains itself when expanded.
1.2 记忆库展开至文件级 · Library Expanded to Files
▾ 记忆库 (2 个工作区 · 15 个文件)
▾ my-app
AGENTS.md [自动注入] · 6 节 · [打开]
MEMORY.md · 6.7 KB · 2026-10-16 · [打开]
overview.md · 12.9 KB · 2026-10-17 · [打开]
…
▸ another-project
两图为示意,数据非实测。Both figures are illustrative; the data is not measured.
未发现记忆库时,该栏显示一行说明,不隐藏。When no memory store is found, the group shows an explanatory line instead of hiding.
1.3 栏目与数据来源 · Groups and Data Sources
| 栏 | 来源 | 展开后 |
|---|---|---|
| 预规定 | 全局 ~/.dsh/AGENTS.md(每个会话都注入的那份) | 该文件的 ## 章节标题 |
| 记忆库 | 每个已注册工作区的 AGENTS.md / AGENTS.local.md(注入),以及 memory、.dsh/memory、.agents/memory 下的 .md(不自动读);按工作区分组 | 规则文件章节数;记忆文件名、大小、日期 |
| 技能 | 全局:~/.dsh/skills、~/.agents/skills;工作区:每个已注册工作区的 <ws>/.dsh/skills、<ws>/.agents/skills | 描述全文、文件路径、来源 |
| MCP 服务器 | profile 补丁 + 全局补丁层中的 dsh-mcp-client 行 | 补丁行 id、env 变量名、目标、所属预设 |
| 智能体预设 | profile 补丁 + 全局补丁层中的预设行,以及内置的 standard、ptc、minimal、cordis | 补丁行、标题 |
| Group | Source | Expanded |
|---|---|---|
| Instructions | The global ~/.dsh/AGENTS.md — the one injected into every session | The ## headings of that file |
| Memory libraries | Every registered workspace's AGENTS.md / AGENTS.local.md (injected) plus the .md files under memory, .dsh/memory, .agents/memory (not read automatically); grouped by workspace | Instruction sections; memory file name, size, date |
| Skills | Global: ~/.dsh/skills, ~/.agents/skills; workspace: <ws>/.dsh/skills, <ws>/.agents/skills of every registered workspace | Full description, file path, source |
| MCP servers | dsh-mcp-client rows in the profile patch and the global patch layer | Patch row id, env variable names, target, owning preset |
| Agent presets | Preset rows in the profile patch and the global patch layer, plus the built-in standard, ptc, minimal, cordis | Patch row, title |
2. 层级与展开 · Hierarchy
| 层级 | 触发 | 内容 |
|---|---|---|
| L1 | 打开面板 | 五个栏目标题及计数 |
| L2 | 点击栏目标题 | 该栏条目 |
| L3 | 点击条目 | 该条目自身的字段 |
| L3+ | 点击记忆库的工作区标题 | 该工作区的规则文件与记忆文件 |
| L4 | 点技能的工作区分组 | 该工作区的技能条目 |
初始状态停留在 L1。展开内容仅涉及被展开条目自身的字段。
| Level | Trigger | Content |
|---|---|---|
| L1 | Opening the panel | The five group titles and their counts |
| L2 | Clicking a group title | The entries of that group |
| L3 | Clicking an entry | The fields of that entry |
| L3+ | Clicking a memory workspace title | That workspace's instruction files and memory files |
| L4 | Clicking a skill workspace group | The skills of that workspace |
The initial state rests at L1. An expansion only ever shows the fields of the expanded entry itself.
3. 安装 · Installation
3.1 安装步骤 · Steps
需要 Creator 模式(cordis preset),该预设提供 plugin_manager。
- 将本仓库放入任一工作区。可 clone,亦可使用 GitHub 的 Download ZIP;不依赖 npm。
- 调用
plugin_manager的install_bundle,target指向本包目录的绝对路径。 - 检查返回的
application与warnings。
profile 的 package.json 与 cordis.patch.yml 由 install_bundle 维护。手工修改
或于 profile 目录执行 pnpm 均不符合官方流程。
Creator mode (the cordis preset) is required, as it provides plugin_manager. Place the
repository in any workspace, by clone or by GitHub's Download ZIP; npm is not involved. Call
install_bundle with target set to the absolute path of this package, then inspect the
returned application and warnings. The profile's package.json and
cordis.patch.yml are maintained by install_bundle; editing them by hand, or running pnpm
inside the profile directory, is outside the official procedure.
3.2 代码改动生效方式 · Applying Code Changes
客户端依赖(client.js)改动通过硬刷新(Ctrl+Shift+R)生效。Host 侧依赖(index.js)
改动需以 plugin_manager 将 include:mounts-panel 关→开,触发模块重新 import。
Client-side changes (client.js) take effect on a hard refresh (Ctrl+Shift+R). Host-side changes
(index.js) require toggling include:mounts-panel off and on through plugin_manager
so the module is imported again.
4. 安全模型 · Security Model
- 不写文件,不启动子进程,不发起出站请求。(面板的配置写入见下一条,走 DSH 的配置服务,不直接写文件。)
- 仅暴露一个 HTTP 端点
GET /dsh-mounts/api。 - 该端点仅接受 loopback 的
Host头(127.0.0.1、localhost、[::1]), 其余返回 403,用于阻断 DNS rebinding。 - 仅接受 GET 与 HEAD,其余返回 405。响应带
Cache-Control: no-store。 - 不接受
cwd参数。 - 不返回文件内容:记忆库仅
stat,技能仅取 frontmatter 的 description。
「打开」不新建端点,使用 DSH 现有的 Session Remote,路径由 Host 侧复核。
- No files are written, no subprocess is started, no outbound request is made.
- One HTTP endpoint is exposed:
GET /dsh-mounts/api. - It accepts only a loopback
Hostheader (127.0.0.1,localhost,[::1]) and returns 403 otherwise, which blocks DNS rebinding. - It accepts only GET and HEAD and returns 405 otherwise; responses carry
Cache-Control: no-store. - It does not accept a
cwdparameter. - It returns no file contents: memory libraries are only
stat-ed and skills contribute the frontmatter description.
The "Open" action creates no endpoint; it uses DSH's existing Session Remote and the path is re-validated on the Host side.
5. 已知限制 · Known Limitations
| 限制 | 说明 |
|---|---|
| 面板只读 | 不提供编辑、启停与删除 |
| 内置预设只能看到名称 | 其定义不在 profile 补丁里,面板读不到,因此不能展开 |
| 只识别名为 memory 的目录 | 不做模糊匹配 |
| 记忆库默认不包含任何目录 | 只从工作区内的 memory/ 发现 |
| 技能描述最多 1000 字 | 超出部分以省略号结尾 |
| 工作区取最近更新的一个 | 可能不是当前会话所在的工作区 |
| 不标示当前会话使用的预设 | 只列出已定义的预设,不判断哪一个正在生效 |
| 不列 bundle 内置技能 | 内置技能分散在各 bundle 内,无法统一枚举;只显示文件系统上的技能 |
| 工作区技能会列出所有工作区的 | 扫描范围是工作区注册表,不是当前会话;别的工作区的技能当前会话可能用不到 |
| Workspace skills cover every workspace | The scope is the workspace registry, not the current session; another workspace's skills may be unusable here |
| 不自动读取 customSkillDirs | 该配置属于另一个插件 |
| 没有设置界面 | DSH 配置无法写入 include 插入的行;记忆库只从工作区 memory/ 目录发现 |
| 记忆库块同时列规则文件 | 二者都按工作区归属,但只有规则文件会被注入 |
| 「打开」在部分环境下降级为「复制路径」 | 属预期行为,点击后完整路径进入剪贴板 |
| Limitation | Note |
|---|---|
| Read-only | No editing, toggling, or deleting |
| Built-in presets show names only | Their definitions are not in the profile patch, so the panel cannot read or expand them |
| Only directories named memory are recognised | No fuzzy matching |
| Memory libraries are empty by default | Discovered only from workspace memory/ directories |
| Skill descriptions are capped at 1000 characters | Longer ones end with an ellipsis |
| The workspace is the most recently updated one | It may not be the workspace of the current session |
| The preset in use by a session is not marked | Only defined presets are listed; which one is active is not determined |
| Bundle-embedded skills are not listed | They are spread across bundles and cannot be enumerated uniformly; only skills on the filesystem are shown |
customSkillDirs is not read automatically | That setting belongs to another plugin |
| No settings UI | DSH settings cannot write a row inserted by include; memory libraries come only from workspace memory/ directories |
| The memory group also lists instruction files | Both are grouped by workspace, but only instruction files are injected |
| "Open" degrades to "Copy path" in some environments | Expected behaviour; clicking places the full path on the clipboard |
6. 开发 · Development
dsh-mounts/
package.json 包清单、dsh.bundle、dsh.client
cordis.patch.yml 单条 insert:mounts-panel
index.js Host 侧:只读扫描与 GET /dsh-mounts/api
client.js Web 侧:侧栏一级面板与 main keyed 槽
locale/{zh,en}.json
icon.svg
读盘文本先做 \r\n? 到 \n 的规范化。CRLF 的 SKILL.md 会使 frontmatter 解析静默失败,
description 退化为空字符串。
Text read from disk is normalised from \r\n? to \n first. A CRLF SKILL.md makes
frontmatter parsing fail silently and the description degrade to an empty string.
如需注入配置,可直接改本 bundle 的 cordis.patch.yml 的 config(仅对本机安装有效,不建议提交)。
To inject configuration, edit the config of this bundle's own cordis.patch.yml
(local installs only; not recommended for commits).
系统要求 · System Requirements
| 项 | 要求 |
|---|---|
| DSH | >= 0.2.1-rc.2 |
| 安装 | Creator 模式(cordis preset) |
| 日常使用 | 不要求 Creator 模式 |
| 客户端服务 | remote、remote.session、connection、locale |
| 平台 | Windows 已验证,其余未测试 |
| 第三方依赖 | 无 |
| Item | Requirement |
|---|---|
| DSH | >= 0.2.1-rc.2 |
| Installation | Creator mode (the cordis preset) |
| Everyday use | Creator mode not required |
| Client services | remote, remote.session, connection, locale |
| Platform | Windows verified; other platforms untested |
| Third-party dependencies | None |
常见问题 · Frequently Asked Questions
安装后侧栏无「挂载清单」。
确认 install_bundle 返回的 application 为 applied。若已应用仍不可见,先行硬刷新
(Ctrl+Shift+R);无效则重启 DSH。
改动代码后界面无变化。 参见 §3.2。
显示的工作区与当前会话不符。 面板取注册表中最近更新的工作区,无会话级绑定,见 §5。
「打开」显示为「复制路径」。 该页面无法取得 Session Remote,属预期降级。点击后完整路径进入剪贴板。
为何不提供正文预览。 正文预览需要在端点中开放文件读取,而该端点仅以 Host 头作准入控制,不做会话鉴权。故仅提供「打开」。
The sidebar shows no "挂载清单" after installation. Confirm that install_bundle returned
application: applied. If it is applied but still invisible, perform a hard refresh
(Ctrl+Shift+R); if that fails, restart DSH.
The interface does not change after a code edit. See §3.2.
The displayed workspace is not the one of the current session. The panel takes the most recently updated workspace in the registry and has no session-level binding. See §5.
"Open" appears as "Copy path". The page cannot reach the Session Remote, which is the expected degradation. Clicking places the full path on the clipboard.
Why is there no inline preview of file contents? A preview would require opening file reads on the endpoint, which is admitted only by the Host header and carries no session authentication. The "Open" action is provided instead.
许可 · License
MIT,见 LICENSE。MIT, see LICENSE.
反馈 · Feedback
问题请提交 issue,附 DSH 版本与复现步骤。 Please open an issue, including the DSH version and reproduction steps.
Comments
Loading…
From the same category
by Ebony-Vinyl
在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 Muse Spark 1.3、MiMo V2.6 在内的前沿模型——完全免费,不限量。 All you do is install this plugin in dsh: no login, no sign-up, no API key — the frontier models are just there, Mu
★ 22.1k
↓ 6.1k/wk
MIT
JavaScript
Oct 18, 2026
dsh plugin --profile web add dsh-our-free-modelby corrinehu
将 WorkBuddy 桌面 App 包含的模型自动接入 DeepSeek Harness,零配置使用。Bring the models in the WorkBuddy desktop app into DeepSeek Harness with zero configuration.
★ 1.2k
↓ 16.9k/wk
MIT
TypeScript
Oct 18, 2026
dsh plugin --profile web add dsh-workbuddy-connectby V1ki
Use ChatGPT (Codex), Claude, and Grok (X Premium) subscriptions as DeepSeek Harness LLM providers — OAuth login in the web UI, no API keys
★ 477
↓ 3.1k/wk
MIT
TypeScript
Oct 9, 2026
dsh plugin --profile web add dsh-plugin-subscriptionsby Mars-Sea
Command Code provider plugin for DeepSeek Harness (dsh). Adds Command Code model access, live model catalog, plan-aware model selection, reasoning effort, image input, web search, and multi-account su
★ 405
↓ 3.4k/wk
MIT
TypeScript
Oct 18, 2026
dsh plugin --profile web add @mars-sea/dsh-commandcode-providerby FishBottle7
DSH plugin — free OpenCode Zen models for DeepSeek Harness (DSH). Free LLM API, no API key needed. 在 DSH 中使用 OpenCode Zen 免费模型,无需 API key
★ 254
MIT
TypeScript
Oct 14, 2026
dsh plugin --profile agent add opencode2dshAdds a deepseek-web provider that uses chat.deepseek.com web models in DSH, with browser login capture, PoW request signing, SSE streaming, and prompting-based tool calls.
★ 223
↓ 2.8k/wk
Apache-2.0
JavaScript
dsh plugin --profile web add dsh-deepseek-web-login