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

任务协调板 romany-saad/dsh-plugins

DeepSeek Harness
romany-saad1 天前有提交已提供中文文档扫描:含敏感能力

公开的 DeepSeek Harness(DSH)插件

32.2/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add romany-saad/dsh-plugins
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 33 处,展示前 33 条)
  • 写入本地文件
    packages/dsh-automations/index.js:620
    .then(() => mkdir(dirname(statusFile), { recursive: true }))
  • 写入本地文件
    packages/dsh-automations/index.js:621
    .then(() => writeFile(statusFile, text))
  • 读取本地文件
    packages/dsh-automations/index.js:687
    const s = await stat(f)
  • 读取本地文件
    packages/dsh-automations/index.js:701
    dirs.add((await stat(abs)).isDirectory() ? abs : dirname(abs))
  • 读取本地文件
    packages/dsh-automations/lib/source.js:160
    info = await stat(abs)
  • 读取本地文件
    packages/dsh-automations/lib/source.js:167
    const entries = await readdir(abs, { recursive: true, withFileTypes: true })
  • 读取本地文件
    packages/dsh-automations/lib/source.js:183
    const info = await stat(file)
  • 读取本地文件
    packages/dsh-automations/lib/source.js:190
    if (ext === '.json') value = JSON.parse(await readFile(file, 'utf8'))
  • 读取本地文件
    packages/dsh-automations/lib/source.js:191
    else if (ext === '.yaml' || ext === '.yml') value = parseYaml(await readFile(file, 'utf8'))
  • 读取本地文件
    packages/dsh-automations/lib/source.js:220
    task.cwd = await realpath(task.cwd)
  • 读取本地文件
    packages/dsh-cockpit/index.js:168
    const REFINE_BODY = readFileSync(new URL('./skills/cockpit-refine.md', import.meta.url), 'utf8')
  • 读取本地文件
    packages/dsh-cockpit/index.js:169
    const PROCESS_BODY = readFileSync(new URL('./skills/cockpit-process.md', import.meta.url), 'utf8')
  • 执行外部命令来自配置/变量
    packages/dsh-cockpit/lib/drift.js:23
    const child = spawn(command, { shell: true, cwd: cwd || undefined, env, detached: true, stdio: ['pipe', 'pipe', 'pipe'] })
  • 读取本地文件
    packages/dsh-cockpit/lib/process.js:28
    const text = await readFile(full, 'utf8')
  • 读取本地文件
    packages/dsh-cockpit/lib/process.js:29
    const s = await stat(full)
  • 读取本地文件
    packages/dsh-cockpit/lib/process.js:41
    const s = await stat(full)
  • 写入本地文件
    packages/dsh-cockpit/lib/process.js:51
    await mkdir(dirname(full), { recursive: true })
  • 写入本地文件
    packages/dsh-cockpit/lib/process.js:52
    await writeFile(full, text, 'utf8')
  • 读取本地文件
    packages/dsh-cockpit/lib/process.js:53
    const s = await stat(full)
  • 读取本地文件
    packages/dsh-cockpit/lib/process.js:161
    const content = await readFile(full)
  • 读取本地文件
    packages/dsh-cockpit/lib/route.js:35
    return await readFile(file, 'utf8')
  • 读取本地文件
    packages/dsh-cockpit/lib/route.js:45
    names = await readdir(join(dataDir, 'boards'))
  • 读取本地文件
    packages/dsh-cockpit/lib/store.js:43
    text = await readFile(file, 'utf8')
  • 写入本地文件
    packages/dsh-cockpit/lib/store.js:55
    await mkdir(dir, { recursive: true })
  • 读取本地文件
    packages/dsh-cockpit/lib/store.js:59
    for (const name of await readdir(dir)) {
  • 删除本地文件
    packages/dsh-cockpit/lib/store.js:62
    if (pid === process.pid || !alive(pid)) await rm(join(dir, name), { force: true })
  • 写入本地文件
    packages/dsh-cockpit/lib/store.js:73
    await rename(tmp, file)
  • 删除本地文件
    packages/dsh-cockpit/lib/store.js:75
    await rm(tmp, { force: true })
  • 读取本地文件
    packages/dsh-cockpit/lib/store.js:157
    const b = JSON.parse(await readFile(bindingFile(dataDir, sessionId), 'utf8'))
  • 读取本地文件
    packages/dsh-cockpit/lib/tools.js:317
    if (existsSync(join(dir, '.git')) || existsSync(join(dir, '.dsh'))) return dir
  • 读取本地文件
    packages/dsh-cockpit/reader.js:30
    names = await readdir(join(dir, 'boards'))
  • 发起网络请求
    packages/dsh-threads/client.js:353
    response = await fetch(API + path, body === undefined
  • 发起网络请求
    packages/dsh-threads/lib/host-tools.js:232
    const result = await web.fetch({ url }, timed(signal))
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

README

由 DeepSeek 最新模型翻译生成
dsh-plugins DeepSeek Harness(DSH)的公开插件,packages/ 下每个目录一个包,统一发布在 @rs-dsh npm scope 下。 | 包 | 作用 | 状态 | | @rs-dsh/dsh-core | rs-dsh 系列插件的共享底座:所有操作共用一个选择工具栏,弹框用 DSH 自带组件绘制。由用到它的插件自动安装 | 0.1.4 | | @rs-dsh/dsh-threads | 给 Web 会话里任意一段文字加评论,会话自己的模型会在旁边的小线程里给出简短回复;段落保持高亮,线程还能发到聊天里。原名 @rs-dsh/dsh-comment | 0.4.3 | | @rs-dsh/dsh-cockpit | 一块持久任务板,智能体在上面规划多步工作,支持项目流程映射、流程阶段,还有一个 Inbox 用来暂存以后要做的想法;数据存成本地文件,其他进程也能读 | 0.6.0-rc.4 | | @rs-dsh/dsh-quote | 把 Web 会话里的段落引用到下一条消息,以输入框 chip 的形式呈现,每条可附一段可编辑的备注;悬停显示完整引用,发出的引用渲染成卡片 | 0.3.3 |
展开完整文档(README 剩余 1 节)
dsh-plugins

DeepSeek Harness(DSH)的公开插件,packages/ 下每个目录一个包,统一发布在 @rs-dsh npm scope 下。

| 包 | 作用 | 状态 |
| @rs-dsh/dsh-core | rs-dsh 系列插件的共享底座:所有操作共用一个选择工具栏,弹框用 DSH 自带组件绘制。由用到它的插件自动安装 | 0.1.4 |
| @rs-dsh/dsh-threads | 给 Web 会话里任意一段文字加评论,会话自己的模型会在旁边的小线程里给出简短回复;段落保持高亮,线程还能发到聊天里。原名 @rs-dsh/dsh-comment | 0.4.3 |
| @rs-dsh/dsh-cockpit | 一块持久任务板,智能体在上面规划多步工作,支持项目流程映射、流程阶段,还有一个 Inbox 用来暂存以后要做的想法;数据存成本地文件,其他进程也能读 | 0.6.0-rc.4 |
| @rs-dsh/dsh-quote | 把 Web 会话里的段落引用到下一条消息,以输入框 chip 的形式呈现,每条可附一段可编辑的备注;悬停显示完整引用,发出的引用渲染成卡片 | 0.3.3 |
| @rs-dsh/dsh-frosty-castle-theme | Frosty Castle Theme:给 DSH Web GUI 换上霜冻奇幻配色、石铁边框、纹章和雕花控件 | 0.1.0-rc.1 |
| @rs-dsh/dsh-drafts | 找回你在新 Web 会话里打了字却没发出去的内容:未发送的草稿列在新会话消息框上方,带 Open 和 Discard | 0.1.2 |
| @rs-dsh/dsh-automations | 用 YAML、JSON 或 JS 文件管理自动化任务:Schedule 会同步成与文件一致,每个任务带自己的调度、提示词、模型、权限和工作目录 | 0.1.1 |

安装

配置档从 npm 安装包,版本要写死:

dsh plugin --profile <name> add @rs-dsh/<package>@<version>

备选方案是从本仓库安装,锁定到某个 commit 或 tag:

"@rs-dsh/<package>": "github:romany-saad/dsh-plugins#<commit or tag>&path:packages/<package>"

开发

pnpm install
pnpm test

想从本地检出试某个包,按路径装进一个临时配置档:dsh plugin --profile scratch add ./packages/<package>。link: 或路径依赖只用于本地开发;需要别人复现的配置档要锁定 commit 或 tag。

目录结构

- packages/<name>/:一个插件,自带 package.json、面向使用者的 README.md(截图放在 docs/images/)、维护者笔记 DEVELOPING.md、随包发布的补丁层 cordis.patch.yml(如果有),以及测试。
- 每个包把用到的 DSH 包声明为 peerDependencies,因此直接跑在配置档已有的 DSH 上。

发布

每次发布都是一个标签 <package>@<version>,例如 dsh-cockpit@0.1.0。配置档固定这个标签,pnpm 用 &path: 接受它,或者固定它的 commit。推送标签会运行 .github/workflows/publish.yml,把该版本发布到 npm。<package> 是 packages/ 下的文件夹。工作流会拒绝三类标签:版本与该包 package.json 不一致的、私有包的、commit 不在 main 上的。版本号带 -(如 0.2.0-rc.1)的发布到 npm 的 next 标签,其余发布到 latest。

贡献

欢迎提交 Pull Request。每个 Pull Request 合并前,维护者会做一次代码审查。详见 CONTRIBUTING.md:其中一条规则是,用户可见的改动要更新该包的 README 并重新截图。

翻译也欢迎。 插件跟随 DSH,提供英文和中文两种。欢迎修正这两种语言,也欢迎新增语言;修正不需要写代码,详见 Translations。

许可证

MIT
预览分享卡片长什么样 ↓romany-saad/dsh-plugins
分享 · DeepSeek Harness Hub
romany-saad/dsh-plugins

公开的 DeepSeek Harness(DSH)插件

这是你的仓库?认领条目

回到顶部