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

金蝶云星空连接器 maxwell-feng/dsh-kingdee

DeepSeek Harnessv0.13.0
maxwell-feng35 天前有提交已提供中文文档扫描:未发现敏感能力

让 agent 直接查询审核金蝶单据与基础资料

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-kingdee
npm 源 · dsh-kingdee 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · tool
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功(非静态推断);本次验证针对插件 v0.15.1,当前版本为 v0.13.0
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 35 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-kingdee @ 0.13.0
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 11:39:57

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

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 4 处,展示前 4 条)
  • 发起网络请求
    lib/kd-core/client.js:71
    const response = await this.transport.request({
  • 发起网络请求
    lib/kd-core/client.js:101
    const response = await this.transport.request({ method: 'POST', url, headers, body });
  • 发起网络请求
    lib/kd-core/client.js:118
    const response = await this.transport.request({ method: 'POST', url, headers, body: {} });
  • 发起网络请求
    lib/kd-core/client.js:140
    const response = await this.transport.request({ method: 'POST', url, headers, body });
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

功能亮点

  • 查询金蝶单据
  • 审核与反审核单据
  • 调用BOS自定义服务

金蝶云星空 WebAPI 插件,用于 DeepSeek Harness(DSH):提供带类型的智能体工具,可查询、保存、提交、审核、反审核、查看和删除单据与基础资料,也能调用 BOS 自定义服务。

v0.17.02026-11-02
· 发布说明 — v0.17.0 中文 | English 发布日期:2026-11-02 dsh-kingdee 的双线兼容版本,这是 DeepSeek Harness 的金蝶云星空二次开发插件。构建仍停在 0.2.2-alpha.2,也就是它一直对齐的 master 预览线,另外还针对 0.2.1-rc.5 验证了插件,这是最新的 dist-tag、最新发布的版本,也是桌面应用内置的运行时。租户兼容性不变:金蝶云星空 V9.1 企业版,向下兼容 V9.0 / V8.x,未做真实租户联调。 · 为什么发这个版本 DeepSeek Harness 同时发布两条线:latest 标签跟踪最新的点版本,alpha 跟踪 master。撰写本文时 latest 是 0.2.1-rc.5(发布于 2026-10-29),alpha 是 0.2.2-alpha.2(发布于 2026-10-27)。从桌面应用或 latest 安装 DSH 的用户跑的是 rc.5;0.16.0 只验证过 alpha.2。0.17.0 用一张明确的验证矩阵补上这个缺口,不再假设一条线能代表另一条。 · 变更 · 两条验证线,一份源码树。rc.5 线在独立环境中验证,钉定 @deepseek-ai/dsh-*@0.2.1-rc.5、@deepseek-ai/cordis@4.0.5 和 @deepseek-ai/schemastery@3.18.5。它的 src/、test/、scripts/、locale/、skills/、docs/、.github/、cordis.patch.yml、tsconfig*.json 和 tsdown.config.ts 与本仓库逐字节一致(按文件哈希校验),所以结果描述的是这个包本身,不是它的某个变体。 · 依赖没变;peer 本来就覆盖两条线。cordis 4.0.5 落在现有 ^4.0.4 范围内,schemastery 3.18.5 落在 ^3.18.4 范围内,所以 0.16.0 放宽的范围(^4.0.4 || ^4.0.6-alpha.1、^3.18.4 || ~3.18.6-alpha.1)原样接纳 rc.5 这一对。devDependencies 仍钉在 0.2.2-alpha.2,因为清单只能写一个构建基线。 · 源码改动:无。src/、test/、scripts/、.github/、skills/、cordis.patch.yml 和构建配置下没有任何文件变化,也没有配置字段挪位:插件行为与 0.16.0 完全一致。 · 供应链豁免未动。工作区列表本来就豁免钉定的 alpha.2 集合;不需要加 rc.5 条目,因为豁免列表由 lockfile 推导,而 lockfile 没动。 · 对照 0.2.1-rc.5 线检查(均确认无影响) 从之前对齐的基线(0.2.1-rc.2)到 0.2.1-rc.5 共 19 个提交,其中恰好两个是面向插件的升级指南。两份都完整读过: · 空白会话复用(v0.2.1-rc.2/new-session-blank-reuse)—— Web 和桌面端的「新建会话」复用工作区里第一个未启动的空白会话,不再每次调用都新建智能体。这是 Web/桌面端的会话生命周期行为;它不读任何工具、凭据、设置卡片或语言包接缝。 · 推理正文插槽(v0.2.1-rc.4/reasoning-body-props)—— 对 conversation.chat.reasoning.body 的贡献现在通过 rawText 收到原始模型输出,text 携带 Chat 准备好的展示文本。本插件不注册推理渲染器,也不贡献 Chat 插槽,所以这两个字段都到不了它这里。 除指南外,逐接缝对比是对着 rc.5 构建做的,不是读发布说明: · 工具注册。src/tools.ts 里的 defineTool({ … }) 加 ctx.tools.register(definition) 对着 dsh-tools@0.2.1-rc.5 原样编译;DefineToolOptions 和 ToolDefinition 保留强制的 output.schema / render 投影。 · 凭据接缝。credentialRef() 和 ctx.credentials.resolve() 用法与之前完全一样;解析出的 { value } 形状不变。 · 易变配置 schema。Schema.string().volatile() 和整个 Config 对象在 schemastery@3.18.5 + cordis@4.0.5 下仍通过类型检查,所以逐操作 captureConfig 契约在这条线上同样成立
v0.16.02026-10-28
· 发布说明 — v0.16.0 中文 | English 发布日期:2026-10-28 dsh-kingdee 是 DeepSeek Harness 的金蝶云星空二次开发插件,本次为对齐 DeepSeek Harness 0.2.2-alpha.2 的版本:所有 @deepseek-ai/dsh-* 开发依赖升到 0.2.2-alpha.2,锁文件和 pnpm 供应链豁免按该版本重新生成,@deepseek-ai/cordis / @deepseek-ai/schemastery 升到 ~4.0.6-alpha.1 / ~3.18.6-alpha.1。租户兼容性不变:金蝶云星空 V9.1 企业版,向下兼容 V9.0 / V8.x,未做真实租户验证。 · 变更 · Harness 对齐。所有 @deepseek-ai/dsh-* 开发依赖从 DeepSeek Harness 0.2.1-rc.2 升到 0.2.2-alpha.2,并按 0.2.2-alpha.2 重新生成锁文件。@deepseek-ai/cordis 升到 ~4.0.6-alpha.1,@deepseek-ai/schemastery 升到 ~3.18.6-alpha.1。 · 放宽 peer 范围。@deepseek-ai/cordis 改为 ^4.0.4 || ^4.0.6-alpha.1,@deepseek-ai/schemastery 改为 ^3.18.4 || ~3.18.6-alpha.1,插件继续接受此前验证过的 4.0.4 / 4.0.5 / 3.18.4 / 3.18.5 版本,同时接受现在构建和测试所用的新预发布版。 · 重建供应链豁免。工作区文件让 0.2.2-alpha.2 包集合绕过 pnpm 的最短发布时长限制,否则会拒绝 DSH 持续发布的预发布版。列表仍是单个由锁文件生成的块。 · 源码无改动。src/、test/、scripts/、.github/、skills/、cordis.patch.yml 及构建配置下均无文件改动,也没有配置字段迁移:插件行为与 0.15.1 完全一致。 · 对照 0.2.2-alpha.2 核查(均确认无影响) DeepSeek Harness 0.2.2-alpha.2 公布了三项可能影响插件的破坏性变更。每一项都对照本仓库核查,而非默认无害: · Cordis Timer 与上游同步,返回值有变。插件唯一用到定时器的地方是 src/kd-core/transport.ts,它用全局 setTimeout 安排每个请求的截止时间,再用 clearTimeout 清除。它从不调用 ctx.timer.timeout() / interval() / throttle() / debounce(),所以变更后的返回值影响不到它。已用 grep 在 src/ 中核查定时器用法。 · dsh-tools 把声明拆成 Contracts / ToolExecutor / pipeline 模块。src/tools.ts 使用 defineTool({ … }) 加 ctx.tools.register(definition),该调用仍能通过类型检查。DefineToolOptions 和 ToolDefinition —— 包括必需的 output.schema 和 render 投影 —— 在 0.2.1-rc.2 与 0.2.2-alpha.2 的 lib/types/schema.d.ts / contracts.d.ts 中声明完全一致。注册接口上唯一的改动是新增:ToolsService.register 多了一个可选第二参数(ToolRegistrationOptions,用于步骤时激活),所以现有的单参数调用依然有效。 · dsh.client 清单(platform / inject)语义。dsh.client.inject 中列出的每个包 —— dsh-client-locale、dsh-client-ui-settings、dsh-client-ui-plugin-manager、dsh-api-remotes、dsh-client-connection —— 仍在 0.2.2-alpha.2 发布,仍声明 dsh.client.platform: "web",仍导出 ./client bundle,所以无需移除任何条目。bundle 唯一的外部模块请求 react 未变。 除三项公布的变更外,设置卡片的接缝也重新读过:ctx.configForms.get()、slots 和 remote 在两个版本间声明完全一致。locale 服务只改了一次,是放宽而非破坏:Lo
v0.15.12026-10-18
· 发布说明 — v0.15.1 中文 | English 发布日期:2026-10-18 dsh-kingdee 对齐 DeepSeek Harness 0.2.1-rc.2 的版本,这是金蝶云星空二次开发插件:所有 @deepseek-ai/dsh-* 开发依赖升到 0.2.1-rc.2,锁文件和 pnpm 供应链豁免按该版本重新生成,@deepseek-ai/cordis / @deepseek-ai/schemastery 升到 ^4.0.5 / ^3.18.5。租户兼容性不变:金蝶云星空 V9.1 企业版,向下兼容 V9.0 / V8.x,未做真实租户验证。 · 变更 · 对齐 Harness。所有 @deepseek-ai/dsh-* 开发依赖从 DeepSeek Harness 0.2.1-alpha.4 升到 0.2.1-rc.2,锁文件按 0.2.1-rc.2 重新生成。@deepseek-ai/cordis 升到 ^4.0.5,@deepseek-ai/schemastery 升到 ^3.18.5。0.2.1-alpha.4 到 0.2.1-rc.2 之间,本插件用到的接口没有变化:设置卡片背后的 ctx.configForms.get() 约定,以及卡片注入的 slots、locale、remote、connection 约定,按本插件的用法看声明完全一致。 · 重建供应链豁免。工作区文件把 0.2.1-rc.2 这组包从 pnpm 的最短发布时长门槛中豁免,否则该门槛会拒绝 DSH 持续发布的预发布版。清单仍是单个由锁文件生成的块。 · 源码无改动。src/、test/、scripts/、.github/、skills/、cordis.patch.yml 及构建配置下没有任何文件改动,也没有配置字段迁移:插件行为与 0.14.0 完全一致。 · 修复 · 兼容性说明在两种语言里都把准入门槛写错了。README.md、README.zh.md、INSTALL.md、INSTALL.zh.md、UPDATE.md 和 UPDATE.zh.md 原先称门槛只读 @deepseek-ai/dsh* 的 peerDependencies,且「engines.dsh 不是门槛读取的内容」。自 DeepSeek Harness 0.2.1-alpha.4 起,自身 engines.dsh 范围单独决定准入,该项检查忽略 peers。说明现已改正,准入结论不变:插件声明 engines.dsh: ">=0.1.7-alpha.2 =0.1.7-alpha.2 =0.1.7-alpha.2 =0.1.7-alpha.2 =0.1.7-alpha.2 =0.1.7-alpha.2 <0.3.0 不变,因此 dsh-kingdee@0.14.0 在 DeepSeek Harness 0.2.1-rc.2 上同样被准入。 · 验证 · pnpm run typecheck 零错误、pnpm run build 干净(tsc -p tsconfig.build.json 加 tsdown 客户端 bundle),15 项单元测试(pnpm test)在 DeepSeek Harness 0.2.1-rc.2 上全部通过。 · node scripts/check-docs-language.ts 检查全部通过,零发现。 · 未验证项:在真实 0.2.1-rc.2 配置档中的实际启动;以及一如既往,未做真实金蝶账套联调。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-kingdee 英文 | 中文 面向 DeepSeek Harness(DSH)的金蝶云星空二次开发插件。 dsh-kingdee 让 DSH agent 通过金蝶云星空的 WebAPI 对账套做一等公民、凭据安全的操作:提供一套类型化工具,用于查询、保存、提交、审核、反审核、查看、删除单据与基础资料,以及调用 BOS 自定义服务。配套的领域技能(kingdee-bos)讲解字段/枚举/状态机约定,以及数据层与平台插件层的边界。 - 凭据安全 —— 密钥以环境变量引用存放,经 DSH 凭据缝解析,绝不写在明文配置里。 - 全面适配金蝶云·星空 V9.1 企业版 —— 深度适配金蝶云·星空 V9.1 企业版(向下兼容 V9.0 / V8.x):官方 kdservice-sessionid 会话同时以请求头与 Cookie 双通道发出;大表防扫表稳定游标分页(orderString、limit、startRow);单据编号(numbers)直接驱动审批/反审/删除/反提交业务流程;保存时自动提审(isAutoSubmitAndAudit)。
展开完整文档(README 剩余 1 节)
dsh-kingdee

英文 | 中文

面向 DeepSeek Harness(DSH)的金蝶云星空二次开发插件。

dsh-kingdee 让 DSH agent 通过金蝶云星空的 WebAPI 对账套做一等公民、凭据安全的操作:提供一套类型化工具,用于查询、保存、提交、审核、反审核、查看、删除单据与基础资料,以及调用 BOS 自定义服务。配套的领域技能(kingdee-bos)讲解字段/枚举/状态机约定,以及数据层与平台插件层的边界。

- 凭据安全 —— 密钥以环境变量引用存放,经 DSH 凭据缝解析,绝不写在明文配置里。
- 全面适配金蝶云·星空 V9.1 企业版 —— 深度适配金蝶云·星空 V9.1 企业版(向下兼容 V9.0 / V8.x):官方 kdservice-sessionid 会话同时以请求头与 Cookie 双通道发出;大表防扫表稳定游标分页(orderString、limit、startRow);单据编号(numbers)直接驱动审批/反审/删除/反提交业务流程;保存时自动提审(isAutoSubmitAndAudit)。
- 两条真实登录链路 —— 账套用户名/密码走 AuthService.ValidateUser;第三方应用走 AuthService.LoginByAppSecret(金蝶对 2022-11-29 之后开通的公有云账套要求该模式)。两者建立同一个 kdservice-sessionid 会话,不使用任何伪造的认证请求头;登录响应按其自身的 LoginResultType 结构单独判定,而非业务信封。
- SSRF 深度安全基线 —— 纯 TypeScript 实现严格的协议白名单(仅限 http: / https:)与网络边界拦截,自动屏蔽 localhost、环回及私有保留网段请求。
- 类型化工具 —— 通过 kingdee_ 工具完成查询、保存、提交、审核、反审核、查看、删除与调用 BOS 自定义服务,具体见下方工具表。
- 完整状态机 —— 创建/更新 → 提交 → 审核 → 反审核,开箱即用。
- 离线 Mock —— 配置 mock: true 即切换到本地固化传输,无需可连通账套即可演示与测试。
- 双语文档 —— 英文与简体中文。

🧩 边界说明。 本插件覆盖金蝶云星空二次开发的数据/服务层。平台插件层(服务器端 C# 表单/列表插件、界面布局、后台事件)需使用 BOS 集成开发环境,无法经 WebAPI 触达。kingdee-bos 技能记录了这一边界。

安装

把 bundle 加进 DSH profile 并启用
dsh plugin add dsh-kingdee

面向 DeepSeek Harness 0.2.0-rc.1,旧版本必须升级。 0.11.1 完成对 DeepSeek Harness 0.2.0-rc.1 的适配。此前的 0.10.0 在 0.2.0-rc.1 上会在加载阶段被拒绝:它把 @deepseek-ai/dsh-credentials 与 @deepseek-ai/dsh-tools 两个 peer 声明为 ^0.1.7-alpha.2,该区间不含 0.2.x;而 0.2.0-rc.1 会在插件行加载之前,用唯一的运行时版本校验每一处名为 @deepseek-ai/dsh / @deepseek-ai/dsh- 的 peer 依赖,且预发行版参与区间匹配(闸门读取的不是 engines.dsh)。不兼容的行会被拒绝,不兼容的 bundle 会被跳过。0.11.1 把两个 peer 区间放宽为 >=0.1.7-alpha.2 被拒时宿主会打印的补救方式是 dsh plugin allow-version --dsh-version --accept-risk(或使用插件管理器),它会在 profile 的 compatibility.json 中记录一条确切版本豁免。这是风险确认,而不是兼容性修复;且它只对一个确切插件版本、一个确切运行时生效:插件升级或宿主升级都不会继承该授权。

已在 deepseek-harness 0.2.0-rc.1 上、以插件 0.11.1 验证:pnpm run typecheck 零错误、pnpm run build 构建干净、15 项单元测试通过(pnpm test)、pnpm install 通过 pnpm 的供应链闸门,且宿主自带的兼容性校验在运行时 0.2.0-rc.1 上准入 dsh-kingdee@0.11.1。未进行真实账套联调验证。

详细配置见 CONFIG.zh.md,安装步骤见 INSTALL.zh.md,工具说明见 USAGE.zh.md,升级/卸载见 UPDATE.zh.md 与 UNINSTALL.zh.md。版本历史见 CHANGELOG.zh.md / CHANGELOG.md。

快速开始

1. 注册插件,在 Plugins → kingdee 设置卡片(或 cordis.yml)里填连接信息:WebAPI 地址、acctId、认证方式。
2. 把密钥放进环境变量(或凭据库),引用指向配置的引用名。所有系统使用相同的引用名,只是设置方式不同:

Linux / macOS (sh)
export DSH_KINGDEE_USER=your_username
export DSH_KINGDEE_PASSWORD=your_password
app 模式:DSH_KINGDEE_USER 存集成用户,且为必填
export DSH_KINGDEE_APP_SECRET=your_app_secret

Windows — PowerShell(当前会话) $env:DSH_KINGDEE_USER = "your_username" $env:DSH_KINGDEE_PASSWORD = "your_password" $env:DSH_KINGDEE_APP_SECRET = "your_app_secret" # app 模式(USER 即集成用户)

REM Windows — 命令提示符(当前会话)
set DSH_KINGDEE_USER=your_username
set DSH_KINGDEE_PASSWORD=your_password
set DSH_KINGDEE_APP_SECRET=your_app_secret

或者不用 shell 环境变量,而把值存进 DSH 凭据库:在 DSH 设置界面里填一次即可(凭据值只写不读 —— 页面只能看到脱敏描述符),也可直接编辑 $DSH_HOME/.credentials.yaml。插件配置里携带的是引用名,值永远不会进入配置文件。

各系统的详细设置(含持久化 setx / [Environment]::SetEnvironmentVariable)见 INSTALL.zh.md。

3. 让 agent 查询:

在金蝶云星空查询销售订单 SO-20260701。

agent 会加载 kingdee-bos 技能,并以 formId=SAL_SaleOrder 调用 kingdee_query。

在没有真实账套时,把插件配置设为 mock: true —— 工具会返回固化的金蝶信封。设置卡片会暴露非机密的连接字段,但不含 mock,因此该项请在配置中设置:

config:
mock: true

完整片段见 INSTALL.zh.md。

工具

| 工具 | 作用 | 关键入参 |
| kingdee_query | ExecuteBillQuery —— 查单据/基础资料 | formId、fieldKeys[]、filter?、topCount?、organization? |
| kingdee_query_business_data | 结构化查询(QueryBusinessData) | formId、fieldKeys[]、filter?、topCount?、organization? |
| kingdee_save | 保存(新增/更新)单据或基础资料 | formId、data、interaction? |
| kingdee_batch_save | 单次批量保存多条 | formId、records[]、interaction? |
| kingdee_submit | 提交一条或多条 | formId、ids[]、numbers? |
| kingdee_unsubmit | 反提交 | formId、ids[] |
| kingdee_audit | 审核 | formId、ids[] |
| kingdee_unaudit | 反审核 | formId、ids[] |
| kingdee_view | 按 id 查看单条 | formId、id |
| kingdee_delete | 按 id 删除 | formId、ids[] |
| kingdee_delete_draft | 删除草稿(暂存) | formId、ids[] |
| kingdee_invoke | 调用 BOS 自定义服务 | serviceName、payload?、formId? |
| kingdee_logout | 退出当前会话 | — |
| kingdee_list_datacenters | 列出该地址可达的数据中心/账套 | — |

表格顺序与 USAGE.zh.md 的逐工具参考章节顺序一致。

每个工具返回规范化的规范值;金蝶 IsSuccess=false 的消息会转成类型化错误(kd/business-error、kd/auth-failed 等),而不是让模型去解析文本。

金蝶 V9.1 符合性

dsh-kingdee 面向 金蝶云·星空 V9.1 企业版(补丁 PT-163015 → 产品版本 9.1.0.20250807),并向下兼容 V9.0 / V8.x。

V9.1 没有破坏性 WebAPI 变更。 没有重命名或移除的操作、没有 Cookie 改名、没有 URL 约定变化、也没有新增必填请求头。本插件使用的经典 {baseUrl}/{stub path}.common.kdsvc + kdservice-sessionid 会话协议保持不变。

V9.1 在接口层真正发生的变化:

- Delete 现在返回正确的 FNumber —— 自 9.1.0.20250807 起 SuccessEntitys[].Number 可直接采信。
- 多文件附件(文件服务)字段可仅凭文件 ID 赋值。
- 服务端新增了 WebAPI 请求体日志。
- 在线文档补充了幂等性校验指引。
- WebAPI 限流增加了白名单。
- 报表 Stub / API 自定义接口做了安全加固。
- 外部用户访问控制被收紧。

由此带来的运维影响:

- 由于服务端会记录请求体,请尽可能优先使用 app(第三方)模式,而不是账号密码模式。
- 由于权限被收紧,缺少查询权限可能表现为空结果而不是报错 —— 请针对每个 FormId 先跑一次探针查询验证,而不要直接相信空结果集。
- 请把插件所在主机的出口 IP 加入 WebAPI 限流白名单。

证据诚实性说明。 登录服务所用的具名请求键(acctID / username / appid / appsecret / lcid)、Limit 行数上限(约 2000)以及 listDataCenterService 默认服务名,均为社区验证结论,并非金蝶官方发布的契约。每个账套的权威来源是产品本身:以管理员登录 → 公共设置 → 动态服务定义 → WebAPI,选择业务对象与操作,直接查看该操作的参数说明与示例调用。

架构

src/
├─ kd-core/ 无框架依赖的金蝶 WebAPI 客户端(纯逻辑) │ ├─ auth.ts user / app 两种认证 │ ├─ client.ts 业务操作集 + 会话管理 │ ├─ envelope.ts 信封解析与规范化 │ ├─ errors.ts 类型化错误映射 │ ├─ transport.ts 传输留缝(真实 HTTP 用 fetch) │ └─ mock.ts 离线 mock 传输 ├─ index.ts DSH host 插件:注册 kingdee_* 工具 + 导出 Config schema ├─ tools.ts 类型化工具包装(defineTool) ├─ config.ts 插件配置 schema + 凭据解析 └─ client/ └─ settings-card.ts 浏览器设置卡片(脚手架) skills/ └─ kingdee-bos/ 领域技能:字段/枚举/状态机约定 + 边界

kd-core 以 dsh-kingdee/kd-core 发布,不依赖 DSH,将来可被薄 MCP server 复用同一份逻辑。

构建与测试

无框架核心由 15 项单元测试验证,使用 Node 内置测试运行器(Node ≥ 22,TS 类型剥离)运行,核心无需 DSH 安装:

pnpm test # node --test "test//.test.ts"

DSH host/插件半区(src/index.ts、tools.ts、config.ts、client/)引用 @deepseek-ai/ peer 包,需在 DSH profile 内编译,那里这些 peer 才能解析。因此构建与 typecheck 使用 DSH 工具链:

pnpm install && pnpm run typecheck # 需 deepseek-harness 单仓(或 DSH profile)提供 peers

仓库全量使用 TypeScript,没有需要同步维护的 JavaScript 源码。双语文档闸门为 scripts/check-docs-language.ts,CI 在安装依赖之前用裸 Node 直接运行它(无需任何依赖):

node scripts/check-docs-language.ts

已知限制

- 尚未实现公有云 OpenAPI 网关。 越来越多的金蝶公有云账套要求走 OpenAPI 网关(https://api.kingdee.com/galaxyapi/)并使用 API 签名认证(LoginByApiSignHeaders)。本插件未实现该链路,只支持经典 kdsvc 会话协议。在这类账套上经典会话根本无法建立,因此所有操作都会在登录环节失败;必须使用仍然开放经典 WebAPI 的账套/网关。
- 平台插件层无法触达。 服务器端 C# 表单/列表插件、界面布局与后台事件属于 BOS 集成开发环境,无法经 WebAPI 访问(见上文的边界说明)。
- ./client 产物由本包自行复现。 共享的 clientBundle tsdown preset 位于 harness 仓库内部且未发布,因此本包自行输出文档化的 factory 格式。
- 未做真实账套联调。 本文档的所有内容均以类型检查、构建、单元测试套件与宿主自带的插件兼容性校验为依据,而非在运行中的金蝶账套上验证。

文档

- INSTALL.zh.md —— 安装与配置
- CONFIG.zh.md —— 配置参考:字段、认证模式、凭据与 SSRF 基线
- USAGE.zh.md —— 工具说明(含入参与示例)
- UPDATE.zh.md —— 升级
- UNINSTALL.zh.md —— 卸载
- CHANGELOG.zh.md —— 版本历史
- docs/RELEASE.zh.md —— 当前版本发行说明

许可证

本仓库采用专有许可证(保留所有权利),仅供阅读/评估。未经所有者书面许可,禁止在整体或部分上复制、复刻/fork、再托管、再发布、修改或制作衍生作品。详见 LICENSE。
预览分享卡片长什么样 ↓maxwell-feng/dsh-kingdee
分享 · DeepSeek Harness Hub
maxwell-feng/dsh-kingdee

让 agent 直接查询审核金蝶单据与基础资料

这是你的仓库?认领条目

回到顶部