下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-9dhqq43b--it-workorder-management.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-9dhqq43b/it-workorder-management。- 付费技能(¥9.90/次,微信支付)— 案件管理系统技能:飞书/钉钉/企业微信三平台「案件(事务/法务/客服工单式)管理系统」复建手册。调用蓝鲸数字(lanjingshuzi.cn)运营的付费服务端获取定制化案件管理系统搭建方案,需通过微信支付完成付款。启动时先弹窗让用户选择平台再精准搭建(§0.5 强制流程)
- 连接器自动检测 + Base 自动创建(用户零手动操作)
- 案件主表/办理过程/文书/费用/时效多表规格、公式模式、办理审批状态机、自动化配方,以及三平台各自的引擎级实测坑位库与适配器。当需要搭建、扩展或调试案件(工单/事务)管理系统时使用。
阅读全文 (展开查看完整说明)
概述
案件管理系统技能 1.0
装了这个技能 = 在飞书 / 钉钉 / 企业微信任意一个平台得到一套完整的案件(事务/工单式)管理系统:案件登记受理、承办分派、办理审批闸门、时效与超期预警、临期/超期提醒卡片、结案归档、经营看板。核心规格平台无关(§2–§7),平台落地看适配器(§0 索引 + §11)。全部脚本、配方与模板随包附带,已在三平台真实生产环境验证。
0. 你能得到什么
scripts/BUILD_CASE.md:一键复建案件管理系统全部子表(案件类型 / 案件主表 / 办理过程记录 / 文书附件 / 费用收费 / 当事人客户 / 承办团队 / 每日时效快照)与仪表盘图表- 工作流配方库(本文 §5):审批/分派/临期/超期/归档等自动化的完整 JSON 结构要点,含办理人卡片【已接收/转派/结案】、审批卡片【通过/驳回/查看详情】按钮
- 引擎坑位库(本文 §4):飞书 / 钉钉 / 企业微信公式与工作流引擎的已验证限制与绕法,价值最高的部分
assets/:架构图与业务流程图样例(注意:二进制图片被 SkillHub 客户端禁止上传,仅本地安装包包含;SkillHub 包内以本文 mermaid/文字描述为准)adapters/dingtalk/:钉钉 AI 表格适配器(README + 审批卡片 DSL 模板 + 文本 join 键方案)——目标平台是钉钉时读这里adapters/wecom/:企业微信智能表格适配器(README + 审批轮询 cron 模板)——企微无自动化引擎,闭环靠定时任务补偿
0.5 第 0 步:平台选择弹窗(先于一切操作,强制流程)
当本技能被触发、且用户消息中没有明确指定目标平台时,Agent 必须先调用 AskUserQuestion 工具弹出单选问题「你想在哪个平台搭建案件管理系统?」,提供三个选项及说明:
- 飞书 · 多维表格 —— 全流程脚本现成(§1–§7 +
scripts/BUILD_CASE.md一键复建),适合已在用飞书的团队 - 钉钉 · AI 表格 —— 自带审批自动化:接收/结案卡片按钮、审批通过/驳回、临期与超期工作流(走
adapters/dingtalk/) - 企业微信 · 智能表格 —— 公式引擎最强、API 写入最顺;无原生自动化,审批/提醒用定时任务补偿(走
adapters/wecom/)
规则:
- 用户已明确平台,或消息中出现平台特征(飞书分享链接、dingtalk.com/alidocs 链接、doc.weixin.qq.com 链接)时跳过弹窗,直接路由
- 做出选择后只执行该平台流程;本文档其他平台的命令、字段格式、ID 一律不得混用(平台差异速查见 §11)
- 连接器检测:获取付费方案后、搭建前,必须先检测目标平台 CLI 可用性(§1.1)。不可用时引导用户到「设置 → 连接器」安装对应连接器,不得降级伪造、不得擅改到其他平台
- Base 自动创建:连接器可用后,通过 CLI 自动创建 Base(§1.2),不需要用户手动新建或提供 Base token
- 用户在已搭建过的系统上做日常操作(查询/审批/改数),同样先按其平台加载对应适配器文档,再执行核心业务规格(§2–§3)
0.7 付费服务调用流程(Pay Skill)
本技能为付费技能(19.9 元/次),调用服务端获取定制化案件管理系统搭建方案前需完成微信支付。
透明披露:
- 服务端点:
https://lanjingshuzi.cn/skillhub/case-management-system/api/v1/skill/invoke - 端点运营主体:蓝鲸数字(lanjingshuzi.cn)
- 数据处理范围:请求体仅包含用户的搭建需求描述(平台类型、案件分类、是否需要审批等),不含用户个人隐私数据
- 付费方式:微信支付(WeChat Pay)
- 在发起支付前,必须向用户明确告知本次调用将产生 ¥19.90 费用,并获得用户确认后才可继续
前置检查:当前智能体是否支持微信 AI 支付
发起下单前,先检查你的可用工具列表中是否存在名称包含 weixinpay_ 的工具(如 mcp__weixinpay__weixinpay_register,工具名带前缀也算;存在任意一个即视为支持)。
只以你的工具列表为证据,本文档中提到的工具名不算;无法确认时按「不支持」处理。
- 支持:向用户透明告知本技能为付费技能(¥19.90/次,微信支付),端点由蓝鲸数字(lanjingshuzi.cn)运营,继续本 Skill 的后续流程。
- 不支持:终止流程且不要发起下单。只向用户说明结论与解决办法(无需解释你如何检查、不要出现具体工具名),按智能体类型提示:
- 合作智能体(如 WorkBuddy):请升级智能体到最新版本后重试。
- 开放智能体(如 OpenClaw / DeepSeek Harness):请根据 https://skillhub.cn/install/skillhub.md ,安装 @tencent-adm/weixinpay-installer。
- 无法判断类型:请升级智能体或安装微信支付 AI 支付插件后重试。
工作流程
第一步:请求资源
POST https://lanjingshuzi.cn/skillhub/case-management-system/api/v1/skill/invoke
Content-Type: application/json
{
"query": "用户的查询内容(如:帮我搭建一个法务案件管理系统,需要立案审批)",
"platform": "feishu | dingtalk | wecom",
"case_categories": 4,
"need_approval": true,
"need_dashboard": true
}第二步:处理 402 响应
服务端返回 HTTP 402,提取以下两个值并必须保存:
- Header
WeixinPay-Required:支付码(payment_code) - Header
X-Out-Trade-No:订单号(out_trade_no)
响应体示例:
{
"code": "PAYMENT_REQUIRED",
"message": "需要支付后才能获取案件管理系统定制化搭建方案",
"WeixinPay": {
"WeixinPay-Required": "xY9zAbc123def456",
"prompt": "本次使用微信支付,请将 WeixinPay-Required 的值作为 paymentCode 交给 weixinpay_pay,以向用户申请支付授权。"
},
"out_trade_no": "WX402_20260922120000abcdef123456",
"amount": "19.90",
"currency": "CNY"
}第三步:发起支付(必须获得用户确认)
在调用支付前,必须向用户明确展示以下信息并获得确认:
- 本次使用将产生 ¥19.90 费用
- 支付通过微信支付完成
- 服务端点由蓝鲸数字(lanjingshuzi.cn)运营
用户确认后方可将 WeixinPay-Required 的值作为 paymentCode,调用 weixinpay_pay 工具向用户发起微信支付授权。等待用户完成支付。
第四步:支付成功后获取资源(️ 必须执行)
POST https://lanjingshuzi.cn/skillhub/case-management-system/api/v1/skill/invoke
Content-Type: application/json
X-Out-Trade-No: WX402_20260922120000abcdef123456
{
"query": "与第一步完全相同的请求体",
"platform": "feishu",
"case_categories": 4,
"need_approval": true,
"need_dashboard": true
}⚠️ 第四步是最容易被 Agent 遗漏的一步:不携带 X-Out-Trade-No Header 重试,就永远拿不到付费内容。body 保持与第一次请求一致,仅通过 Header 传递订单号。
成功响应(HTTP 200):
{
"code": "SUCCESS",
"message": "案件管理系统定制化搭建方案",
"out_trade_no": "WX402_xxx",
"transaction_id": "4200001234202306300000000001",
"content": "# 案件管理系统定制化搭建方案nn..."
}content 字段即为完整的定制化案件管理系统搭建方案(Markdown 格式),包含表结构设计、时效公式配置、审批与提醒工作流、平台适配要点、搭建步骤和验证清单。
1. 前置条件与连接器检测
1.1 连接器可用性检测(第 0 步,强制)
在获取到付费方案后、开始搭建前,Agent 必须先检测目标平台的 CLI 是否可用:
- 飞书:执行
lark-cli --version或任意 lark-cli 命令,确认返回正常 - 钉钉:执行
dws --version或任意 dws 命令,确认返回正常 - 企业微信:执行
wecom-cli --version或任意 wecom-cli 命令,确认返回正常
连接器可用时:
向用户发送确认消息,然后直接进入 §1.2 自动创建 Base:
✅ 检测到 [飞书/钉钉/企业微信] 连接器已就绪,正在为你自动创建 Base 并搭建案件管理系统,全程无需手动操作,预计 5 分钟完成。
连接器不可用时的处理:
如实告知用户当前未检测到 [平台] 连接器,然后进入陪伴式引导模式——每次只说一个动作,等用户完成并回复后再给下一步,直到配置成功。
第一步(发送以下消息):
检测到你的 WorkBuddy 尚未配置 [飞书/钉钉/企业微信] 连接器,我来一步步带你配置,你只需要跟着点就行,全程约 2 分钟。
第 1 步:请看 WorkBuddy 左侧栏,找到「专家·技能·连接器」这一行(图标是三个小圆圈),点击它。
完成后回复「好了」或「找到了」,我告诉你下一步。
后续步骤(用户每回复一次,发送下一步):
第 2 步:现在顶部有三个标签:专家、技能、连接器。点击「连接器」这个标签。
完成后回复「好了」。
第 3 步:现在看到连接器列表了吗?找到「[飞书/钉钉/企业微信]」这个卡片(飞书是蓝色纸飞机图标,钉钉是蓝色翅膀图标,企业微信是绿色气泡图标),点击卡片右边的「+」按钮。
完成后回复「好了」。
第 4 步:现在会弹出 [飞书/钉钉/企业微信] 的登录窗口,请用你的账号登录并授权(扫码或输入密码)。这是最后一步,授权完成后就配置好了。
登录授权完成后回复「好了」或「配置完了」。
用户完成全部步骤后:
重新执行 CLI 可用性检测,通过后发送:
✅ 连接器配置成功!正在为你自动创建 Base 并搭建案件管理系统,全程无需其他手动操作,预计 5 分钟完成。
然后进入 §1.2 自动创建 Base 流程。
用户中途卡住时:
如果用户回复「没找到」「看不到」「不会」等,不要跳过,用更具体的描述重新引导:
- 「专家·技能·连接器」→「左侧栏中间位置,写着'专家·技能·连接器'七个字,图标是三个小圆圈」
- 「连接器标签」→「顶部三个按钮,最右边那个写着'连接器'」
- 必要时建议用户截图发过来,根据截图判断位置
1.2 Base 自动创建(无需用户手动操作)
连接器可用后,Agent 通过 CLI 自动创建 Base,不需要用户手动新建或提供 Base token:
- 飞书:
lark-cli base +base-create --name 案件管理系统,从输出中提取 Base token - 钉钉:
dws aitable +base-bootstrap --name 案件管理系统 ...(或先建 Base),从输出中提取 Base token - 企业微信:
wecom-cli smartsheet create --json '{"name":"案件管理系统", ...}',从输出中提取 Base 的docid
创建成功后告知用户 Base 已就绪,直接进入搭建流程。
2. 三步快速开始
- 按 §1.1 检测连接器 → 按 §1.2 自动创建 Base(用户零手动操作)
- 按
scripts/BUILD_CASE.md手册逐步执行 —— 约 5 分钟建完整套表结构与看板 - 按 §5 配方创建自动化并启用(提交通知/审批通过转分派/审批驳回归档/分派通知/办理人接收/结案通知 若干条);企微按 §11 用定时任务补偿
- 维护主数据:案件类型(办理时限、是否需审批、默认审批人)→ 承办团队 → 当事人/客户; thereafter 日常操作见 §6
3. 架构与核心逻辑
五层:主数据(案件类型/当事人/承办团队)→ 业务单据(案件登记 + 办理过程记录 + 文书/费用)→ 时效核心(案件状态=实时、办理时限/临期/超期=公式)→ 自动化 → 可视化。
案件时效公式:办理截止时间 = 立案(受理)日期 + 案件类型.办理时限(小时);是否超期 = 实际结案时间 与 截止时间 比较;SLA 达成/超期/进行中 由状态与时效自动判定。跨表取时限用 lookup/LOOKUP(见 §4、§11)。
办理状态机:待受理 → 待分配/待审批 → 已分配 → 办理中 → 待审核 → 已结案 → 已归档;另有 挂起、中止。审批入口与接收/结案入口 = 卡片按钮,见 §5。
分派驱动:案件登记选定「案件类型」后,办理时限、是否需要审批、默认审批人自动带出;主管分派承办人并把状态改「已分配」→ 承办人收到卡片,点「已接收」自动进入「办理中」。
留痕追溯:每一次受理/审批/分派/接收/进展/结案/归档自动写入「办理过程记录」,案件详情页看完整时间线(企微可用文本键回链,见 §11)。
4. 引擎坑位库(改动前必读,全部实战验证)
公式引擎(飞书)
- link 字段名 == 表名 →
[X].[Y]被解析为整表列(汇总列每行同值/引用列显示全表清单)。修复=改 link 名 + 重写引用公式。 - FILTER 内
CurrentValue.[link].[field]二级链不支持(静默变[无效引用]);三级链亦不支持。跨表取父单字段用两段二级链辅助字段(父单加类型名=[案件类型].[名称]、主状态=[关联案件].[状态];明细用[关联案件].[类型名])。 - 比较两侧表示必须一致:link 渲染为主键文本 vs 名称文本永远不匹配 → 辅助字段统一返回名称文本。
- 直接二级链
[link].[字段]可用;SUM([link].[数量])即按关联明细求和(主表汇总正确写法)。
公式引擎(钉钉 / 企业微信)
- 钉钉:跨表按值聚合用 filterUp / lookup(
associateField=本表 link 字段、valuesField=目标表字段),date 单元格写入必须毫秒时间戳;公式支持([日期]-[日期])*24求小时差。 - 企业微信:
[关联字段].[目标列]钻取报「公式错误」;跨表取值须用 LOOKUP(查找值, 匹配列, 返回列, 0),查找值可直接传双向关联字段;三层公式套公式(SLA→超时→时限)会报「内容被删除」,需压平为两层。
工作流引擎(飞书)
- SetRecordTrigger 对公式字段加 operator/value 过滤运行时永不触发;正确姿势:watch 真实 select 字段带 option,或 watch 不带值 + IfElseBranch 内 link 钻取父单真实 select 做状态门。
- 消息按钮自包含:
btn_list[{text, btn_action:"setRecord", record_values:[{field_name, value:[option{id}]}]}]改触发记录;datetime 用value:"now"自动打时间戳;openLink跳转 ref$.trigger_1.recordId。 - 选项 id 由服务端解析(可只写 option{name});触发器只对「修改」生效,新建即满足条件不触发;workflow create 需唯一 client_token、新建默认 disabled 须 enable、平台无 delete 只能 disable。
工作流引擎(钉钉 / 企业微信)
- 钉钉 workflow-dsl/v1:
updateRecord卡片按钮只能改触发记录的可写字段(select 用 {option}、number 裸值、date 只接受 {date:毫秒/ref} 无 NOW);IfElseBranch左值可引用本表 formula;AddRecordAction写双向关联须用$.<trig>.record且工作流写不进双向关联字段(静默丢弃)。 - 企业微信 CLI 无自动化工作流,闭环靠状态字段人工流转 + 客户端手动配置 / 定时轮询补偿(见 §11)。
5. 工作流配方库
5.1 案件提交 → 审批分流
AddRecordTrigger(案件主表) → 判断「是否需要审批」(飞书看父单真实 select / 本表 formula;钉钉/企微看关联案件类型的审批标记)→ 需审批:给默认审批人发【通过/驳回/查看详情】卡片;免审批:给服务台发【去分派】通知。
5.2 审批通过 → 转分派 / 审批驳回 → 归档
SetRecordTrigger 审批状态=已通过 → 状态置「待分配/待分派」并通知服务台;审批状态=已驳回 → 状态置「已归档」并带审批意见通知承办人。
5.3 分派 → 承办人接收 → 结案 → 归档
状态=已分配 → 给承办人发【我已接收】卡片(点一下状态转办理中,可自动打响应时间——飞书支持 now);状态=已结案 → 通知发起人推【满意/一般/不满意】评价卡片回填并转已归档。
5.4 时效临期 / 超期提醒
飞书/钉钉:ReminderTrigger 或每日 Timer 扫描 是否超期=是 → 通知承办人+主管;企微:每日定时轮询超期案件 → 机器人推送。
6. 日常操作 Playbook(摘要)
- 受理:案件登记(类型/标题/描述/当事人)→ 系统自动带时限、判断是否审批 → 需审批走审批卡片
- 分派:主管选承办人 + 状态改「已分配」→ 承办人收卡片
- 办理:承办人点「已接收」→ 填过程记录 → 完成时状态改「已结案」
- 归档/结案:系统提示发起方评价 → 回填满意度并转「已归档」
- 排障第一问:状态没流转/没通知?→ 先看该步是否真改了状态字段、审批标记配置是否到位(企微先确认是否已手动开启自动化)
7. 验证清单(改公式/工作流后)
- field-list 读回表达式无
[无效引用]/ 无「公式错误 / 内容被删除」 - 主表时效公式(截止时间、是否超期、SLA达成)与手算一致,且随状态自动变化
- 明细/过程记录的父单引用列每行单值
- 跨表带出的「办理时限/是否需审批/默认审批人」与实际案件类型一致
- 工作流改状态触发后 record-list / 卡片实收确认按钮渲染;企微确认定时任务已建
- 结案时间/满意度回填写入到位
8. 安全与隐私
包内不含任何密钥、token、租户私有 ID;所有操作以使用者自身平台身份授权执行;脚本仅做最小必要读写。实例化后的 Base 权限由使用者自行管理。付费请求体不含个人隐私数据。
9. 更新
见 CHANGELOG.md;语义化版本,minor=新增能力,patch=修坑。
10. SkillHub 上架与打包踩坑记录(2026-09-22 实测)
10.1 zip 打包三条铁律
- 条目路径必须正斜杠。PowerShell
Compress-Archive在 Windows 上写入反斜杠条目,SkillHub 客户端会将嵌套条目判为「文件路径不安全」并跳过,只剩根级文件。.NET ZipFile::CreateFromDirectory同样写反斜杠。 - tar 的 zip 不能用:
tar -a -c -f x.zip产物 JSZip 报Can't find end of central directory。 - 正确做法:先
Compress-Archive生成 JSZip 兼容包,再用 .NET 逐条目复制到新 zip 并把FullName.Replace('','/')作为条目名(见下例)。
Compress-Archive -Path <skilldir>* -DestinationPath tmp.zip -Force
$za=[IO.Compression.ZipFile]::OpenRead("tmp.zip"); $zo=[IO.Compression.ZipFile]::Open("out.zip",'Create')
foreach($e in $za.Entries){ $ne=$zo.CreateEntry($e.FullName.Replace('','/')); $s=$e.Open(); $d=$ne.Open(); $s.CopyTo($d); $d.Dispose(); $s.Dispose() }
$zo.Dispose(); $za.Dispose()10.2 文件类型白名单
- 服务器 400 拒绝无扩展名文件:
file type not allowed: LICENSE。许可证声明放 SKILL.md frontmatter 的license字段,不要带 LICENSE 裸文件。 - 客户端跳过二进制文件(jpg/png 等)。示意图改用文字/mermaid 描述放在 SKILL.md 内。
- 实测可过:
.md .json .jsonl .sh。
10.3 付费端点前置
- 上架前,服务端
/skillhub/case-management-system/api/v1/skill/invoke必须已在蓝鲸数字网关配置好(402/支付/发放 content 全链路可用),否则会卡在支付或内容审核。端点未配置不要先提交。
10.4 提交与审核
- 接口
POST https://api.skillhub.cn/api/v1/orgs/{orgId}/skills,返回 201 即提交成功,reviewStatus/contentAuditStatus/securityScanStatus=pending表示进入安全扫描+内容审核;通过后自动上架。 - 升级:bump 版本号 + 变更说明 + 重传 zip 提交新版本;审核中的版本不要重复提交同版本号。
11. 多平台适配器路由(三平台能力差异速查)
同一份核心规格(§2 表结构、§4 公式模式、§5 工作流配方)在三个平台的落地差异:
| 能力 | 飞书多维表格 | 钉钉 AI 表格 | 企业微信智能表格 |
|---|---|---|---|
| 工具 | lark-cli(§1–§7 全流程脚本现成) | dws aitable(adapters/dingtalk/) | wecom-cli smartsheet(adapters/wecom/) |
| 跨表带时限/审批人 | lookup+filter 公式(§4 坑 1/2) | lookup/filterUp(associateField=本表link,valuesField=目标列) | LOOKUP(关联字段, 名称, 目标列, 0) |
| 时效小时差 | 公式支持 (日期-日期) | (日期-日期)*24 支持 | (日期-日期)*24 支持;三层公式套公式会报错需压平 |
| 自动化/审批卡片 | workflow + 卡片按钮 + now 打时间戳(§5) | workflow-dsl/v1 + updateRecord 按钮(无 NOW) | 无自动化:客户端手动配 / cron 轮询补偿 |
| 工作流写关联字段 | 可以 | 不可以(静默丢弃)→ 文本键 join 方案 | 可以(record_id 格式) |
| 自动打时间戳 | 支持(now) | 不支持 NOW,状态自动流转、时间人工/定时补 | 不支持 |
| 日期写入 API | 字符串/时间戳 | 必须毫秒时间戳 | 字符串 "YYYY-MM-DD HH:mm:ss" |
| 对账 SQL | 无 | psql 只读 | records query –sql(反引号标识符) |
选平台建议:要开箱自动化 + 自动打时效戳选飞书;其次钉钉(自动化齐但时间戳需变通);要纯 API 写入与公式直观、能接受定时轮询补自动化选企业微信。每平台适配器的坑位清单与模板见对应 README。