DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Sidebar Remote — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

dsh-sidebar-remote

Sidebar Remote

DSH Web 聚合插件:自动集成 dsh-better-sidebar 与 @dsh-ssh/dsh-ssh,使 SSH 远程工作区的文件、预览、传输、终端和 Git 运行在远程主机,本地工作区保持原行为。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:zijun-T/dsh-sidebar-remote#ff9b0ed289a2bb960faf324f2482a400502e5919
README兼容性版本

兼容性与来源证明

Sidebar Remote 以 dsh-sidebar-remote 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/9

版本

0.2.1stable
2026/9/9
0.2.0stable
2026/9/6

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
按文件声明 side effects
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/9
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。

README

dsh-sidebar-remote

单一可安装的 DSH Web 聚合插件——自动集成 dsh-better-sidebar + @dsh-ssh/dsh-ssh,使 SSH 远程工作区的文件、预览、传输、终端和 Git 真正运行在远端,本地工作区保持原侧边栏行为不变。

无额外 UI、无独立入口。装好即忘:侧边栏自动区分本地与远程会话。

安装

# 本地路径
dsh plugin --profile web add /path/to/remote-sidebar-plugin

# tarball(推荐换机部署)
npm pack
dsh plugin --profile web add ./dsh-sidebar-remote-0.2.1.tgz

# 发布后(npm)
dsh plugin --profile web add dsh-sidebar-remote

单次安装即可。cordis.patch.yml 会自动挂载聚合插件,上游两个插件通常已随 profile 安装。

移除:dsh plugin --profile web remove dsh-sidebar-remote

更新

本包未发布 npm,更新渠道与安装渠道一致。更新后必须重启 dsh web(Host 半边无热重载),并硬刷新浏览器(Ctrl+Shift+R)避免沿用旧 client bundle:

# git URL 安装者:重新解析 git 依赖到最新 main(prepare 脚本自动重建)
cd ~/.dsh/profiles/web && pnpm update dsh-sidebar-remote

# tarball / 本地路径安装者:仓库不含 tgz 产物,需自行打包新版本
git clone https://github.com/zijun-T/dsh-sidebar-remote.git && cd dsh-sidebar-remote
npm install && npm pack                      # 生成 dsh-sidebar-remote-<新版本>.tgz
dsh plugin --profile web add ./dsh-sidebar-remote-<新版本>.tgz

# 核对已生效版本(profile 目录下)
grep '"version"' node_modules/dsh-sidebar-remote/package.json

0.2.x 之间插件 id、设置命名空间与 cordis.patch.yml 挂载方式均未变化,覆盖安装 + 重启即可,无需任何迁移。

远程语义

功能远端实现
文件树 / 浏览SFTP readdir + stat 探测
读取 / 编辑 / 保存Sftp.readText → applyLiteralEdit → writeFileAtomic
上传 / 下载Sftp.createWriteStream / createReadStream,失败清理
预览/sidebar/remote/html/<sid>/<path> + 相对资源同路由
终端SshConn.shell PTY,30s 重连优雅期
Gitgit -C <cwd> --no-pager -c color.ui=false 经 SshConn.exec

本地会话零回归:不建立 SSH 连接,沿用原 dsh-better-sidebar 行为。

换机部署

不需要重新构建。客户端在挂载时向 GET /sidebar/remote/root 取回权威占位根,一份 bundle 可服务任意部署。

迁移 ~/.dsh/settings.yaml 即可带走主机配置与侧边栏偏好;私钥 / known_hosts 不自动迁移,新设备上手动复制 ~/.ssh/* 或走 TOFU 对话重建。

验证

npm install
npm run typecheck
npm test             # 102 tests / 14 suites,无需网络与远端主机
npm run build
npm pack --dry-run

真机端到端:

DSH_ORIGIN=http://127.0.0.1:3080 \
DSH_HOST_ID=<settings.yaml 里的主机 id> \
DSH_REMOTE_PATH=/path/on/remote \
DSH_EXPECT_ENTRY=<该目录下必然存在的名字> \
  npm run verify:live    # 14 项断言

依赖

组件版本
DSH0.1.1-rc.2(Cordis ^4.0.1)
dsh-better-sidebar0.17.1
@dsh-ssh/dsh-ssh0.1.3
Node>=22

详细架构设计与接口差距分析见 docs/。

提示词路径改写(sandbox:policy)

远程会话的 cwd 是占位符路径(<remoteRoot>/<hostId>/<base64url(remoteCwd)>),DSH core 会把它原样嵌入模型提示词的 sandbox:policy context。自 0.2.1 起,插件在组装期把占位符改写回真实远程路径:

  • 主路径:经 deepseek-harness-zh_pro 的 registerAssembleRewriter 注册「assemble 返回后」改写器(与上下文中文化同流水线,运行于翻译之后);该包缺失时回退为直接包装 systemPrompt.assemble。
  • 兜底路径:agent/pre-step 监听器(prepend: true)对 decision.messages 做同样替换。
  • 替换映射由 remoteCwdMapOf() 构建:host 端 ctx.sessions.list() 返回活会话数组(不是客户端 getSnapshot() 的 { byId } 形状,两者均兼容),占位符 cwd 经 routeByCwd() 映射为真实 remoteCwd。

验证:远程会话对话的上下文注入中 sandbox:policy 显示真实远程路径(如 /home/ubuntu/MedFluent),Host 日志输出 rewriter: replaced "<占位符>" → "<真实路径>"。