🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

禅道工作台 big-li99/dsh-zentao-panel

DeepSeek Harness
big-li9912 天前有提交已提供中文文档扫描:含敏感能力

在侧栏查看禅道任务并一键转为对话上下文

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add big-li99/dsh-zentao-panel
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 写入剪贴板
    client/client.js:1812
    return Promise.resolve(nav.clipboard.writeText(s)).then(function () { return true; }, function () {
  • 写入剪贴板
    client/client.js:1855
    return Promise.resolve(root.navigator.clipboard.writeText(md)).then(
  • 发起网络请求
    lib/rpc.mjs:60
    async fetch(request) {
  • 发起网络请求
    lib/rpc.mjs:147
    const response = await fetchFn.fetch(request);
  • 发起网络请求
    lib/zentao-client.mjs:94
    const res = await fetch(url, init);
  • 读取本地文件
    lib/store.mjs:56
    const d = JSON.parse(readFileSync(configPath(), 'utf8'));
  • 写入本地文件
    lib/store.mjs:91
    mkdirSync(panelDir(), { recursive: true });
  • 写入本地文件
    lib/store.mjs:102
    writeFileSync(configPath(), JSON.stringify(payload, null, 2) + '\n', { mode: 0o600 });
  • 写入本地文件
    lib/store.mjs:108
    if (existsSync(configPath())) writeFileSync(configPath(), JSON.stringify({ version: 2, accounts: [], savedAt: Date.now() }) + '\n', { mode: 0o600 });
  • 读取本地文件
    lib/store.mjs:108
    if (existsSync(configPath())) writeFileSync(configPath(), JSON.stringify({ version: 2, accounts: [], savedAt: Date.now() }) + '\n', { mode: 0o600 });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeekRuntime 禅道工作台插件:右侧栏查看指派给我的任务/Bug/需求,一键转成 DSH 对话上下文(禅道截图自动转真实图片附件)

README

由 DeepSeek 最新模型翻译生成
dsh-zentao-panel DeepSeekRuntime 的禅道(ZenTao)工作台插件:在 DSH 右侧栏「开始」页里放一张 禅道卡片作为入口(和内置的「上下文」「工作区文件」同款形式),点开后在右侧栏以 tab 形式查看指派给我的任务 / Bug / 需求,一键把卡片转成 DSH 对话上下文。 功能 - 右侧栏 tab:任务 / Bug / 需求三个分段标签,卡片列表 + 详情; - 卡片拖拽/点击插入对话输入框(精简 Markdown:标题 + 描述/重现步骤,不带元信息/原地址/页脚); - 描述里的截图变成真实图片:插入时把禅道 (含列表接口的 {35861.png} 占位符)下载下来,作为 DSH 图片附件挂到输入框,发送后模型真的能看到图; - 「处理」按钮:新建会话并自动下发任务背景提示词(含图片附件); - 登录态持久化(30 天免登),会话失效自动重登; - 全部颜色走 DSH 语义 token(--dsw-alias-),日间 / 夜间自动跟随; - 只读,不回写禅道。
展开完整文档(README 剩余 1 节)
dsh-zentao-panel

DeepSeekRuntime 的禅道(ZenTao)工作台插件:在 DSH 右侧栏「开始」页里放一张 禅道卡片作为入口(和内置的「上下文」「工作区文件」同款形式),点开后在右侧栏以 tab 形式查看指派给我的任务 / Bug / 需求,一键把卡片转成 DSH 对话上下文。

功能

- 右侧栏 tab:任务 / Bug / 需求三个分段标签,卡片列表 + 详情;
- 卡片拖拽/点击插入对话输入框(精简 Markdown:标题 + 描述/重现步骤,不带元信息/原地址/页脚);
- 描述里的截图变成真实图片:插入时把禅道 (含列表接口的 {35861.png} 占位符)下载下来,作为 DSH 图片附件挂到输入框,发送后模型真的能看到图;
- 「处理」按钮:新建会话并自动下发任务背景提示词(含图片附件);
- 登录态持久化(30 天免登),会话失效自动重登;
- 全部颜色走 DSH 语义 token(--dsw-alias-),日间 / 夜间自动跟随;
- 只读,不回写禅道。

开发进度

- M0 ✅ 禅道 API 探测(见《计划书.md》附录 A)
- M1 ✅ host 插件:登录(30 天免登 cookie)/ my-work 三接口 / v1 详情 / loopback RPC
- M2 ✅ client 入口:右侧栏 tab 类型 + 「开始」页引导卡片(参照 dsh-context 的「上下文」);旧版 DSH 没有 sidebarRightTabs 时自动退回悬浮按钮 + 侧滑面板
- M3 ✅ 插入输入框(服务级 setDraft + 真实图片附件 → composer DOM → 剪贴板兜底)+ 新会话下发
- M4 ⏳ 自动刷新、错误提示打磨

测试

node test/client.mjs # client 半边:bundle 装载 + 右侧栏注册契约(无需 DSH)
DSH_HOME=/tmp/zt-smoke node test/smoke.mjs # 直连真实禅道验证 client/service(需内网可达)
DSH_HOME=/tmp/zt-host node test/host.mjs # apply() + RPC wire 协议端到端(mock ctx)

(smoke/host 的禅道地址与账号来自 ZENTAO_BASE/ZENTAO_ACCOUNT/ZENTAO_PASSWORD 环境变量或 ~/.dsh/zentao-panel/config.json,不落 git。)

安装

git clone https://github.com/big-li99/dsh-zentao-panel.git
DSH="/Applications/DeepSeekRuntime.app/Contents/Resources/runtime/cli/bin/dsh"
"$DSH" plugin --profile desktop add "$(pwd)/dsh-zentao-panel"

重启 DSH Desktop 生效(client 侧改动一般 ⌘R 重载渲染进程即可;host 侧改动需重装插件后重启)。

卸载

"$DSH" plugin --profile desktop remove dsh-zentao-panel
可选:清除本地凭据
rm -rf ~/.dsh/zentao-panel

配置

登录信息保存在 ~/.dsh/zentao-panel/config.json(权限 0600,仅本机):禅道地址、账号、密码(base64 混淆)、登录 cookie。卸载插件后不会自动删除,需要时手动清理。

技术说明

数据链路(ZenTao 18.13 开源版实测,RESTful API v2 在该实例不可用):

- 网页登录协议:md5(md5(password) + verifyRand) 加密 + jQuery 风格请求头;
- 数据主通道:/my-work-{task,bug,story}.json(登录态 cookie,一次拿全量);
- 详情:/api.php/v1/{tasks,bugs,stories}/{id}。

界面挂载(DSH 0.2.1-rc.2 源码确认):

- sidebarRightTabs.register({id, kind, title, guide:[{title, description, icon}]})
注册右侧栏 tab 类型与「开始」页引导卡片;
- sidebar.right.pane.tab / .title 两个 keyed slot 提供 tab 正文与标题, key 用 tab 类型的 id(TabSlot 的 entryKey = definition.id ?? tab.kind);
- 颜色只用 --dsw-alias- 语义 token,暗色由 body[data-ds-dark-theme] 自动切换。

真实图片附件(DSH 0.2.1-rc.2 源码确认):

- 宿主用登录态 cookie 下载禅道图片,RPC zentao.image 返回 {name, mediaType, base64};
- 渲染端 new File([bytes], name, {type}) →
conversation.createDrafts(sessionId, files) 拿到 draft id →
conversation.input.for(scope).addAttachments(ids);
addAttachments 只接受已注册的 draft id,不直接收 File;
- 用户消息不渲染 markdown,所以图片只能走附件通道;发送后是模型可见的 image block;
- 仅支持 png/jpeg/webp/gif,单图 ≤20MB、单边 ≤8192、单消息 ≤20 张;超大截图会先在浏览器里缩到 2048 长边再附加(DSH 宿主本来也会归一化到 ≤2048)。
- 模型不支持图片输入时宿主会拒绝整条 prompt(DSH 自身会提示「当前模型不支持图片」),此时可在输入框里移除图片附件后发送。

详见《计划书.md》附录 A。

License

MIT
预览分享卡片长什么样 ↓big-li99/dsh-zentao-panel
分享 · DeepSeek Harness Hub
big-li99/dsh-zentao-panel

在侧栏查看禅道任务并一键转为对话上下文

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部