dsh-shared-bash

DSH PLUGIN会话与消息

仓库 snowy-yang/dsh-shared-bash

会话与消息 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-shared-bash 是 snowy-yang 维护的 会话与消息 类 DSH 可安装插件, 仓库为 snowy-yang/dsh-shared-bash,许可证 MIT。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-shared-bash 是会话与消息类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-23 创建于 2026-10-22
README 5.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:snowy-yang/dsh-shared-bash
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

终端命令智能体编排

上游标签

bashdshdsh-bundledsh-pluginmsys2terminaltmuxwindows

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-shared-bash当前 L5 · 运行验证通过 低风险 0 未标注 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方snowy-yang仓库 dsh-shared-bash · 默认分支 main
分类会话与消息desktop
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-22 · 2026-10-23最后推送 2026-10-23
本站收录2026-10-30首次进入本站目录的时间

README 全文

5.5 KB
作者原文,中文版优先;只做安全转义,不改内容

description: "按 DSH 会话寻址的长驻 PTY bash 终端,命令以异步 job 结算。"
kind: "plugin-bundle"


dsh-shared-bash

给 DeepSeek Harness 用的、按会话寻址的常驻 PTY bash 终端,命令以异步 job 结算。

每个 DSH 会话有一个长驻 shell,用会话 id 作地址:可以接入之前会话留下的那个 shell,工作目录、变量、函数和还在跑的进程都还在,不用从头开始。把命令交给它,立刻拿到一个 job 句柄;结果随后用 wait 取,或者在跑的过程中用 read 看。

环境要求

  • DeepSeek Harness ^0.2.1-rc.2
  • 已挂载支持 PTY 的 subprocess provider。桌面版组合里已经包含 @deepseek-ai/dsh-subprocess-local 与 dsh-experimental-terminal-bundle;Windows 上默认 shell 是 C:\msys64\usr\bin\bash.exe。

安装

dsh plugin --profile desktop add git+https://github.com/snowy-yang/dsh-shared-bash.git

执行前请完全退出应用:Host 占着文件时 pnpm 重写 profile 的 node_modules 会失败(ERR_PNPM_EPERM)。

工具

工具 作用
bash_attach 接入某个会话的终端,没有就开一个。可选 cwd;recreate 替换已有 shell。
bash_exec 执行一条命令,立刻返回 job id。可选 wait_ms,命令很快结束就直接给结果。
bash_wait 等一个 job,返回退出码、输出和 timed_out。
bash_read 只读地取终端保留的输出,不发送输入。
bash_interrupt 给前台进程组发 SIGINT,等价于真正的 Ctrl-C,shell 本身存活。
bash_close 关掉一个或全部终端。
bash_list 列出终端:会话 id、状态、cwd、是否在跑命令。

每个工具都接受可选的 session_id。不传就是「我自己会话的那一个」;传了就是「那个会话的终端」,这就是本插件提供的显式跨 agent 共享:

bash_list              → 3f2a… · busy · C:\proj\widgets
bash_read   {session_id: "3f2a…"}
bash_exec   {session_id: "3f2a…", command: "git status --short"}
bash_wait   {job_id: "bash-9c1e…"}

终端模型

  • 每个 DSH 会话 id 一个 PTY;注册表是 profile 级的,shell 不会在背后被谁共用。
  • bash -l -i:交互式登录 shell,MSYS2 的 PATH 与用户 profile 生效。传入的 cwd 会在 shell 里真正 cd 过去,/tmp 这类 POSIX 路径会翻译成 MSYS2 安装目录(C:\msys64\tmp)。
  • 两次调用之间,shell 保留工作目录、导出变量与普通变量、函数、别名,以及你放到后台的进程。
  • 命令写进脚本文件再 source,stdin 接 /dev/null:heredoc、循环、管道、引号都和脚本里完全一样,读 stdin 的命令拿到 EOF 而不是抢走终端的输入。
  • 结束判定靠 shell 在命令后打印的哨兵行,其中带的 token 只存在于环境变量里 —— 终端回显命令行无法伪造完成信号。
  • 每个终端保留 4000 行环形输出,ANSI 转义序列会被剥掉。

异步执行

bash_exec 不会阻塞在命令上:它返回 {job_id, session_id, status}。后续三条路:

bash_exec  {command: "npm run build"}        → job bash-9c1e…,状态 running
bash_wait  {job_id: "bash-9c1e…"}            → 阻塞到结束,返回 exit_code 与输出
bash_read  {}                                → 终端到目前为止打印的内容
bash_interrupt {}                            → SIGINT,job 以 interrupted 结算

同一个终端同一时刻只跑一条命令;第二条会被 SESSION_BUSY 拒绝。bash_wait 用较短的 timeout_ms 会返回 timed_out: true 并让命令继续跑,因此可以轮询。

设置页面

设置 → Bash 终端:按会话 id 列出所有终端,查看保留的输出,发送命令(按 job 结算),中断,按会话 id 接入新终端,关闭终端。

数据由插件自己的 JSON API 提供,前缀 /api/shared-bash:GET /sessions、GET /output?session_id=…、GET /wait?job_id=…、POST /attach|/exec|/interrupt|/close。harness 的 web server 自身不带请求策略,所以这条路由自己设防:有 connection 服务就交给它判定,没有就只允许 loopback Host 且 Origin/Referer 同源(dsh-app://app 中继仅在单独出现时放行)。

配置

cordis.patch.yml 的默认值,全部可选:

键 默认 含义
bashPath C:\msys64\usr\bin\bash.exe shell 可执行文件
msystem MSYS 传给 shell 的 MSYSTEM
login true 用 bash -l -i,而不是 --noprofile --norc -i
cwd Host 进程目录 没有指定目录时的起始目录
maxLines 4000 每个终端保留的输出行数
maxSessions 16 profile 内并发终端数
cols / rows 120 / 30 上报的 PTY 尺寸

限制

  • 一个终端同一时刻一条命令;要并行就开并行会话。
  • 设置页是管理界面而不是完整终端模拟器:它显示剥离转义后的文本,不是实时屏幕。
  • 终端是进程内的:Host 结束它们就结束;它也不是沙箱 —— shell 用的是 Host 自己的权限。

开发

node --test test/

测试用管道版 bash -s 通过同一个 spawnTerminal 契约替代 PTY,因此分帧、job、注册表和 HTTP API 都能脱离应用验证。设置 DSH_TOOLS_MODULE 时还会用 harness 自己的 assertSupportedJsonSchema 校验工具 schema。

MIT 许可。

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-shared-bash 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:snowy-yang/dsh-shared-bash` 即可。

dsh-shared-bash 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-shared-bash 安全吗?

低风险。

dsh-shared-bash 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-shared-bash 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。