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

n8n 工作流运维 lchqi1998/dsh-n8n-plugin

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

登记 n8n 实例,让 Agent 按别名管理并校验工作流

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 34 处,展示前 19 条)
  • 发起网络请求
    client/index.js:159
    return readJson(await fetch(API.instances, { headers: { accept: 'application/json' } }))
  • 发起网络请求
    client/index.js:164
    return readJson(await fetch(API.instances, {
  • 发起网络请求
    client/index.js:173
    return readJson(await fetch(`${API.instances}?alias=${encodeURIComponent(alias)}`, {
  • 发起网络请求
    client/index.js:182
    return readJson(await fetch(`${API.instances}?alias=${encodeURIComponent(alias)}`, { method: 'DELETE' }))
  • 发起网络请求
    client/index.js:187
    return readJson(await fetch(API.test, {
  • 发起网络请求
    lib/n8n.js:179
    const body = await this.request(alias, 'GET', '/workflows', { query: { limit: 1 }, signal })
  • 发起网络请求
    lib/n8n.js:193
    const body = await this.request(alias, 'GET', '/workflows', {
  • 发起网络请求
    lib/n8n.js:212
    return this.request(alias, 'GET', `/workflows/${encodeURIComponent(workflowId)}`, { signal })
  • 发起网络请求
    lib/n8n.js:217
    const created = await this.request(alias, 'POST', '/workflows', { body: workflow, signal })
  • 发起网络请求
    lib/n8n.js:278
    const updated = await this.request(alias, 'PUT', `/workflows/${encodeURIComponent(workflowId)}`, { body, signal })
  • 发起网络请求
    lib/n8n.js:293
    await this.request(alias, 'DELETE', `/workflows/${encodeURIComponent(workflowId)}`, { signal })
  • 读取本地文件
    lib/store.js:108
    return existsSync(this.path)
  • 读取本地文件
    lib/store.js:259
    stats = statSync(this.path)
  • 读取本地文件
    lib/store.js:268
    const parsed = JSON.parse(readFileSync(this.path, 'utf8'))
  • 写入本地文件
    lib/store.js:278
    renameSync(this.path, `${this.path}.corrupt-${Date.now()}`)
  • 读取本地文件
    lib/store.js:289
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true, mode: 0o700 })
  • 写入本地文件
    lib/store.js:289
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true, mode: 0o700 })
  • 写入本地文件
    lib/store.js:291
    writeFileSync(tmp, JSON.stringify({ version: FORMAT_VERSION, instances: file.instances }, null, 2) + '\n', {
  • 写入本地文件
    lib/store.js:295
    renameSync(tmp, this.path)
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的 n8n 工作流运维插件:多实例注册表、Agent 工具与设置页界面

README

由 DeepSeek 最新模型翻译生成
dsh-n8n-plugin 把 n8n 工作流运维,装进 DeepSeek Harness。实例登记一次,设置页与 Agent 随处可用。 English · 中文 ✨ 为什么选它 大多数 n8n 集成方式,是把实例地址和 API Key 反复粘进对话。本插件让 n8n 成为 DeepSeek Harness 的一等公民:一个设置页、一份实例清单、15 个共享它的 Agent 工具。 一个别名,直达任意环境 实例只需在 设置 → n8n 实例 登记一次——别名(prod / staging / local…)、实例地址、API Key。所有工具按别名指定目标实例,同一段指令可以指向任何环境,无需重复粘贴凭据。 一份清单,两个界面,零漂移 设置页与 Agent 工具读取同一份存储——你在界面上配置的,就是 Agent 看到的。职责划分也是刻意的:Agent 只能读取实例清单,永远不能新增或修改——API Key 不应通过对话传递。 先离线校验,再放心发布 n8n_workflow_validate 在发送前完整检查工作流文档——节点 id/name 唯一(connections 以名称为键)、连接目标真实存在、webhook 节点配有 Respond to Webhook 响应节点、建议设置 settings.executionOrder——全程不访问实例。
展开完整文档(README 剩余 1 节)
dsh-n8n-plugin

把 n8n 工作流运维,装进 DeepSeek Harness。实例登记一次,设置页与 Agent 随处可用。

English · 中文

✨ 为什么选它

大多数 n8n 集成方式,是把实例地址和 API Key 反复粘进对话。本插件让 n8n 成为 DeepSeek Harness 的一等公民:一个设置页、一份实例清单、15 个共享它的 Agent 工具。

一个别名,直达任意环境

实例只需在 设置 → n8n 实例 登记一次——别名(prod / staging / local…)、实例地址、API Key。所有工具按别名指定目标实例,同一段指令可以指向任何环境,无需重复粘贴凭据。

一份清单,两个界面,零漂移

设置页与 Agent 工具读取同一份存储——你在界面上配置的,就是 Agent 看到的。职责划分也是刻意的:Agent 只能读取实例清单,永远不能新增或修改——API Key 不应通过对话传递。

先离线校验,再放心发布

n8n_workflow_validate 在发送前完整检查工作流文档——节点 id/name 唯一(connections 以名称为键)、连接目标真实存在、webhook 节点配有 Respond to Webhook 响应节点、建议设置 settings.executionOrder——全程不访问实例。

密钥不出本机

API Key 只存 ~/.dsh/dsh-n8n-plugin.json(0600)。所有响应只回显末四位,设置页从不回传完整密钥。

跟得上 n8n 的版本差异

发布走新版 POST /workflows/{id}/publish,仅在 404 时回退旧版 activate;其余版本差异,一次 n8n_api 直达。

🧩 Agent 工具

15 个工具,全部按别名寻址:

| 工具 | 作用 |
| n8n_instances | 列出实例(别名、地址、掩码密钥、默认项);Agent 不能创建/修改实例 |
| n8n_workflows | 列出工作流(active / name / tags 过滤,游标分页) |
| n8n_workflow_get | 读取完整工作流 JSON |
| n8n_workflow_create | 从 JSON 创建工作流,可立即发布 |
| n8n_workflow_update | 用完整文档更新工作流,可同时发布/取消发布 |
| n8n_workflow_delete | 删除工作流(会停止其触发器) |
| n8n_workflow_publish | 发布(activate)/ 取消发布(deactivate) |
| n8n_workflow_validate | 离线校验工作流 JSON,不访问实例 |
| n8n_executions | 列出执行记录(可按 workflowId / status 过滤) |
| n8n_execution_get | 读取单次执行的结构化视图:状态、耗时、逐节点结果与错误摘要 |
| n8n_wait_execution | 轮询等待一条执行记录结束(可设超时与轮询间隔) |
| n8n_webhook_call | 经 Webhook 触发器手动运行工作流,默认等待执行结束并返回逐节点结果 |
| n8n_tags | 列出标签及 id |
| n8n_credentials | 列出凭证名称与类型(不含密钥值) |
| n8n_api | 通用 /api/v1 请求(路径需以 / 开头) |

工作流 JSON 规范与常见模式见 knowledge/workflow-guide.md;announceToAgent 开启时,系统提示会给 Agent 该文件的绝对路径,供其按需 read。工具描述与用户可见文案为中文;工具名、参数名与 n8n 协议词汇(字段名、节点类型、状态枚举)有意保留英文。

🖥️ 实例管理

设置 → n8n 实例 → 添加实例:

| 字段 | 说明 |
| 别名 | 字母或数字开头,只能含字母、数字、.、_、-,最长 64 字符;作为所有工具的目标标识 |
| 实例地址 | https://n8n.example.com、http://localhost:5678,可带子路径;末尾 /api/v1 可省略(会被自动规范化) |
| API Key | n8n 里 设置 → n8n API → 创建 API Key;编辑时留空表示保持原值 |
| 说明 | 可选备注 |
| 默认 | 新工作流默认使用的实例;全局只有一个,删除默认实例后自动顺延 |

「测试」按钮当场调用 GET /workflows?limit=1,显示延迟——或给出确切的失败原因:连接拒绝、DNS、超时、证书、401。

所有实例数据保存在一个文件:

~/.dsh/dsh-n8n-plugin.json # $DSH_HOME/dsh-n8n-plugin.json,文件 0600 / 目录 0700

写入是原子的(临时文件 + 改名);文件损坏时隔离为 .corrupt-<时间戳>,不会拖垮插件。

🚀 快速开始

按包名安装(npm 或兼容的 registry)
dsh plugin --profile web add dsh-n8n-plugin

安装到 desktop profile(桌面版自带 CLI,dsh 不在 PATH 时用它)
dsh plugin --profile desktop add dsh-n8n-plugin

从本地 tarball 或源码目录安装(开发/内网)
dsh plugin --profile web add ./dsh-n8n-plugin-0.1.0.tgz
dsh plugin --profile web add link:<本包所在路径>

安装后重启 dsh web 或桌面应用,设置页会出现「n8n 实例」分区。无需其他配置——只需一个启用了 API 的 n8n 实例和它的 API Key。

手动安装(不使用 dsh plugin)

1. 把包放到 <DSH_HOME>/profiles/<profile>/node_modules/dsh-n8n-plugin(DSH_HOME 默认 ~/.dsh)——解压 tarball 或复制目录都可以。
2. 确保该 profile 的 cordis.patch.yml 里有:

- insert:
- id: n8n
name: 'dsh-n8n-plugin'

3. 重启应用。

包内的 cordis.patch.yml 是 bundle 补丁,只有把本包加入 dsh.profile.bundles 时才需要;直接插入 profile 补丁的方式更简单。

⚙️ 工作原理

标准的 DSH 双半边包:宿主半边(lib/)+ 浏览器半边(client/index.js,无构建步骤)。

设置页(浏览器) Agent(模型) │ │ ├─ GET/POST/PATCH/DELETE ───┐ ├─ 15 个 n8n_* 工具 │ /api/dsh-n8n-plugin/* │ │ ▼ ▼ ▼
┌─────────── 回环围栏(仅 127.0.0.1 / ::1)─────────────────┐
│ lib/routes.js lib/tools.js │
│ └───────────────┬─────────────┘ │
│ lib/store.js lib/n8n.js │
│ ~/.dsh/dsh-n8n-plugin.json n8n REST API v1 │
└───────────────────────────────────────────────────────────┘

- 宿主半边——lib/index.js 在一个 apply() 里注册路由、15 个工具与可选提示段;lib/store.js 管理实例清单(原子写、0600、损坏隔离);lib/n8n.js 是 API v1 客户端(30 秒超时、合并中止信号、accept-encoding: identity),外加 Webhook 直连调用与执行轮询等待;lib/http.js 落实回环围栏;lib/mount-once.js 保证同一 package/profile 只挂载一份。
- 浏览器半边——client/index.js 渲染设置分区,走同一组路由,GUI 与 Agent 永远一致。
- 提示词引导——lib/guidance.js 生成系统提示段;仅当会话中 n8n_* 工具可见时才渲染。

⚙️ 配置

两个布尔开关位于 profile 补丁中该插件的 config。两者都是 volatile():修改后无需重启即生效——loader 广播变更,插件就地重新注册各界面。

- id: n8n
name: 'dsh-n8n-plugin'
config:
enabled: true # 总开关:路由、工具、提示段 announceToAgent: true # 是否向 Agent 注入插件说明(默认开)

🛡️ 安全模型

- /api/dsh-n8n-plugin/ 仅接受回环地址请求,并校验 Host、Origin、Sec-Fetch-Site;带 X-Forwarded-For / CF-Connecting-IP 的请求一律拒绝(视为经过代理)。因此不要通过反向代理把该页面暴露到局域网。
- 请求体上限 256 KiB,响应一律 no-store。
- API Key 以明文保存在用户主目录私有文件(0600),与 ~/.n8n、n8n-api.sh 的环境文件同一信任模型;接口响应只含末四位。
- Agent 只能读取实例清单,不能新增或修改实例——API Key 不应通过对话传递。
- n8n API Key 拥有该实例的完整 API 权限(按 n8n 的 key 作用域),请只登记可信实例,定期轮换,并优先为自动化单独建用户。
- 发布/取消发布会立即影响生产的 webhook 与定时触发器;删除工作流会停止其触发器;执行记录可能含业务敏感数据。插件的系统提示要求 Agent 在执行这些操作前先向用户确认。

🛠 开发

需要 Node.js ^22.19.0 || >=24。

npm run check # 语法检查(全部源文件)

目录:

lib/index.js 插件入口(Config、apply、路由/工具/提示段注册) lib/store.js 实例存储(原子写、0600、损坏文件隔离) lib/n8n.js n8n 公开 API v1 客户端(含 webhook 直连与执行等待) lib/routes.js /api/dsh-n8n-plugin 路由(回环围栏) lib/tool-specs.js 15 个 Agent 工具定义(参数、输出 schema、render、execute) lib/tools.js 唯一的 defineTool() 适配层 lib/render.js 纯函数渲染器(供各 render 钩子复用) lib/workflow-validate.js 离线工作流校验 lib/http.js JSON 读写与回环围栏 lib/mount-once.js 单挂载守卫(同一 package/profile 只挂载一次) lib/guidance.js 系统提示文本 client/index.js 浏览器半边(设置分区,无构建步骤) knowledge/ 工作流 JSON 参考

📦 发布

npm pack # 产出 dsh-n8n-plugin-0.1.0.tgz(lib/、client/、knowledge/、cordis.patch.yml、icon.svg 与两个 README)
npm publish # 已登录 npm 时发布(未 scoped 包用默认 registry 即可)

包名同时出现在三处——package.json、cordis.patch.yml 的 cordis 行、client/index.js 的浏览器模块 id。若发布到自己的 scope,请三处同步修改。

🔐 权限与兼容

- 权限:在 harness home(~/.dsh / $DSH_HOME)下写一个 JSON 文件;向已登记的 n8n 实例发起出站 HTTP(S) 请求;经宿主 web 服务提供仅回环可达的路由族。不含命令执行 / Shell。
- 兼容:DSH >= 0.2.1-rc.2(同时写在 engines.dsh 与 dsh.engines.dsh)、Node.js ^22.19.0 || >=24、n8n 公开 API v1(1.x 及以后;发布端点有新旧回退)。
- 生命周期:无 preinstall / install / postinstall 脚本——装完即用。
- 依赖姿态:唯一运行时依赖是 @deepseek-ai/schemastery;所有 @deepseek-ai/dsh- 包与 react 均为可选 peerDependencies——本插件不重复安装、不替换、不遮蔽官方组件。

🤖 模型体验

- 15 个 n8n_* 工具(见上表);n8n_instances 与 n8n_workflow_validate 是最安全的只读入口。
- 运行闭环:n8n_workflow_publish 发布 → n8n_webhook_call 触发并等待 → n8n_execution_get 复查,一条链路覆盖「部署、运行、验证」。
- 可选系统提示段(announceToAgent):教 Agent 别名约定,并指向 knowledge/workflow-guide.md 获取完整工作流 JSON 规范。
- 破坏性操作(发布、删除)由提示段中的「先向用户确认」规则把关。

⚠️ 已知限制

- n8n 公开 API 仍没有跨版本稳定的「手动执行工作流」端点;n8n_webhook_call 通过 Webhook 触发器补上了这条路径——要求工作流里有 Webhook 节点且已发布(或用 mode:"test" 配合编辑器监听测试事件)。不含 Webhook 触发器的工作流,请在 n8n 界面执行,再用 n8n_executions / n8n_execution_get 查看结果。
- 不同 n8n 版本的公开 API 端点与字段有差异(例如 publish/unpublish 与 activate/deactivate 并存、更新可能需要 versionId)。插件对发布/取消发布做了 404 回退;其他差异可用 n8n_api 直达接口。
- 实例地址使用自签名证书时会被 DSH 主机的 TLS 校验拒绝(提示证书错误);请为实例配置受信任证书,或使用内网 HTTP。
- 一个 profile 只挂载一份本插件(重复行会由内置的 single-instance 守卫去重)。

📄 许可证

MIT
预览分享卡片长什么样 ↓lchqi1998/dsh-n8n-plugin
分享 · DeepSeek Harness Hub
lchqi1998/dsh-n8n-plugin

登记 n8n 实例,让 Agent 按别名管理并校验工作流

回到顶部