READMESource: main@2047b6e5
dsh-cli-workspaces
给 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 定位;包目录只装代码与示例,不存用户数据。
No comments yet. Be the first to write one.