管理多台 Jenkins 服务器,支持从设置页、模型工具或工作区级「执行 Jenkins Job」入口触发构建,宿主 + 浏览器双端、界面中英双语。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:jsoncode/dsh-jenkins-cli
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness 插件(双面:宿主 + 浏览器):管理多台 Jenkins 服务器与 Token, 支持设置页配置、模型工具触发构建、工作区级「执行 Jenkins Job」入口。无硬编码路径、 纯 ESM、可发布到 npm / GitHub。界面文案中英双语(跟随主界面语言)。
功能
- 设置 → Jenkins Cli 配置 页(
settings.section):多服务器增删改查、测试连接、 跳过 TLS 校验。仅 服务器地址 与 Token 必填(用户名为选填,缺省admin)。 - 工作区入口(
sidebar.footer.action):当当前工作区根目录存在dsh-jenkins-cli.{json,js,ts}配置时,侧边栏底部出现按钮,点击打开 执行 Jenkins Job 弹框——环境 Tab(dev/uat/prod…)切换 → 参数表单回显 → 提交构建 → 轮询状态(排队 → 构建中 → 结果,10 分钟超时)。 - 模型工具(docs/develop/basic/tool):
dsh_jenkins_build、dsh_jenkins_status。 - 配置(docs/develop/basic/config):Schemastery
Config+ settings namespace 将界面编辑持久化到$DSH_HOME/settings.yaml(服务器列表以 JSON 字符串存储, 规避 settings 冻结数组陷阱)。 - 打包(docs/develop/basic/publish):
dsh.bundle+dsh.client(web) manifest。
文件结构
├── index.js # 宿主半边:Config、settings namespace、dsh-jenkins-cli 命令、模型工具、工作区配置 op
├── client.js # 浏览器半边(__ModuleLoader__ bundle):设置页、底部入口、环境 Tab 弹框
├── index.d.ts # 宿主类型声明
├── cordis.patch.yml # 组合包 patch:按包名引用插件行(无路径)
├── package.json # dsh.bundle + dsh.client(web) manifest + peerDependencies
├── README.md # 英文文档(默认)
└── README.zh.md # 本文档
工作区配置文件(dsh-jenkins-cli.json / .js / .ts)
放在工作区根目录,定义 job、目标服务器与多环境参数。.json 直接解析;
.js / .ts 经 node 求值(module.exports 或 export default):
{
"job": "build-app",
"server": "生产环境",
"environments": {
"dev": { "BRANCH": "main", "DEPLOY": false },
"uat": { "BRANCH": "develop", "DEPLOY": false },
"prod": { "BRANCH": "release-1.0", "DEPLOY": true }
}
}
job(必填):Jenkins 任务路径,如build-app或folder/build-app。server(选填):对应 设置 → Jenkins 里的服务器 name(缺省用唯一一台服务器)。environments:环境名 → 参数键值(布尔值渲染为勾选框,其余为文本框)。
存在该文件时,侧边栏底部出现「Jenkins」按钮 → 弹框内按环境 Tab 切换、回显参数、 提交构建、轮询状态。
安装
# 本地开发
dsh plugin --profile web add ./dsh-jenkins-cli
# 发布后:npm / tarball / GitHub
dsh plugin --profile web add dsh-jenkins-cli
dsh plugin --profile web add ./dsh-jenkins-cli-0.1.4.tgz
dsh plugin --profile web add github:you/dsh-jenkins-cli#<sha>
dsh --profile web --dump-config # 验证配置层
dsh --profile web # 启动(宿主半边需重启才生效)
静态默认服务器也可写在 profile 的 cordis.patch.yml:
- insert:
- id: dsh-jenkins-cli
name: dsh-jenkins-cli
config:
servers:
- id: prod
name: 生产环境
baseUrl: https://jenkins.example.com
username: admin
token: <API Token 或密码>
insecure: false
发布
npm publish # 纯 JS,无需构建
npm pack # 或 tarball
git push origin main # 或 GitHub(纯 JS 包 git 安装无需 prepare 授权)
实现说明
- Jenkins REST:
curl.exe(经宿主shell服务),Basic 认证 + CSRF crumb +--data-binary @-(表单体经 stdin,UTF-8 无 BOM);-D -解析状态码与Location。 - 浏览器↔宿主:
ctx.remote.commands.execute(sessionId, '/dsh-jenkins-cli <json>'), 宿主错误带code,客户端按语言本地化(未覆盖的兜底显示原文)。 - peerDependencies(
@deepseek-ai/cordis、dsh-tools、schemastery、dsh-settings、dsh-commands、dsh-session、dsh-api-remotes、client-runtime/ui-slots/ui-settings/ cordis-client-runner、react)由宿主安装时解析。 - 未修改官方 deepseek-harness 项目:全部能力走现有 slot(
sidebar.footer.action、settings.section、shell.overlay)与命令传输。
链接
同类插件
superdesigndev/treg★ 423
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
Lum1104/dsh-browser★ 184
Chrome 侧边栏扩展,让 DSH 直接操控你的浏览器,无需视觉能力。
zhaoolee/notes★ 141
将 DSH 对话导出为锤子便签风格 PNG,或在配置的账号工作区中新建和更新 Markdown 便签。
liustack/modsearch★ 107
纯文本 agent 的联网搜索桥:搜索网页与 X,返回结构化 JSON 证据(search/fetch/引用)。
taxueseek/argo★ 89
专为 agent 打造的搜索工具:多语言,覆盖中文/英文/学术/代码/购物/金融/新闻/百科。
Vladimir-Human/ru-marketplace-mcp#dsh★ 63
面向俄罗斯十家电商平台的技能与可选 MCP 行:跨 Wildberries、Detsky Mir、Yandex Market 比价,以及各平台的搜索、商品卡与评论。安装后 13 个技能立即可用;两行 MCP 默认关闭,需将 RU_MARKETPLACE_MCP_DIR 指向本地克隆,该克隆需要 Python 3.12+ 与 uv。