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

环境体检 felixpu/dsh-env-inspector-plus

DeepSeek Harnessv0.1.4
felixpu21 天前有提交已提供中文文档扫描:未发现敏感能力

在 DSHDeepSeek Harness网页版「设置 → 环境体检」加一个只读分页,一眼看清当前宿主进程的处境。

31.5/100
综合分
2
GitHub 星标
248
npm 周下载
—/5
用户评分

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

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

状态速览

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

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

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

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 21:26:39

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

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    client/client.js:395
    fetch(SNAPSHOT_URL, { headers: { accept: 'application/json' }, cache: 'no-store' })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 展示宿主进程身份信息
  • 环境变量分组统计
展开完整介绍(131 字)↓

环境体检:在「设置 → 环境体检」加一个分页,展示当前 DSH 宿主进程的身份(pid / 入口 / 工作目录 / Node / 运行时长)与环境变量分组(总数、DSH_ 前缀组、凭证形态组),值一律不出宿主;同时给模型一个只读的 env_inspect 工具。

README

由 DeepSeek 最新模型翻译生成
dsh-env-inspector-plus 在 DSH(DeepSeek Harness)网页版「设置 → 环境体检」加一个只读分页,一眼看清当前宿主进程的处境。 同时给模型一个只读工具 env_inspect,让 AI 也能回答「现在跑在哪个目录、用哪个 profile、Node 什么版本」。 关于包名:本包是 dsh-env-inspector 的重命名版本 —— npm 上 dsh-env-inspector 已被第三方占用(维护者 geeklei),故加 -plus 后缀发布。功能为同一份实现。 展示什么 宿主身份 - 进程 id(pid) - 入口脚本路径 - 当前工作目录 - Node 版本、平台 - 已运行时长 环境变量分组 - 总数 - DSH_ 前缀组 - 凭证形态组(KEY / PASSWORD / SECRET / TOKEN) - 其余 逐条变量清单:只含键名、是否以 DSH_ 开头、是否命中凭证形态、是否已设值、值长度 —— 每个变量一行。 安全边界(重要) 凭证形态变量的值一律不出宿主。命中的键只返回布尔与长度,明文绝不进入模型上下文,也绝不进入 HTTP 响应体。 承诺范围是精确的:逐条变量清单(env.entries 与两组键名)只含键名与元数据,不含任何环境变量的值。
展开完整文档(README 剩余 1 节)
dsh-env-inspector-plus

在 DSH(DeepSeek Harness)网页版「设置 → 环境体检」加一个只读分页,一眼看清当前宿主进程的处境。

同时给模型一个只读工具 env_inspect,让 AI 也能回答「现在跑在哪个目录、用哪个 profile、Node 什么版本」。

关于包名:本包是 dsh-env-inspector 的重命名版本 —— npm 上 dsh-env-inspector 已被第三方占用(维护者 geeklei),故加 -plus 后缀发布。功能为同一份实现。

展示什么

宿主身份

- 进程 id(pid)
- 入口脚本路径
- 当前工作目录
- Node 版本、平台
- 已运行时长

环境变量分组

- 总数
- DSH_ 前缀组
- 凭证形态组(KEY / PASSWORD / SECRET / TOKEN)
- 其余

逐条变量清单:只含键名、是否以 DSH_ 开头、是否命中凭证形态、是否已设值、值长度 —— 每个变量一行。

安全边界(重要)

凭证形态变量的值一律不出宿主。命中的键只返回布尔与长度,明文绝不进入模型上下文,也绝不进入 HTTP 响应体。

承诺范围是精确的:逐条变量清单(env.entries 与两组键名)只含键名与元数据,不含任何环境变量的值。

唯一携带原值的字段是 4 个 host 身份字段 —— host.cwd、host.profileDir、host.profile、host.entry(分别对应 PWD / DSH_PROFILE_DIR / DSH_PROFILE / 入口路径)。这是刻意的:「现在在哪个目录跑、用哪个 profile」正是体检最该回答的问题,掩掉就等于删掉主要用途;且这些值本来就会出现在会话里。

要看某个变量的明文,请用 dsh-settings-params 的 env_param_get —— 那条路有独立的显式授权。

安装

dsh plugin --profile web add github:felixpu/dsh-env-inspector-plus

安装后重启宿主进程。

使用

网页:设置 → 环境体检

模型工具:

env_inspect

无参数,返回上述快照。适合在排查「环境变量没生效」「跑的是哪个 profile」这类问题时让模型自己看。

宿主贡献

| 类型 | 值 |
| 注入服务 | ['tools', 'webServer'] |
| 只读路由 | GET /dsh-env-inspector/snapshot |
| 成功信封 | { ok: true, data: <快照> } |
| 失败信封 | { ok: false, code: 'snapshot-failed' }(HTTP 500,文案由客户端字典翻译) |

路由路径保留原名 dsh-env-inspector(未随包名改为 -plus),以避免既有 profile 的注册点失效。settings.section 的注册 id 同理保留原名;而 locale 命名空间用包名 dsh-env-inspector-plus(避免与 npm 上同名第三方包撞字典)。

中英双语(三套互相独立的机制,别混)

① 运行时 UI 文案 —— client/client.js 里的字典(45 条)

客户端半身走平台官方 locale 服务:

const NS = 'dsh-env-inspector-plus' // 命名空间用包名,避免与他人撞名
ctx.effect(() => ctx.locale.register(NS, { zh, en }), NS + ': dictionaries')
const t = ctx.locale.bind(NS)
ctx.slots.register({ ..., locale: NS }, EnvInspectorSection) // 渲染器自动注入 t

- 每个 ctx.slots.register 都要带 locale: NS —— 平台渲染器据此把 t 座位自动注入组件
props,所以组件里直接 props.t,不需要再写 inject: () => ({ t })。
- 设置分页导航项的 label 必须用函数(() => t('section.label')):设置页导航每次读取时经
resolveSlotLabel 求值,语言切换后这一格立刻跟着变,不用重新注册。写成固定字符串则切换语言后仍是旧语言。
- 必须声明客户端注入:package.json 的 dsh.client.inject 含 @deepseek-ai/dsh-client-locale,插件对象 inject 含 'locale'。缺了它,注册带 locale: 的插槽会抛 SlotAssemblyError。
- 一条消息 = 一个完整句子,变量用 {name} 占位。不要片段拼接 —— 中英语序不同(2 d 3 h vs 「2 天 3 小时」),拼接式无法重排。
- 平台 common 命名空间已有的通用词(cancel / loading / unknown…)刻意不重复定义,查表未命中会自动回落 common。
- 键名小写点分层级;code. 的叶段可含连字符(如 code.snapshot-failed),因为它要一对一对齐宿主回的机器可读 code。
- zh 与 en 的键必须完全一致:运行时 register 不检查,漏键不报错、只会在该语言下显示 key 名。apply 里有一次键一致性自查 + console.warn(参考归档插件)。

② 宿主 → 客户端的失败:只回机器可读 code

宿主不该知道 UI 语言。快照路由失败时回 { ok: false, code: 'snapshot-failed' },面向用户的句子全部由客户端字典翻译:

const HOST_CODES = { 'snapshot-failed': 'code.snapshot-failed' } // 白名单映射

未知 code 退回通用文案(error.badResponse)—— 绝不把 code.xxx 这种 key 名显示给用户。
客户端把失败存成描述符(字典键 + 参数),而不是已翻好的句子,因此切换语言后错误文案即时跟随,不会停在取数那一刻的语言。

③ 模型侧工具描述与 render 文本:有意保持英文单语

env_inspect 的 description 与参数说明是面向模型的能力契约,不是 UI 文案:平台自带工具(bash / read / grep…)同样只有一份英文描述,且宿主拿不到会话的 UI 语言。

output.render 的文本同时进「模型上下文」与「网页工具卡片」,但它也不是本插件的界面 ——故写成语言无关的字段式标签(host: / entry: / cwd: / uptime: / env:),与平台自带工具一致。

④ 插件展示元数据 —— locale/.json

locale/en.json 与 locale/zh.json 提供插件展示元数据(meta.title / meta.description), Plugin Manager 与设置页无需激活插件即可读取,用于显示本地化的插件名与说明。
这与上面 ① 的运行时 UI 文案是两套东西。

{ "meta": { "title": "…", "description": "…" } }

⚠️ 两个容易漏的点(漏任一个都会静默失效,不报错):

1. 必须在 package.json 的 exports 里导出 ./locale/.json —— 宿主经 Node 模块解析器读取该资源,未导出的子路径会得到 ERR_PACKAGE_PATH_NOT_EXPORTED,被当作「没有 locale」跳过。
2. files 需包含 locale —— 否则 pnpm pack / npm publish 的产物里不会带上它。

icon.svg 走顶层 icon 字段(相对路径),不需要 exports。

设计说明

本包不 import 任何 @deepseek-ai/ 包。作为树外插件包,插件目录下没有 node_modules,import '@deepseek-ai/dsh-tools' 会抛 ERR_MODULE_NOT_FOUND,宿主侧表现为 failed to import、插件根本装载不上。

因此工具定义是手写对象(零 dsh 依赖):{ name, description, parameters, output, execute },其中 parameters 是显式 JSON Schema 根对象。这与官方 defineTool 语法糖编译出的形状等价。

客户端 bundle 仅 require 平台种子表内的模块(react 与 @deepseek-ai/dsh-client-ui-primitives);slots / locale 两个服务走 dsh.client.inject 声明。

许可证

MIT © felixpu

仓库

<https://github.com/felixpu/dsh-env-inspector-plus>
预览分享卡片长什么样 ↓felixpu/dsh-env-inspector-plus
分享 · DeepSeek Harness Hub
felixpu/dsh-env-inspector-plus

在 DSHDeepSeek Harness网页版「设置 → 环境体检」加一个只读分页,一眼看清当前宿主进程的处境。

这是你的仓库?认领条目

回到顶部