Bundle
dsh-cli-workspaces
dsh profile bundle: workspace-switching one-shot CLI mode — dsh --profile cli -w <workspace> -c <task>, plus `ws` management subcommands.
- Source
- qingkong143
- stars
- 2 stars
- License
- MIT
- Updated
- Updated 10 days ago
Readme
# 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 循环。 ## 安装 ```bash # 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` 命令管理: ```bash 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`,插件改不了)。 ## 开发 / 发布 ```bash 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` 定位;包目录只装代码与示例,不存用户数据。
Install
dsh plugin --profile web add github:qingkong143/dsh-cli-workspaces
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-cli-workspaces from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.