🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

约束文件面板 CocoSgt/dsh-inspector

DeepSeek Harnessv0.1.1
CocoSgt81 天前有提交已提供中文文档扫描:含敏感能力需联网ui

按真实载入顺序展示并管理会话指引链

37.9/100
综合分
6
GitHub 星标
46
npm 周下载
—/5
用户评分

数据截至 2026/8/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-inspector
npm 源 · dsh-inspector 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-inspector @ 0.1.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 08:19:16

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 12 处,展示前 9 条)
  • 读取本地文件
    lib/index.js:109
    stats = statSync(cwd);
  • 读取本地文件
    lib/index.js:122
    statSync(join(dir, marker));
  • 读取本地文件
    lib/index.js:158
    const stats = statSync(target);
  • 读取本地文件
    lib/index.js:188
    const digest = readFileSync(target, 'utf8').trim();
  • 读取本地文件
    lib/index.js:212
    const head = readFileSync(skillMd, 'utf8').slice(0, 2048);
  • 读取本地文件
    lib/index.js:232
    entries = readdirSync(dir, { withFileTypes: true });
  • 写入本地文件
    lib/index.js:463
    writeFileSync(target, content, 'utf8');
  • 写入本地文件
    lib/index.js:486
    writeFileSync(target, content, 'utf8');
  • 删除本地文件
    lib/index.js:499
    unlinkSync(target);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

⚠ 该插件运行需访问外部网络 / 远程 API,部署在国内无外网环境时可能无法正常使用。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按真实载入顺序展示
  • 管理会话指引链

README

由 DeepSeek 最新模型翻译生成
dsh-inspector npm 包名:dsh-inspector · GitHub 仓库: CocoSgt/dsh-inspector DeepSeek Harness(dsh)的第三方插件:在 Web 界面右侧打开一个「约束文件」面板, 按 harness 真实的载入顺序展示并管理当前会话的指引链——全局 $DSH_HOME/AGENTS.md → 项目根 → … → 会话 cwd 的每一级目录——外加四个技能根目录的状态。面板的信息架构完全复刻官方 dsh-agent-instructions 的发现算法, 所见即模型所得。 打开位于某个项目目录中的会话后,点会话头部的「约束文件」按钮即可开关面板; 面板自动跟随当前会话的工作区目录。界面提供中英双词典,跟随宿主语言设置。 指引链模型(与 harness 一字不差) 面板展示的层级、去重与状态标注都对齐 packages/context/agent-instructions 的真实行为: 1. 全局层:$DSH_HOME/AGENTS.md(默认 ~/.dsh/AGENTS.md)。只认 AGENTS.md,对所有会话生效,永远最先载入。
展开完整文档(README 剩余 1 节)
dsh-inspector

npm 包名:dsh-inspector · GitHub 仓库:
CocoSgt/dsh-inspector

DeepSeek Harness(dsh)的第三方插件:在 Web 界面右侧打开一个「约束文件」面板, 按 harness 真实的载入顺序展示并管理当前会话的指引链——全局 $DSH_HOME/AGENTS.md → 项目根 → … → 会话 cwd 的每一级目录——外加四个技能根目录的状态。面板的信息架构完全复刻官方 dsh-agent-instructions 的发现算法, 所见即模型所得。

打开位于某个项目目录中的会话后,点会话头部的「约束文件」按钮即可开关面板; 面板自动跟随当前会话的工作区目录。界面提供中英双词典,跟随宿主语言设置。

指引链模型(与 harness 一字不差)

面板展示的层级、去重与状态标注都对齐 packages/context/agent-instructions 的真实行为:

1. 全局层:$DSH_HOME/AGENTS.md(默认 ~/.dsh/AGENTS.md)。只认 AGENTS.md,对所有会话生效,永远最先载入。
2. 项目链:从会话 cwd 向上找最近含 .git 的目录作为项目根(找不到则 cwd 即根);项目根 → cwd 的每一级目录都探测 4 个候选:AGENTS.md、
CLAUDE.md(基础)与 AGENTS.local.md、CLAUDE.local.md(本地覆盖层,
惯例不入库)。存在的全部载入;同目录内去掉首尾空白后内容相同的只保留最
先的候选(面板标注「与 X 相同 · 折叠为一份」)。
3. 顺序即优先级:从全局到 cwd 由宽到专,模型被告知「更具体的指引优先」; 面板按此顺序排列并注明。字节预算超限时 harness 先省略最宽的;单文件超过 1MB 直接被忽略(面板标注「超 1MB · 不会载入」)。
4. 子目录按需注入:cwd 之下的子目录指引不预载,模型读写该子目录中的文件时才作为「附加指引」注入——面板脚注对此有说明,不把不预载的文件混进链里。

为什么没有 hooks.json / .env / .sessions 了:hooks 桥默认不挂载且 configPath 必填无默认文件名(它是部署配置,不是项目文件);.env 与 .sessions 相对 dsh 启动目录、进程级生效,与会话工作区无关。把它们摆在「项目文件」清单里会诱导用户创建根本不会被读取的文件,因此从面板中移除。
GEMINI.md、.cursorrules 等其它代理工具的文件 dsh 不读取,同样不在面板中。

功能

- 指引链视图:每层一张卡片,标注层级身份(全局·所有会话 / 项目根 /
当前工作目录),列出已存在的候选文件与状态徽标(本地不入库 / 重复折叠 /
超限忽略),显示最近写入时间与大小。
- 就地新建:每层卡片右上「+ 新建」展开缺失候选(AGENTS.md 标注推荐, local 候选标注建议 gitignore),按当前界面语言预填模板,保存才落盘。模板只预填尚不存在的文件;已存在文件的编辑不会被重新模板化。
- 编辑器脏态守卫:未保存返回时弹出「保存并返回 / 放弃修改 / 继续编辑」, 不静默丢弃;标题栏显示未保存圆点;支持 Cmd/Ctrl+S 保存;保存后提示
「更新会在会话的下一步注入」(harness 会在下一步对账并注入变更)。
- 技能目录状态:项目根 .dsh/skills、.agents/skills 与用户级 ~/.dsh/skills、~/.agents/skills 四个技能根,展示存在性与技能数 (SKILL.md 计数,限深限量扫描);技能的 SKILL.md / 平铺 .md 可就地查看与
编辑,经符号链接写入的会写穿到来源文件(设计如此)。
- 右侧浮动面板:注册在 shell.overlay(additive 列表槽);会话头部开关注册在 conversation.session.header.utilities;切换会话自动跟随新工作区。
- 路径安全:读写地址是「cwd + scope + dir + name」四元组。name 必须命中 4 个候选文件名;dir 必须命中按 cwd 现算出的项目链目录集合(global 层只接受 AGENTS.md);技能文件访问限定在两个项目技能根与两个用户技能根内的 .md;最终路径 resolve 后再做前缀校验。
- 中英双语(zh/en):词典注册进宿主 locale 服务,面板与开关读取标准响应式 t 座位,语言切换即重渲染。宿主端用户可见失败以稳定点分 code (read.err.missing、address.err.offChain 等)+ 中文兜底文案过 wire, 客户端按 code 本地化。

架构

一个 npm 包,两个面:

- 宿主端(lib/index.js,本包主入口):ProjectFilesGateway 继承
TypertRemoteService(来自 @deepseek-ai/dsh-typert-protocol),暴露
projectFiles/overview|readFile|readSkillFile|writeSkillFile|writeFile|removeFile
六个 RPC 端点,直接用 node:fs 探测/读写指引链。层级发现(.git 标记上溯、候选顺序、trimmed 内容去重、1MB 上限)与 harness 保持一致。第三方双副本场景下 SRC 发现失明,因此同时把弱(src-json)清单注册进宿主 typert registry。
用户可见失败以数据返回(见上),不抛错。
- 浏览器端(lib/client.js,exports["./client"]):闭包工厂 bundle。
启动时把手写的 strict zod 调用描述符 $mount 到 ctx.remote,把 zh/en 词典注册进 ctx.locale,再向两个槽注册 React UI(注册声明 locale:, 组件由此获得 t 座位);面板通过 ctx.sessions 的列表快照读取当前会话的 cwd。

安装产物 lib/ 已预构建并随仓库提交,git 安装无需跑构建脚本。

安装

从 npm 安装:

dsh plugin --profile web add dsh-inspector

三个 dsh 插件可以一条命令一起安装:

dsh plugin --profile web add dsh-skills dsh-attachments dsh-inspector

GitHub 回退方式:

dsh plugin --profile web add github:CocoSgt/dsh-inspector

注意:自建 profile 的 ~/.dsh/profiles//package.json 里 dsh.profile.bundles 必须包含 @deepseek-ai/dsh-base 与 @deepseek-ai/dsh-web-app,否则启动会静默挂起。

安装后重启 dsh web。卸载:dsh plugin --profile web remove dsh-inspector。

同系列插件

- dsh-skills
(npm)——技能中枢:把散落在 Claude Code 目录、项目目录与 .skill 包里的技能汇成全局库,「/」菜单即取即用。
- dsh-attachments
(npm)——附件注入:把任何文件带进会话成卡;模型用 read_image 按路径读图,非视觉模型也不受阻。

使用

1. 打开一个工作区在项目目录中的会话(新建会话时选择该目录,或恢复旧会话)。
2. 点击会话头部的「约束文件」按钮,右侧弹出面板,顶部显示工作区路径。
3. 面板按载入顺序展示指引链;点某个文件进入编辑,「+ 新建」就地创建缺失候选;删除需二次确认,未保存返回有脏态守卫。

没有当前会话(或会话没有工作区目录)时,面板会提示打开一个项目会话。

已知限制

- 面板位置是 shell.overlay 里的固定右侧浮动栏,不是可拖拽的原生分栏;宽度固定 min(440px, 92vw)。
- 宿主端信任浏览器传来的会话 cwd(本地面板自用场景);cwd 必须是已存在的绝对路径目录,但不校验它是否出现在 dsh 的 workspace 列表里。
- 「生效中」以存在性 + harness 规则(去重/超限)推断,不读取会话事件流;
会话实际的字节预算截断(64KB 基线预算)不在面板中反映。
- cwd 之下子目录的按需注入状态(哪些已被触碰注入)不展示,只有脚注说明。
- 编辑器是纯文本框,无 Markdown 预览/语法高亮。
- 面板不监听文件系统变化;从编辑视图返回会重新拉取,编辑期间外部改动不会自动同步。

开发

pnpm install
pnpm run typecheck # tsc --noEmit
pnpm run build # tsc(宿主端,降级装饰器)+ tsdown(浏览器 bundle)

源码结构:

src/
index.ts 宿主端网关服务(@Remote 方法 = RPC 端点 + 弱清单注册 + 失败 code 协议) scoped-files.ts 指引链模型与共享类型(候选清单/层级/概览结构/FailureStatus) client/ index.ts 浏览器插件主体($mount + 词典注册 + slot 注册) locales.ts zh/en 词典(zh 为键集真源;UI 文案、新建模板与宿主失败 code) descriptors.ts 手写 strict 调用描述符(zod) panel.tsx 指引链面板、编辑器与头部开关组件 store.ts 面板开/关与编辑目标状态 styles.ts 注入式 CSS(dsi- 前缀,--dsw-alias-* 设计令牌) types.ts 客户端最小服务类型面(含 locale)

注意:宿主端方法的参数名就是 RPC wire 字段名(Gateway SRC 模式靠 Function.prototype.toString 读取),因此公开方法保持「简单标识符参数」形态,
构建不得压缩改写参数名(本仓库构建未开压缩)。RPC 方法名是 removeFile 而非
remove:客户端命名空间服务的原型上已占用 remove,重名会在挂载时被网关拒绝。

标签

本包与仓库带有 dsh-plugin、dsh、deepseek-harness 等关键词/topics。
DeepSeek Harness 官方没有插件市场,也没有官方发现标签——第三方插件一旦发布,没有任何东西把它关联回生态,用户无从找起。这套社区标签是唯一现实
的发现渠道(npm 搜 keywords:dsh-plugin;GitHub 搜 topic:dsh-plugin)。
虽非官方,但非常重要,所以给它上了。

许可

MIT
预览分享卡片长什么样 ↓CocoSgt/dsh-inspector
分享 · DeepSeek Harness Hub
CocoSgt/dsh-inspector

按真实载入顺序展示并管理会话指引链

这是你的仓库?认领条目

回到顶部