Skip to content

dsh-tomato-board

Verified

@stephen1620/dsh-tomato-board · v0.3.1 · MIT · Web UI

Gitee Team/Tomato workboard and native conversation launcher for DeepSeek Harness

Install

dsh plugin add @stephen1620/dsh-tomato-board

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

DSH 番茄工作台

为 DeepSeek Harness Web 提供 Gitee Team(番茄)工作台和原生对话联动。

快速安装(推荐)

Clone 仓库后,从插件目录安装到需要使用的 DSH profile。

Web:

git clone https://github.com/StephenLGF/dsh-plugins.git
cd dsh-plugins/plugins/tomato-board

npx @deepseek-ai/dsh plugin --profile web add .
npx @deepseek-ai/dsh web

DSH Desktop:

npx @deepseek-ai/dsh plugin --profile desktop add .

安装完成后退出并重新打开 DSH Desktop。webdesktop 是两个独立 profile,需要分别安装。

安装前请先确认必备的 Gitee CLI 已配置完成,具体要求见下方“必备环境”。

功能

事项看板

  • 在 Harness 侧栏或对话顶部栏打开番茄工作台,按状态展示事项。
  • 支持标题、编号、创建人搜索,以及负责人、空间、类型和状态筛选。
  • 支持拖动状态列调整顺序、手动置灰卡片;偏好保存在当前浏览器。
  • 点击卡片优先打开已关联对话;未关联时选择 Harness 项目并创建对话。
  • 卡片上的独立外链按钮可直接打开番茄事项。
  • 对话顶部栏支持查询状态和执行流转;“待测试”因必填字段失败时,可交给当前 AI 对话继续处理。

迭代投入

  • 顶部栏对齐 Harness 对话页样式;顶部 Tab 切换「事项看板 / 迭代投入」,迭代选择器支持切换迭代并记住上次选择。
  • 左侧切换负责人,展示故事点总数、环形分布图和需求列表。
  • 需求卡片与事项看板共用对话关联逻辑,点击打开已有对话或选择项目创建新对话;独立的 ↗ 按钮跳转番茄。
  • 右侧团队以折叠卡片管理:创建、改名、删除团队,添加或移除成员,成员行以背景比例条展示故事点。
  • 点击排行榜成员可切换左侧负责人;第一个团队默认展开并加载,其他团队按展开需要加载。
  • 点击团队成员行可切换左侧负责人;第一个团队默认展开并加载,其他团队按展开需要加载。
  • 团队、成员及负责人选择保存在当前浏览器,不同步到番茄或其他设备。

统计读取卡片的 StoryPoint 字段,仅包含所选迭代中的 StoryEnablerStoryTask,包含全部状态。未填写故事点的需求保留在列表,不参与总数和饼图;0 点保留为已估点记录,不占饼图面积。多负责人需求分别计入各负责人。需要调整故事点时,使用外链按钮进入番茄修改,然后刷新统计。

0.3.1 更新

团队成员行选中与悬停改为边框高亮(选中实线、悬停半透明),选中头像实心;SP 背景进度条不透明度提高一倍。

0.3.0 更新

顶部栏对齐 Harness 对话页样式;团队改为折叠卡片并支持创建、改名、删除与成员管理;全站统一胶囊 Tag 组件(仅类型带色);空间筛选改为多选下拉并按当前负责人事项派生;迭代统计严格限定 Story / EnablerStory / Task;需求卡片显示状态与未估点标记。

0.2.0 更新

新增「迭代投入」页面、多个团队管理和个人故事点分布;需求卡片支持打开 Harness 对话及独立跳转番茄;完善顶部栏、看板筛选与状态列排序。

必备环境

  • DeepSeek Harness Developer Preview(Web 或 Desktop profile)。
  • Node.js ^22.19.0 || >=24.0.0
  • pnpm(Harness 当前使用 11.7.0)。
  • Gitee CLI 是必需依赖,并且需要包含 gitee team item search 命令的 Team 版本。
  • Gitee CLI 中已配置并登录可访问番茄的 profile,默认使用 osc

安装插件前建议先检查:

gitee version
gitee config list
gitee team item search --profile osc --page 1 --size 1 --iql "负责人 = currentUser()"

插件只调用本机的 gitee CLI,不保存 Gitee PAT 或登录信息。

DSH Desktop 从 Finder 启动时可能无法继承终端的完整 PATH。如果 Desktop 中提示找不到 gitee,请把 executable 配置为 Gitee CLI 的绝对路径,可通过下面的命令查询:

command -v gitee

安装

当前版本:0.3.1。已安装用户在对应 profile 目录升级:

cd ~/.dsh/profiles/desktop # Web 用户改为 web
pnpm add @stephen1620/[email protected]

保留已有 dsh.profile.bundles 注册项,升级后完全退出并重新打开 Harness。

从 npm 安装(推荐)

npx @deepseek-ai/dsh plugin --profile web add @stephen1620/dsh-tomato-board
npx @deepseek-ai/dsh web

从 GitHub 安装

仓库已包含构建产物,可以直接安装指定版本:

npx @deepseek-ai/dsh plugin --profile web add \
  "github:StephenLGF/dsh-plugins#path:/plugins/tomato-board"
npx @deepseek-ai/dsh web

也可以 clone 后从本地目录安装:

git clone https://github.com/StephenLGF/dsh-plugins.git
cd dsh-plugins/plugins/tomato-board
npx @deepseek-ai/dsh plugin --profile web add .
npx @deepseek-ai/dsh web

安装命令会识别包中的 dsh.bundle,自动把 cordis.patch.yml 加入 Web profile,无需手工修改 Harness 配置。

安装到 DSH Desktop 时,将命令中的 profile 改为 desktop

npx @deepseek-ai/dsh plugin --profile desktop add .

卸载:

npx @deepseek-ai/dsh plugin --profile web remove @stephen1620/dsh-tomato-board

配置

默认配置位于 cordis.patch.yml

字段 默认值 说明
executable gitee Gitee CLI 可执行文件名或绝对路径
profile osc Gitee CLI profile
iql 空字符串 看板附加查询条件,负责人由界面选择;不影响迭代投入统计
tomatoOrigin https://osc.gitee.work 番茄站点地址
tomatoTenant xly-poc 番茄租户
cacheTtlMs 15000 事项查询缓存时间(毫秒,最大 300000)
maxItems 5000 单次最多读取的事项数(最大 20000)
excludedStatuses 测试通过 不在工作台展示的状态列表
priorityNames 常用 P0–P4 UUID 映射 按租户覆盖优先级 UUID 与显示名的对应关系

如需覆盖配置,可在 Harness 的用户 patch 中对 tomato-board 节点进行修改。最终生效配置可用下面的命令检查:

npx @deepseek-ai/dsh --profile web --dump-config

开发与构建

该插件依赖 Harness 尚未独立发布的 workspace 包,因此源码构建需要放在 Harness monorepo 中进行。不要使用目录软链;Harness 的插件发现不会遍历该软链。

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install

rsync -a --delete \
  --exclude .git \
  --exclude node_modules \
  --exclude lib \
  /absolute/path/to/dsh-plugins/plugins/tomato-board/ \
  packages/client/tomato-board/

pnpm exec tsc -b packages/client/tomato-board
pnpm --dir packages/client/tomato-board bundle

构建完成后,把 packages/client/tomato-board/lib/ 同步回本仓库。lib 会提交到 Git,确保 GitHub 安装不依赖用户本地具备 Harness 源码构建环境。

发布

版本号采用语义化版本。建议每次发布同时创建 Git tag 和 GitHub Release:

cd plugins/tomato-board
npm version patch --no-git-tag-version # 或 minor / major
git add package.json
git commit -m "release(tomato-board): v0.2.0"
git tag tomato-board-v0.2.0
git push origin main --follow-tags

如果需要 npm 一键安装,再执行:

npm login
pnpm publish --access public

prepack 会检查 lib 是否完整且客户端产物是否与当前源码一致,不会在独立仓库中重新执行依赖 Harness workspace 的构建。

作用域包首次发布必须使用 --access public。发布前应确认 npm 账号拥有 @stephen1620 scope;如果没有,需要改用自己可发布的 scope,并同步修改包名、README 安装命令和 Harness 卸载命令。

License

MIT