dsh-cli-workspaces

by qingkong143

0 工具与能力github 检测到 manifest package.json#dsh收录于 08-16

DeepSeek Harness 插件:带工作区切换的命令行任务模式(-w 切换,ws 子命令管理)

安装

dsh plugin --profile web add github:qingkong143/dsh-cli-workspaces

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

给 dsh 的 cli profile 用的一键命令行模式:预置若干工作区,用 -w 切换 agent 的 运行目录(环境上下文),-c 或位置参数给任务文本,最终回复打到 stdout、退出码 0=完成/1=出错。附带 ws 子命令管理工作区注册表。

这是 dsh 的 bundle 包:包内 dsh.bundle.patch 声明了补丁层,安装后会自动加入 profile 的 dsh.profile.bundles 层栈。

依赖(bundle 层要求)

profile 的 bundles 中必须先于本包包含:

  • @deepseek-ai/dsh-base — 核心运行层
  • @deepseek-ai/dsh-headless — 提供 headless-runner(真正的 agent 执行)

本包只替换 headless 层的启动器并补上工作区切换,不自己实现 agent 循环。

安装

# 1. 建 profile 并装上依赖层(自动加入 bundles)
dsh plugin --profile cli add @deepseek-ai/dsh-headless
# 2. 装本包(registry 包名,或 git+https://...,或本地路径 ./dsh-cli-workspaces)
dsh plugin --profile cli add dsh-cli-workspaces

首次运行会把示例工作区表复制到 profile 目录,之后用 ws 命令管理:

dsh --profile cli -w 2 -c "git status"        # 切到第 2 个工作区执行任务
dsh --profile cli -c "帮我检查这个文件夹"      # 当前目录执行(或 default 工作区)
dsh --profile cli ws list                     # 列出工作区
dsh --profile cli ws add blog ~/blog          # 新增
dsh --profile cli ws rm blog                  # 删除
dsh --profile cli ws default 2                # 设置默认工作区
dsh --profile cli ws --help                   # 全部管理命令

想省掉 --profile:alias dsh='dsh --profile cli'(launcher 要求 --profile,插件改不了)。

开发 / 发布

npm pack --dry-run      # 查看最终打进 tarball 的文件
npm publish             # 发布到 registry(或推 git 仓库,消费方用 git+https://... 安装)

结构

cordis.patch.yml          # bundle 补丁:禁用 headless-startup + 插入 cli-startup
lib/cli-startup.mjs       # 启动器插件(commander 解析 -w/-c;ws 子命令管理注册表)
example-workspaces.yml    # 首次使用时复制到 profile 目录的示例注册表

工作区数据文件(workspaces.yml)始终位于 profile 目录,由插件按 loader 的 ctx.baseUrl 定位;包目录只装代码与示例,不存用户数据。

原始 README: https://github.com/qingkong143/dsh-cli-workspaces/blob/main/README.md ↗