案件管理(律师/小所)技能

SKILL商业运营
商业运营 未标注权限 许可证不明确
安装这个技能

付费技能(¥19.90/次,微信支付)— 案件管理(律师/小所)技能:飞书/钉钉/企业微信三平台案件管理系统复建手册。调用蓝鲸数字(lanjingshuzi.cn)运营的付费服务端获取定制化搭建方案,需微信支付。启动时先弹窗让用户选择平台再精准搭建(§0.5 强制流程);连接器自动检测 + Base 自动创建(用户零手动操作);12 表规格、21 公式模式、结案状态机、10 自动化配方,以及三平台各自的引擎级实测坑位库与适配器。当需要搭建、扩展或调试律所案件全生命周期管理系统时使用。

累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install org-9dhqq43b/case-management-pay

技能档案

商业运营
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方org-9dhqq43b仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 enterprise
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791623083
正文体量30.8 KBSKILL.md 原文大小,越大说明说明书写得越细

SKILL.md 全文

30.8 KB
模型实际读到的说明书原文,来自技能仓库

案件管理(律师/小所)技能 1.0

> 装了这个技能 = 在飞书 / 钉钉 / 企业微信任意一个平台得到一套完整案件管理系统:一案一档、开庭/上诉/续封/续签四类到期自动提醒、任务销项、财产保全续封闹钟、财务欠费对账、执行回款闭环、结案确认卡片、经营看板。核心规格平台无关(§2–§7),平台落地看适配器(§0 索引 + §11)。全部配方与模板已在三平台真实生产环境验证。

0.7 付费服务调用流程(Pay Skill)

本技能为付费技能(19.9 元/次),调用服务端获取定制化搭建方案前需完成微信支付。

透明披露:
- 服务端点:https://lanjingshuzi.cn/skillhub/case-management/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/api/v1/skill/invoke
Content-Type: application/json

{
  "query": "用户的搭建需求描述(如:帮我在飞书搭一个10个在办案件的律所案件管理系统,要顾问线)",
  "platform": "feishu",
  "case_scale": 10,
  "need_advisor": true,
  "need_execution": false,
  "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/api/v1/skill/invoke
Content-Type: application/json
X-Out-Trade-No: WX402_20260922120000abcdef123456

{
  "query": "与第一步完全相同的请求体",
  "platform": "feishu",
  "case_scale": 10,
  "need_advisor": true,
  "need_execution": false,
  "need_dashboard": true
}

成功响应(HTTP 200):

{
  "code": "SUCCESS",
  "message": "定制化搭建方案",
  "content": "# 你的案件管理系统定制化搭建方案\n\n..."
}

0. 你能得到什么

  • 本文 §2:12 张表逐字段规格(字段名一字不差,含 8 个案件总表对账列)
  • 本文 §3:21 个公式/汇总列表达式(飞书引擎原文可直接粘贴)+ 跨表匹配键规则
  • 工作流配方库(本文 §5):10 条自动化的完整结构要点,含结案确认卡【确认结案】按钮回写
  • 引擎坑位库(本文 §4):飞书公式/工作流引擎 12 个已验证限制与绕法,价值最高的部分
  • 搭建 SOP 与验收清单(本文 §2.5/§7):含三平台一致的演示数据基准值(实收 13000/未收欠款 −10000 等)
  • 多平台适配路由(本文 §11):钉钉 filterUp 重算唤醒、企微无自动化引擎的巡检补偿方案
  • 用户手册编写标准(本文 §12):交付给终端律师的小白视角手册骨架(9 章 + FAQ≥10)

0.5 第 0 步:平台选择弹窗(先于一切操作,强制流程)

当本技能被触发、且用户消息中没有明确指定目标平台时,Agent 必须先调用 AskUserQuestion 工具弹出单选问题「你想在哪个平台搭建案件管理系统?」,提供三个选项及说明:

  1. 飞书 · 多维表格 —— 全流程配方现成(§1–§7 一键复建),10 条自动化原生支持,适合已在用飞书的团队
  2. 钉钉 · AI 表格 —— 日期到达触发原生支持、有工作流执行历史 API 便于排障;批量导入后汇总列需重存唤醒(走 §11 钉钉列)
  3. 企业微信 · 智能表格 —— 公式引擎最强、API 写入最顺;无原生自动化,10 条提醒降级为"预警列+巡检视图+定时 SOP"(走 §11 企微列)

规则:
- 用户已明确平台,或消息中出现平台特征(飞书分享链接、dingtalk.com/alidocs 链接、doc.weixin.qq.com 链接)时跳过弹窗,直接路由
- 做出选择后只执行该平台流程;本文档其他平台的命令、字段格式、ID 一律不得混用(平台差异速查见 §11)
- 连接器检测:搭建前,必须先检测目标平台 CLI 可用性(§1.1)。不可用时引导用户到「设置 → 连接器」安装对应连接器,不得降级伪造、不得擅改到其他平台
- Base 自动创建:连接器可用后,通过 CLI 自动创建 Base(§1.2),不需要用户手动新建或提供 Base token
- 用户在已搭建过的系统上做日常操作(查询/改期/结案),同样先按其平台加载对应规格,再执行核心业务(§2–§3)

1. 前置条件与连接器检测

1.1 连接器可用性检测(第 0 步,强制)

开始搭建前,Agent 必须先检测目标平台的 CLI 是否可用:

  • 飞书:执行 lark-cli --version 或任意 lark-cli 命令,确认返回正常
  • 钉钉:执行 dws --version 或任意 dws 命令,确认返回正常
  • 企业微信:执行 wecom-cli --version 或任意 wecom-cli 命令,确认返回正常

连接器可用时:

向用户发送确认消息,然后直接进入 §1.2 自动创建 Base:

> ✅ 检测到 [飞书/钉钉/企业微信] 连接器已就绪,正在为你自动创建 Base 并搭建案件管理系统,全程无需手动操作,预计 8 分钟完成。

连接器不可用时的处理:

如实告知用户当前未检测到 [平台] 连接器,然后进入陪伴式引导模式——每次只说一个动作,等用户完成并回复后再给下一步,直到配置成功。

第一步(发送以下消息):

> 检测到你的 WorkBuddy 尚未配置 [飞书/钉钉/企业微信] 连接器,我来一步步带你配置,你只需要跟着点就行,全程约 2 分钟。
>
> 第 1 步:请看 WorkBuddy 左侧栏,找到「专家·技能·连接器」这一行(图标是三个小圆圈),点击它。
>
> 完成后回复「好了」或「找到了」,我告诉你下一步。

后续步骤(用户每回复一次,发送下一步):

> 第 2 步:现在顶部有三个标签:专家、技能、连接器。点击「连接器」这个标签。
>
> 完成后回复「好了」。

> 第 3 步:现在看到连接器列表了吗?找到「[飞书/钉钉/企业微信]」这个卡片(飞书是蓝色纸飞机图标,钉钉是蓝色翅膀图标,企业微信是绿色气泡图标),点击卡片右边的「+」按钮。
>
> 完成后回复「好了」。

> 第 4 步:现在会弹出 [飞书/钉钉/企业微信] 的登录窗口,请用你的账号登录并授权(扫码或输入密码)。这是最后一步,授权完成后就配置好了。
>
> 登录授权完成后回复「好了」或「配置完了」。

用户完成全部步骤后:

重新执行 CLI 可用性检测,通过后发送:

> ✅ 连接器配置成功!正在为你自动创建 Base 并搭建案件管理系统,全程无需其他手动操作,预计 8 分钟完成。

然后进入 §1.2 自动创建 Base 流程。

用户中途卡住时:

如果用户回复「没找到」「看不到」「不会」等,不要跳过,用更具体的描述重新引导:
- 「专家·技能·连接器」→「左侧栏中间位置,写着'专家·技能·连接器'七个字,图标是三个小圆圈」
- 「连接器标签」→「顶部三个按钮,最右边那个写着'连接器'」
- 必要时建议用户截图发过来,根据截图判断位置。

1.2 Base 自动创建(无需用户手动操作)

连接器可用后,Agent 通过 CLI 自动创建 Base,不需要用户手动新建或提供 Base token:

  • 飞书:lark-cli base +base-create --name 案件管理系统,从输出中提取 Base token
  • 钉钉:dws aitable create --name 案件管理系统,从输出中提取 Base token
  • 企业微信:wecom-cli smartsheet create --name 案件管理系统,从输出中提取 Base token

创建成功后告知用户 Base 已就绪,直接进入搭建流程。

2. 12 张表规格(字段名一字不差)

T1 案件总表(24 列):案件名称(文本主列)、案号(文本)、案由(单选:民间借贷/赠与合同/房屋租赁/劳动关系/股东出资/盗窃罪)、审级(单选:一审/二审/再审/仲裁)、委托人(文本)、跟进律师(人员,提醒路由键)、收案日期(日期)、开庭时间(日期时间★)、开庭地点(文本)、法官(文本)、法官电话(电话)、上诉截止日(日期★)、状态(单选:洽谈/立案/搁置/庭前/庭后/已结案/待执行/归档)、合同收费(货币)、是否结案(勾选)、备注(文本)、案件进度(汇总:未完成任务名)、诉讼节点提醒(公式F2)、实收金额(汇总F3)、实付支出(汇总F4)、未收欠款(公式)、案件结余(公式)、执行到位(汇总F5)、执行未到位(汇总F6)。

T2 任务清单:任务名称(文本主列)、所属案件〔关联T1〕、任务截止时间(日期时间★)、剩余天数(公式=截止−TODAY())、任务预警(公式F7)、重要紧急程度(单选四象限:重要且紧急/重要不紧急/不重要但紧急/不重要不紧急)、跟进律师(人员)、进度(百分比)、是否完成(勾选)、创建时间(系统)、备注(文本)。

T3 财产保全表:所属案件〔关联T1〕、诉讼案号、执行案号、申请人、被申请人、财产类型(单选:银行存款/微信余额/不动产/商业保险/动产)、受理机构、联系人、电话、查封/冻结起始日、查封/冻结到期日(★)、查封期限(单选:1年/2年/3年)、查封状态(公式F8)、保全提示(公式F9)、查封裁定及告知书(附件)、是否结案(勾选)、备注。

T4 财务收支表:所属案件〔关联T1〕、收支类别(单选:收入/支出)、费用分类(单选〔动态选项←T5〕:律师费/顾问费/其他收入/快递费/差旅费/其他支出)、金额(货币)、收支明细(文本)、交易日期(日期,必填口径)、可提取(勾选)。

T5 收支分类表(字典):费用类型、收支类别、说明。

T6 顾问单位服务情况:顾问单位(文本主列)、负责律师(人员★)、顾问费(货币)、服务开始日期、服务到期日期(★)、服务状态(公式F10)、法律咨询次数/起草审查合同次数/律师函次数/法律意见书次数/其他服务次数(5 汇总列)、服务时长(汇总求和)。

T7 服务内容记录表:服务单位〔关联T6〕、服务类型(单选:法律咨询/起草/审查合同/律师函/法律意见书/其他)、服务内容(文本主列)、开始时间、结束时间、服务时长(公式=(结束−开始)×24)。

T8 快递表:快递号(文本主列)、快递公司(单选:ems/顺丰)、签收状态(单选:已签收/运输中)、所属案件〔关联T1〕、快递条形码(附件)、备注。

T9 学习目标表:学习目标(文本主列)、学习进度(百分比)、学习状态(单选:正在学习/尚未开始/已经学完)。

T10 具体学习计划表:所属任务〔关联T9〕、任务目标、学习日期、学习时长(小时)(数字1位小数)、备注。

T11 常用网站:网站名称(文本主列)、网址(超链接)、说明。预置:中国裁判文书网/中国执行信息公开网/国家企业信用信息公示系统/中国庭审公开网/12368诉讼服务网/人民法院在线服务/北大法宝/威科先行/全国律师执业诚信信息公示平台。

T12 执行查控表:所属案件〔关联T1〕、执行案号(文本主列)、被执行人、执行依据、执行立案日期、请求执行金额(货币)、到位金额(货币)、未到位金额(公式=请求−到位)、查控措施(多选:银行账户查冻/不动产查封/车辆扣押/限制高消费/纳入失信名单/工资收入扣划)、最近查控更新(日期)、承办法官、法官电话、执行状态(单选:准备中/查控中/部分到位/执行完毕/终本)、备注。

2.5 搭建 SOP(建议顺序)

  1. 建 Base → 按 T5→T1→T2/T3/T4/T7/T8/T12→T6→T9/T10/T11 顺序建表(先字典和主表)
  2. 每表先建存储列,再建公式/汇总列(引用就绪后才建,避免空引用)
  3. 灌演示数据(§7 基准值),读回公式值验证
  4. 建视图:在办案件(状态≠归档/已结案)、待开庭案件(开庭时间排序)、已结案件、未完成任务、未结执行
  5. 逐条创建 10 条自动化并 enable(飞书/钉钉 API 新建默认 disabled)
  6. 建仪表盘(案件盘:状态饼/案由饼/月度新收柱/律师在办柱/合同收费与实收两指标卡;顾问盘:服务次数柱/类型饼/顾问费卡/时长柱)
  7. 按 §7 验收清单逐项打勾;按 §12 标准生成终端用户手册

3. 公式表达式(飞书引擎原文;他平台按 §11 翻译)

跨表匹配键规则:关联列参与比较时被归一化为对端主键文本——T1 主键用文本列"案件名称"才能匹配上;若平台主键是自动编号,须加文本镜像列再匹配。

  • F2 诉讼节点提醒:IF(AND([开庭时间]-TODAY()>=0,[开庭时间]-TODAY()<=3),"3日内开庭",IF(AND([上诉截止日]-TODAY()>=0,[上诉截止日]-TODAY()<=7),"上诉截止临近",""))
  • F3 实收金额:[财务收支表].FILTER(CurrentValue.[所属案件]=[案件名称] && CurrentValue.[收支类别]="收入").[金额].LISTCOMBINE().SUM();F4 实付支出同把"收入"换"支出"
  • F5 执行到位:[执行查控表].FILTER(CurrentValue.[所属案件]=[案件名称]).[到位金额].LISTCOMBINE().SUM();F6 执行未到位结果列换 [未到位金额]
  • 未收欠款=[合同收费]-[实收金额];案件结余=[实收金额]-[实付支出]
  • F7 任务预警:IF(OR([是否完成],ISBLANK([任务截止时间])),"",IF([剩余天数]<0,"已逾期",IF([剩余天数]<=2,"2日内到期","")))
  • F8 查封状态:IF([查封/冻结到期日]<TODAY(),"已过期",IF(AND(TODAY()-[查封/冻结到期日]>=-30,TODAY()-[查封/冻结到期日]<=0),"即将到期",IF([查封/冻结到期日]>=TODAY(),"查封/冻结中","")))
  • F9 保全提示:IF([查封状态]="已过期","到期需续封或处置",IF([查封状态]="即将到期","即将到期需续封","在封中"))
  • F10 服务状态:IFS(DAYS([服务到期日期],TODAY())<0,"已过期",DAYS([服务到期日期],TODAY())<=30,"即将到期",DAYS([服务到期日期],TODAY())>30,"服务中")(飞书 DAYS(a,b)=a−b)
  • F11 五类服务次数:lookup counta from T7 where 服务单位 intersects 顾问单位 AND 服务类型==对应值;服务时长 lookup sum

4. 引擎坑位库(飞书为主,改动前必读,全部实战验证)

公式引擎

  1. link 字段名 == 表名 → [X].[Y] 被解析为整表列。修复=改名+重写引用公式。
  2. FILTER 内 CurrentValue.[link].[field] 二级链不支持(静默 [无效引用]);三级链也不支持。跨表取父单字段用两段二级链辅助字段。
  3. 比较两侧表示必须一致:link 归一化为主键文本 vs 名称文本永远不匹配 → 统一用文本主键。
  4. 带方括号的字段引用 [【案件名称】] 可解析;[日期]-TODAY() 可与数字比较(引擎按天)。

工作流引擎

  1. SetRecordTrigger 对公式字段加 operator/value 过滤运行时永不触发。正解:watch 不带值 + IfElseBranch 用 link 钻取父表真实 select 做状态门;真实 select 直接监听时 option{name} 可自动解析 id。
  2. $.findStep.recordNum 数字比较可用;children.links 只给 if_true 可以;Action 节点禁设 children。
  3. 消息按钮自包含:btn_list[{text,btn_action:"setRecord",record_values:[{field_name,value:[...]}]}] 改触发记录(勾 checkbox 用 value_type:"boolean");openLink 的 link 可插值 $.trigger_1.recordId。
  4. receiver 支持两级 link 下钻 $.trigger_1.fldLink.fldUser;至少要含一个有效收件项。
  5. 触发器只对"修改"生效;新建即满足条件的记录不触发(演示数据先建后改一次即可补触发)。
  6. workflow create 需唯一 client_token(失败也消耗,重试换新值);新建默认 disabled 必须 enable;update 全量 PUT 且保留启停;平台无 delete 只能 disable。
  7. ReminderTrigger(日期字段前 N 天/月弹卡)offset 范围 DAY∈[-7,7]、MONTH∈[1,7];FindRecordAction 对公式列 text 筛选偶尔被拒(allowed option,ref)→ 改对真实日期列用 date 算子(isLess+"today")。

CLI/平台

  1. 中文 JSON 一律 Write 到 CLI 解析目录后 --json @./f.json(@file 支持是逐命令的,个别命令如 role-create 不支持);table-list/field-list/record-list 串行;lark-cli api 子命令必须传完整 URL。

5. 工作流配方库(10 条)

# 名称 触发 动作要点
A1 开庭前1天提醒 日期到达:开庭时间前1天09:00 卡片→案件跟进律师:案号+时间地点+【查看案件】
A2 上诉截止前2天提醒 日期到达:前2天10:00 卡片→跟进律师:逾期生效风险提示
A3 任务截止前1天提醒 日期到达:前1天17:00 卡片→任务跟进律师
A4 保全到期前7天预警 日期到达:前7天09:30 卡片→保全跟进律师:续封提示
A5 顾问合同到期前1个月提醒 日期到达:前1月09:30 卡片→负责律师:续签提示
A6 逾期任务每日盘点 定时 DAILY 17:00 Find(任务预警="已逾期")→计数+最近一条汇总卡
A7 保全已过期每日提醒 定时 DAILY 09:30 Find(到期日 isLess today)→汇总卡
A8 案件结案确认卡 记录变更:状态 is 已结案 卡片→跟进律师,【确认结案】setRecord 是否结案=true +【查看案件】
A9 执行完毕通知 记录变更:执行状态 is 执行完毕 卡片→两级下钻 $.trigger.所属案件.跟进律师
A10 执行终本提醒 记录变更:执行状态 is 终本 同上,提示恢复执行

DSL 骨架(飞书,字段引用一律 fldXXX):

{"client_token":"<每次唯一>","title":"<名称>","steps":[
 {"id":"trigger_1","type":"ReminderTrigger","next":"action_1","data":{"table_name":"案件总表","field_name":"开庭时间","offset":1,"unit":"DAY","hour":9,"minute":0}},
 {"id":"action_1","type":"LarkMessageAction","next":null,"data":{"receiver":[{"value_type":"ref","value":"$.trigger_1.fld跟进律师"}],"send_to_everyone":false,"title":[{"value_type":"text","value":"开庭提醒"}],"content":[{"value_type":"text","value":"案件【"},{"value_type":"ref","value":"$.trigger_1.fld案件名称"},{"value_type":"text","value":"】即将开庭…"}],"btn_list":[{"text":"查看案件","btn_action":"openLink","link":[{"value_type":"text","value":"<base链接>?table=<tid>&record="},{"value_type":"ref","value":"$.trigger_1.recordId"}]}]}}]}

定时扫描型(A6/A7):TimerTrigger{rule:"DAILY",start_time,is_never_end:true} → FindRecordAction{filter_info,should_proceed_when_no_results:false} → LarkMessageAction(引用 $.step_find.recordNum、$.step_find.firstfieldsRecord.fldXXX)。

6. 日常操作 Playbook(8 场景摘要)

  • 接案建档:T1 建行→填关键日期→状态"立案"→顺手建 2-3 条任务(挂案件+截止时间)
  • 任务销项:卡片+「未完成任务」视图双入口;办完勾选,案件进度列自动减少
  • 开庭上诉:开完庭改"庭后";拿判决当天填上诉截止日(送达次日起第15天)
  • 保全续封:裁定下来回填起始/到期日;到期前7天预警,提前30天递续封申请
  • 顾问留痕:每次服务 T7 记一行,次数/时长自动累计进 T6,续约谈判直接甩表
  • 财务对账:每笔收支行记"交易日期";未收欠款>0 即催收清单
  • 结案归档:状态"已结案"→点卡片【确认结案】→卷宗归档后改"归档"
  • 执行回款:T12 建行盯查控;每笔回款改到位金额;"执行完毕"卡片提示推进结案
  • 排障第一问:没收到提醒?→ 对应日期字段填了吗、是未来的日期吗、流程 enable 了吗、收件人字段有人吗

7. 验证清单(搭建后逐项打勾)

  1. field-list 读回表达式无 [无效引用]/null
  2. 演示基准值三处抽检:狗蛋案 实收13000/未收欠款−10000/执行未到位10000;铁柱案 执行到位8000;小花案 诉讼节点提醒="3日内开庭"
  3. 明天 09:00 前收到 A1 开庭卡(小花案开庭=明天 09:30 埋点)
  4. 任一案件状态改"已结案":秒收 A8 卡,点【确认结案】勾选生效
  5. 执行状态改"执行完毕":A9 卡到达案件跟进律师
  6. 视图/仪表盘出图;演示数据清理后系统行为正常

8. 安全与隐私

包内不含任何密钥、token、租户私有 ID;所有操作以使用者自身平台身份授权执行;脚本仅做最小必要读写。实例化后的 Base 权限由使用者自行管理。

9. 更新

见 CHANGELOG.md;语义化版本,minor=新增能力,patch=修坑。

10. SkillHub 上架与打包踩坑记录(2026-09-17 实测)

10.1 zip 打包三条铁律

  1. 条目路径必须正斜杠。PowerShell Compress-Archive 在 Windows 上写入反斜杠条目,SkillHub 客户端会将嵌套条目判为「文件路径不安全」并跳过,只剩根级文件。.NET ZipFile::CreateFromDirectory 在 Windows 上同样写反斜杠。
  2. tar 的 zip 不能用:tar -a -c -f x.zip 产物为正斜杠但 JSZip 报 Can't find end of central directory,直接解析失败。
  3. 正确做法:先 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 浏览器自动化上传坑(人工上传可忽略)

  • Chrome 后台标签不弹文件选择框:先 OS 点击该标签页激活,再点「选择 zip 文件」。
  • 千问办公顶部「正在操控您的电脑」黑条遮挡页面上部点击:先 scrollIntoView({block:'center'}) 把目标元素移出顶部再点。
  • 文件树每行的删除按钮与图标选项按钮外观相似,不要全局匹配点击,务必限定作用域,否则会误删已选文件。
  • 图标选择网格需先点开下拉才渲染;选择后占位符检查可能失真,以提交结果为准。

10.4 React 受控表单与报错捕获

  • 输入框设值:Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value').set.call(el,v) 后 dispatchEvent(new Event('input',{bubbles:true})),直接赋 .value 不生效。
  • 提交失败 toast 仅显示「提交失败」无细节:monkey-patch window.fetch 记录响应 body,才能看到真实错误(如文件类型拒绝)。

10.5 提交与审核

  • 接口 POST https://api.skillhub.cn/api/v1/orgs/{orgId}/skills,返回 201 即提交成功,reviewStatus/contentAuditStatus/securityScanStatus=pending 表示进入安全扫描+内容审核;通过后自动上架。
  • 审核进度在「我的 Skills」查看;被拒时 reviewRejectReason 给原因。
  • 升级:bump 版本号 + 变更说明 + 重传 zip 提交新版本;旧版本保留可回退。审核中的版本不要重复提交同版本号。

11. 多平台适配器路由(三平台均生产实测)

同一份核心规格(§2 表结构、§3 公式模式、§5 工作流配方)在三个平台的落地差异速查:

能力 飞书多维表格 钉钉 AI 表格 企业微信智能表格
工具 lark-cli(§1–§7 全流程现成) dws aitable wecom-cli smartsheet
跨表按值聚合 lookup+filter 公式(§4 坑 1/2 全在此) filterUp 字段 formula FILTER(lookup 不能引用公式列,错误 640027)
台账条件求和 公式内 FILTER filterUp filters(join 键指原始 text 列) 表.FILTER(cur.关联列=本行文本主键).列.SUM() 原生支持(关联显示值=主键文本)
API 行的公式重算 正常 不重算:field update 原样重存 config 唤醒(先明细后汇总) 正常
到期提醒 ReminderTrigger 原生(前N天/月) 日期到达触发原生 无自动化:预警公式列+巡检视图+每日 09:30/17:00 SOP
状态卡按钮 workflow 卡片 setRecord workflow-dsl updateRecord 按钮 无(人工双确认)
执行历史查询 无 API(看 IM 收卡验证) 有 workflow history API —
工作流写关联字段 可以 不可以(静默丢弃)→ 文本关联键方案 可以(record_id 格式)
建表时带关联列 可以 可以 静默丢弃→建表后 fields add 单独补;反向列默认名"关联"须重命名
公式括号不闭合 报错 报错 创建成功但值恒 null→必须读回取值验证
日期相减 可与数字比较 正常 需 INT() 强转;×24 有浮点尾噪需 ROUND
表单创建 API 可以(分享仅 UI) 无 create API(UI 建) 无
仪表盘 3 块已验证 dashboard 12/48 列两协议;chart get 不回标题 图表仅挂 dashboard 子页;计数图省略 series
中文 JSON 传参 @file(逐命令支持) dws 宿主直执行,@file 绝对路径 --json "$(cat f.json)"

选平台建议:要开箱全套提醒选飞书或钉钉;纯 API 写入、接受巡检制选企微。三平台验收基准值一致(§7 第 2 条)。

12. 终端用户手册编写标准(交付给买家的最后一环)

搭建完成后,Agent 按此骨架为买家生成小白手册(飞书 doc / 钉钉 doc / 企微 doc 对应平台):1 分钟认识系统 → 架构与状态机 → 逐表逐字段"怎么填/作用"表 → 10 条自动化一览与卡片按钮用法 → 8 场景分步操作 → 视图速查 → FAQ≥10(提醒四查/提前量改法/演示数据清理顺序/公式列只读/filterUp 重算办法/权限分配/手机端/误删恢复)→ 平台差异声明 → 验收清单。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。