Skip to content

Repository files navigation

DeepSeek Harness 企业微信插件

这是一个面向 DeepSeek Harness 的企业微信单平台插件,当前 MVP 只支持企业微信文本消息:Webhook 验签与解密、Harness Session 映射、Agent 对话和文本回复。

发布状态

当前版本 0.1.0 为发布草案,尚未创建 GitHub Release,也尚未发布到 npm。GitHub Actions 最新运行在安装依赖阶段失败,真实企业微信账号联调也尚未完成,因此当前不应标记为正式生产版本。

详细内容请参考 更新日志 和 发布检查清单。

版本基线与兼容性

当前首个验证基线是 DeepSeek Harness dsh 0.1.0-rc.8 与 Cordis 4.0.1。该组合是开发和发布前验证基线,不是对未来 Harness 版本的自动兼容承诺。

正式支持范围、Candidate 版本和升级步骤记录在 docs/compatibility.md。只有完成类型检查、测试、真实 Provider + Harness 组合测试、构建和 Loader 冒烟的组合才会标记为 Verified。

开发

pnpm install
pnpm typecheck
pnpm lint
pnpm test
pnpm test:coverage
pnpm audit:prod
pnpm build
pnpm test:harness

pnpm test:coverage 是覆盖率门禁:行、语句和函数覆盖率必须达到 90%,分支覆盖率必须达到 80%。

如果 pnpm 因构建脚本审批停止,请按 pnpm 提示审批依赖后重新运行;不要把本机绝对路径或凭据写入 package.json。

配置

企业微信 Secret、Token 和 EncodingAESKey 必须通过 Harness Credential Ref 提供。配置文件只写引用名,例如 WECHAT_WORK_SECRET,不写 Secret 值。

发布包声明了 DSH Bundle patch。安装后,dsh plugin 会自动把插件加入指定 profile;无需再传入源码目录中的绝对路径:

# 发布到 npm 后
dsh plugin --profile web add @ly028716/dsh-enterprise-im-plugin

# 发布前可从本地打包产物验证
pnpm build
pnpm pack --pack-destination .artifacts
dsh plugin --profile web add file:D:/absolute/path/ly028716-dsh-enterprise-im-plugin-0.1.0.tgz

重启 Web profile 后,插件会在 /webhooks/wechat-work 注册路由。随包的 cordis.patch.yml 使用非敏感占位配置;在 $DSH_HOME/profiles/web/cordis.patch.yml 中以相同的 id: enterprise-im 覆盖为实际企业 ID、应用 ID 和凭据引用。Patch 覆盖会替换整段 config,因此需写入完整配置。插件默认对出站消息最多重试 3 次,并自动淘汰 30 分钟无活动的进程内会话;可用 outbound* 与 session* 配置项调整。

cordis.example.yml 仅用于源码开发时的手工 overlay,不是独立的 Cordis 根配置。先构建插件,再从 Harness 工作区运行:

pnpm build
cd D:/IDEWorkplaces/GitHub/deepseek-harness
pnpm run build
pnpm dsh web --patch D:/IDEWorkplaces/DeepSeekHarness/dsh-enterprise-im-plugin/cordis.example.yml --no-open

企业微信后台的回调 URL 应指向 Harness WebServer 的 /webhooks/wechat-work 路径。GET 验证由插件返回解密后的 echostr;POST 文本消息先快速返回 success,再异步进入 Agent。

本地验证

单元和协议测试不访问真实企业微信:

node node_modules/vitest/vitest.mjs run tests/core tests/wechat tests/webhook.test.ts

真实组合验证需要使用本地 Harness checkout 和 mock LLM;先运行 pnpm build 生成 lib,再运行 pnpm test:harness。测试会通过真实 Loader 启动 WebServer,覆盖加密企业微信文本回调、GET 验证握手和无效签名拒绝,并将企业微信 API 替换为 HTTPS 地址语义下的本地 mock,不依赖 DEEPSEEK_API_KEY 或真实企业微信凭据。

MVP 边界

当前不支持图片、语音、文件、Markdown、企业微信主动推送、多租户管理后台、外部队列和 Redis/PostgreSQL 持久化。Harness Session 持久化负责会话历史,插件只维护进程内的同会话串行队列和消息幂等状态。

About

基于DeepSeek harness项目的企业微信应用插件

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages