dsh-cli-workspaces
其他 活跃维护

dsh-cli-workspaces

qingkong143/dsh-cli-workspaces

依托CLI任务模式的工作区隔离能力,支持通过-w参数快速切换开发上下文,提供ws子命令统一管理工作区生命周期,适配多项目并行开发需求,操作轻量无需额外配置。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
7 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:qingkong143/dsh-cli-workspaces
git clone https://github.com/qingkong143/dsh-cli-workspaces.git
git clone git@github.com:qingkong143/dsh-cli-workspaces.git
README.md main

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                   # 全部管理命令

想省掉 --profilealias 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 定位;包目录只装代码与示例,不存用户数据。