司法解释库(查询 + 建库授权)(付费版)
你会得到什么(买家先读)
查一条:当场拿到条文全文 + 现行有效核验 + 官网链接;要全库:授权你在自己电脑上建 444 件本地库,含 AI 伪造件体检。
| 你给什么 | 你拿到什么 | 耗时 |
|---|---|---|
| 法释〔2020〕1号 | C:该次查询的条文全文 + 效力 + 官网链接;B:授权令牌 + 实时样例成品(5 件代表件全文)+ 建库映射表(不含语料本体) | 约 10 秒 |
样例(输入 → 输出)
- 输入:
法释〔2020〕1号 - 输出:该件标题 / 真实文号 / 发布日期 / 现行效力 / 官网原文链接 + 命中清单
适合谁:律师、法务、法学研究者、需要离线检索的专业人士
解决什么:网上搜到的「司法解释全文」大量是 AI 伪造件——文件名标称的文号与真实内容系统性张冠李戴,引到法庭上要出事。
商品卡
| # | 格 | 内容 |
|---|---|---|
| 1 | 商品名 | 司法解释库(查询 + 建库授权) |
| 2 | 一句话价值 | 查一条:当场拿到条文全文 + 现行有效核验 + 官网链接;要全库:授权你在自己电脑上建 444 件本地库,含 AI 伪造件体检。 |
| 3 | 买家画像 | 律师、法务、法学研究者、需要离线检索的专业人士 |
| 4 | 痛点 | 网上搜到的「司法解释全文」大量是 AI 伪造件——文件名标称的文号与真实内容系统性张冠李戴,引到法庭上要出事。 |
| 5 | 交付物 | C:该次查询的条文全文 + 效力 + 官网链接;B:授权令牌 + 实时样例成品(5 件代表件全文)+ 建库映射表(不含语料本体) |
| 6 | 交付模式 | B+C 混合 |
| 7 | 建议单价 | 单次 ¥1.00;建库买断 ¥29.90 |
| 8 | 样例对 | 输入「法释〔2020〕1号」→ 输出「该件标题 / 真实文号 / 发布日期 / 现行效力 / 官网原文链接 + 命中清单」 |
交付说明
本技能采用 B+C 混合 收费模式。
- 你能拿到什么:C:该次查询的条文全文 + 效力 + 官网链接;B:授权令牌 + 实时样例成品(5 件代表件全文)+ 建库映射表(不含语料本体)。
- 怎么拿到:买家 Agent 发起请求 → 未付费则收到 402 账单 → 用户扫码付款 → 携付款凭证重试同一请求 → 服务端验付通过后交付成果(详见下节)。
- 语料在哪:本包不含任何语料本体;需要全库时,服务端交付「授权 + 建库映射表」,由买家在自己电脑上从官网建成本地库。
付费说明(Pay Skill · 买家调用先读)
> 本技能的付费取用脚本(scripts/court-spj-library-paid.mjs)已按平台要求完成付费改造,五个要素齐备。
本技能已接入 SkillPay,通过支付宝 AI 按量付费(A2M / HTTP 402 协议)完成收款:
买家(消费者 Agent)按次付费后,服务端才交付资源。
| 项 | 值 |
|---|---|
| 计费方式 | 按次(per call) |
| 价格 | 单次 ¥1.00;建库买断 ¥29.90(服务端 402 账单金额、支付宝服务登记价、SkillHub 展示价三处必须一致) |
| 账单商品名 | 司法解释与检察规范文件查询(单次)(随请求上送,仅影响账单展示) |
| 卖家服务端资源地址 | https://gongwen-a2m.app.workbuddy.host/a2m/skill(公网 HTTPS,未付费返回 402;与支付宝 AI 付「服务管理」登记地址一致) |
| 支付渠道 | 支付宝 AI 按量付费(aipay.alipay.com) |
| 买家侧支付依赖包 | @alipay/agent-payment(提供命令行 alipay-bot) |
本技能卖的是什么:两高官网栏目抓取、建库、质检与增量更新的完整方法与 13 个脚本(含「AI 伪造件」三特征判定)。买家付费后按次取得服务端交付的该次调用结果;
本技能包内不含任何法规、司法解释或命理语料本体,买家侧无需预装语料库。
调用链路:probe → pay → complete
1. probe|请求资源,取回 402 账单
按用户诉求发起原始请求(司法解释名称、关键词或文号,如「法释〔2020〕1号」)。未付费时服务端返回 HTTP 402 Payment Required,
并在响应头 Payment-Needed 中携带账单(Base64URL 编码的账单 JSON,含 out_trade_no、amount、
currency、resource_id、pay_before、seller_signature、seller_sign_type=RSA2 等字段)。
脚本须原样保存响应头中的 Payment-Needed 以及本次原始请求的参数,供付款后复用。
不得因为 402 报错而中止,也不得改动原始请求参数。
node scripts/court-spj-library-paid.mjs probe --query '法释〔2020〕1号' --state-dir .state/<会话键>
2. pay|把账单交给官方支付能力,用户扫码授权付款
将完整的 402 账单交给支付宝官方支付能力(依赖包 @alipay/agent-payment,命令行 alipay-bot)
拉起收银台,展示服务用途、金额、支付入口,等待用户在支付宝内扫码/授权付款。
本技能不自行实现付款、不接触支付密钥、不做签名,一律复用官方支付能力。
node scripts/court-spj-library-paid.mjs pay --state-dir .state/<会话键> --session-id <会话键>
脚本内部调用的是官方买家命令(不自行拼接支付逻辑):
alipay-bot 402-buyer-pay \
--session-id <会话键> \
--file .state/<会话键>/payment-needed.txt \
--resource-url https://gongwen-a2m.app.workbuddy.host/a2m/skill \
--method GET \
--intent-summary '原始请求:查询司法解释 / 检察规范文件全文'
3. complete|用订单号查询原订单并取回资源
付款完成后,按同一订单号查询支付状态、继续同一原始请求参数取回资源;
服务端执行验付调用 alipay.aipay.agent.payment.verify,校验项包括:
凭证 active=true、amount 与本地订单一致、out_trade_no 一致、resource_id 一致,
且该 trade_no 未被重复履约。校验通过后服务端返回资源,
并回写 Payment-Validation: validated=true 响应头。
凭证无效或已过期时,服务端不交付资源并返回 402 重新出账。
node scripts/court-spj-library-paid.mjs complete --state-dir .state/<会话键> --out-shake-no <订单号>
脚本内部同样调用官方买家命令完成「查单 → 请求资源 → 履约回执」(成功路径不追加独立回执、不重新下单):
alipay-bot 402-query-payment-status \
--out-shake-no <订单号> \
--resource-url https://gongwen-a2m.app.workbuddy.host/a2m/skill \
--method GET
4. ack|商家履约确认(服务端侧)
服务端在返回资源后调用履约确认 alipay.aipay.agent.fulfillment.confirm(入参仅 trade_no),
确认成功才把订单置为已履约;确认失败可对同一订单重试(幂等),
不得因回执失败要求用户重新付款。
订单持久化与幂等
- 订单以
out_trade_no为唯一键持久化(服务端 SQLite 事务 + 唯一约束),记录金额、状态、履约结果与时间。 - 同一订单重复请求不重复扣费、不重复交付;付款中断后按原订单恢复,不重新下单。
- 本技能侧状态目录
.state/只保存订单号与原始请求参数,不含任何密钥与支付凭证,用后可清;
打包发布时排除.state/、.env、node_modules。
交付后的下一步引导(next_actions)
交付成功后,脚本会读响应体中的 next_actions(或本包内置的引导列表)向买家提示真实有用的下一步——
一次交付只提示一次,不是催单话术。
依赖安装
npx -y @alipay/agent-payment@latest install
安装后本机应可用 alipay-bot(买家侧支付能力,提供 402-buyer-pay、402-query-payment-status)。
@alipay/agent-payment 用于买家支付,@alipay/alipay-aipay 用于卖家集成收费接口,两者用途不同。
自测(不产生真实扣款)
node scripts/court-spj-library-paid.mjs selftest
以本地模拟响应验证:未付款 402 出账 → 支付处理中仍 402(不交付)→ 凭证无效 402(不交付)
→ 付款成功 200 且 Payment-Validation: validated=true → 同订单重试 200 且不重复交付(幂等)
→ 交付后附 next_actions 引导。
交付自查对照表(对照《支付宝付费 Skill 入驻指南》)
| 自查项 | 本技能实现位置 | 自测结果 |
|---|---|---|
| 402 账单 | probe:请求资源返回 402 + Payment-Needed |
✅ |
| 凭证重试 | complete:按同一订单与同一原始请求参数重试 |
✅ |
| 服务端验付 | 服务端 alipay.aipay.agent.payment.verify,通过后回写 validated=true |
✅ |
| 商家履约 | 服务端 alipay.aipay.agent.fulfillment.confirm,按 trade_no 幂等重试 |
✅ |
| 订单与幂等 | 订单以 out_trade_no 唯一键落库;同订单重试不重复扣费/交付 |
✅ |
异常处理
- 用户拒绝付款:尊重用户选择,说明本内容为付费资源,需完成支付后方可获取,不交付资源。
- 验付不通过 / 凭证过期:服务端返回 402 重新出账,不交付资源;脚本回到 probe 阶段,不重复下单。
- 非 402 状态码:返回 200 直接展示资源;返回 4xx/5xx 告知服务暂时不可用,建议稍后重试。
- 回执失败:先查原订单状态,由服务端按同一订单幂等重试履约确认,不重新付款、不重复请求资源。
技术手册
最高法司法解释库 · 最高检规范文件库 · 抓取与维护
> 本技能服务于公开法律数据的本地化:从最高人民法院、最高人民检察院官网抓取司法解释与规范文件全文,建成可检索、可引用、可增量更新的本地知识库,并附带一套「AI 伪造件」质检与溯源方法。
〇、两个库的定位
| 库 | 默认路径 | 规模 | 数据源 |
|---|---|---|---|
| 最高法司法解释 | <库根>/最高人民法院司法解释/ |
444 件 | https://www.court.gov.cn/fabu/gengduo/16.html |
| 最高检规范文件 | <库根>/最高人民检察院规范文件/ |
188 件(+参考 125) | https://www.spp.gov.cn/spp/gfwj/index.shtml |
- 另有
https://www.spp.gov.cn/spp/sfjs/index.shtml(最高检司法解释栏目)已核对,与最高法库重复者跳过,净新增 0 件。 - 两库在联合发文上有部分交叉,按「最高法库为准、最高检库不重复收录纯司法解释」处理。
路径约定(先读这一条)
- 库根目录 = 环境变量
SPJ_LIB指定的路径;未设置时默认取<技能目录>/library/。 - 库根下有两个子库:
最高人民法院司法解释/、最高人民检察院规范文件/。 - 脚本首次运行会自动创建所需目录,无需手工建库;也无需预先准备任何数据(从零开始抓)。
- 想换位置:在系统里设
SPJ_LIB(Windows 可用setx SPJ_LIB "D:\我的法律库"),或在单次命令前临时指定。
脚本内实际取值:
_ROOT = os.environ.get("SPJ_LIB") or os.path.join(
os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "library")
LIB = os.path.join(_ROOT, "最高人民法院司法解释") # 最高法系列脚本
DST = os.path.join(_ROOT, "最高人民检察院规范文件") # 最高检脚本 spp2_update.py
一、最高法库目录结构
<库根>/最高人民法院司法解释/1998/~2026/—— 按发布年份分目录,文件名法释[年份]序号_简称.md_意见与通知/—— 无法释文号的司法文件(法发/法办文号的意见、通知、纪要)_旧版备份/—— 早期第三方汇编版(文号-内容错配,已废弃,仅供溯源)README.md—— 按年总索引(查库入口)_update_state.json—— 已入库官网ID记录
二、官网抓取技术要点(关键,易踩坑)
1. 列表页解析
# 结构:<li><a title="标题" target="_blank" href="/fabu/xiangqing/512441.html">标题</a><i class="date">2026-09-21</i></li>
re.findall(r'<a\s+title="([^"]*)"[^>]*?/fabu/xiangqing/(\d+)\.html"[^>]*>.*?</a>\s*'
r'<i class="date">\s*(\d{4}-\d{2}-\d{2})?\s*</i>', html, re.S)
注意:title 属性在 href 之前。
2. 正文容器(最易踩坑)
正文在 <div class="txt_txt"> 内——不是 content / TRS_Editor / article。
若正则匹配错容器,会抓到页面导航文字("首页 / 学习新时代 / 机构设置…")。
m = re.search(r'<div[^>]*class="[^"]*txt_txt[^"]*"[^>]*>(.*?)</div>\s*'
r'(?=<div[^>]*class="[^"]*(?:share|page|foot|nextprev)|</div>\s*</div>)',
s, flags=re.S | re.I)
页面标题在 <div class="title">,时间在 发布时间:YYYY-MM-DD。
3. 文号提取陷阱(核心)
「修改/废止决定」类司法解释的正文会列举大量其他文号(如"废止法释〔2001〕3号…")。
必须只取正文前 800 字内的文号,并优先取与列表页发布年份一致者,才是本文书自己的文号。
head = text[:800]
cands = re.findall(r"法释[〔\[【](\d{4})[〕\]】](\d+)号", head) # 注意括号形态
若提取全文文号,会污染映射,导致"一文号对应多篇"的严重错误。
4. 比对主键
用法释文号(YYYY-N)做主键,不要用标题相似度(官网标题是"发布稿"措辞,本地文件名是"简称",差异大)。
三、日常更新(常规操作)
# 增量更新(抓官网新增,只补缺的)
python tools/spj_update.py
python tools/spj_update.py --dry-run # 只看新增,不写文件
# 重建总索引
python tools/spj_index.py
建议把增量更新挂到定时任务(如每周一次),保持库与官网同步。
四、全量重建(当发现库有质量问题时)
按顺序执行(脚本都在 tools/):
1. spj_fetch_list.py → 抓 21 页清单 → spj_list.json
2. spj_fetch_pages.py → 抓 401 个详情页 → spj_pages.json
3. spj_fix_fashi.py → 为每页确定主文号(前800字)→ 修正 spj_pages.json
4. spj_check_mismatch.py → 检测本地文号-内容错配
5. spj_rebuild2.py → 备份错配文件 + 用官网权威版重建
6. spj_index.py → 重建 README 索引
五、查库与引用纪律(重要)
1. 库内文件性质
| 目录 | 性质 | 能否直接引用 |
|---|---|---|
1998/ ~ 2026/ + ## 全文 + 「官网链接」/权威来源字段 |
官网全文,权威 | ✅ 可引用条文 |
_已废止/ |
历史司法解释(已废止/被取代),标【已废止】 | ❌ 仅供沿革参考 |
_意见与通知/ |
无法释文号的司法文件(法发/法办),含 _非正式参考(来源存疑)/ |
⚠️ 参考用,非司法解释 |
_旧版备份/ |
已处置的伪造件/摘要件/冗余件,仅供溯源 | ❌ 绝不可引用 |
2. 重大发现:57 件「摘要体」实为 AI 伪造件
性质:库内早期 57 件标 ## 全文要点 / ## 核心要点 的条目,不是全文简写,而是 AI 伪造件——
文件名标称的法释文号与真实内容系统性张冠李戴(如 法释[2008]4号_协助执行若干问题 实际对应的是法发〔2006〕35号)。
伪造铁证:① 占位文号(法释〔2020〕XX号(预留编号));② 年份自相矛盾(文件名标 2008 年、正文施行日期写 2020 年)。
判定特征(三条任一即伪):
1. 无「官网链接」/权威来源字段;
2. 含 ## 全文要点 / ## 核心要点 / ## 主要内容;
3. 字数 < 1200 且无 ≥3 个「第X条」条文(批复类除外)。
处置结果:8 件真·新增入库(按真实文号重建);17 件冗余撤回;5 件重复合并;5 件无文号件移 _意见与通知/;
54+4 件伪造件移除备份;3 件已废止件入 _已废止/;4 件批复件补来源;11 件「半真件」定性处置。
全库质检:SAFE 423 / SUSPECT 0 / FAKE 0。
3. 关键教训:「半真件」是最危险的一类
有一类件(11 件)正文为完整逐条 + 尾部附 AI 要点表 + 文件名文号错误,极易被误判为合格全文。
处置要点:以正文自述文号为准(文件名常常是错的),并回权威库核验取回全文。
4. 质检脚本
# 全库引用风险体检(输出 SAFE/SUSPECT/FAKE 分级)
python tools/spj_final_audit.py
5. 已核实的质检口径(全量比对 + 净化 + 补号复核)
- 官网 401 个有效正文页 → 本地全文覆盖 398 页(99%),0 文号缺口。
- 净化后全库 444 件(435 带文号 + 9 意见/通知)+
_已废止/3 件;
质检 SAFE 429 / SUSPECT 0 / FAKE 0。 - 备份区账目:
_伪造件/7 件、_摘要件/6 件、_命名修正/31 件、_重建冗余/1 件、
_补号前后/(11 件原无号件副本)、_已废止_摘要件/3 件。 - 历次命名缺陷已修正:院名错配 9 件、
&nbsp;残留 6 件、2025 年〔〕编号 4 件、错配件归属 2 件、文件名截断 1 件。
5.1 三类隐蔽缺陷的识别与处置(补号专项)
(A) 无号件:文件名漏标文号、头部写「(无文号·司法解释性质文件)」,但正文其实是完整全文。
处置:核实真实文号 → 重命名 → 迁回年份目录。已核实清单示例:
| 件 | 真实文号 |
|---|---|
| 人民法院办理仲裁裁决执行案件若干问题规定 | 法释〔2018〕5号 |
| 内地与香港相互执行仲裁裁决的补充安排 | 法释〔2020〕13号 |
| 办理扰乱无线电通讯管理秩序等刑事案件解释 | 法释〔2017〕11号 |
| 审理海上保险纠纷案件规定 | 法释〔2006〕10号 |
| 审理生态环境损害赔偿案件若干规定(试行) | 法释〔2019〕8号 |
| 审理非法行医刑事案件解释(2016修正) | 法释〔2008〕5号 |
| 执行和解若干问题规定 / 执行担保若干问题规定 | 法释〔2018〕3号 / 4号 |
| 适用《民事诉讼法》的解释(2022修正) | 法释〔2022〕11号 |
| 办理袭警刑事案件解释(两高) | 高检发释字〔2025〕1号 |
| 民事诉讼中委托鉴定审查工作规定 | 法〔2020〕202号(非司法解释,留意见区) |
(B) 同号错位件(最隐蔽):文件名文号正确,但正文装的是"修改决定"而非解释本体。
例:2008/法释[2008]5号_…非法行医…修改…决定(894字)实为法释〔2016〕27号修改决定,
而 法释〔2008〕5号 本体(1281字)反被误置于 _意见与通知/。
判定:字数明显偏短 + 含「作如下修改/修改如下」结构 → 是修改决定,须换回本体。
(C) 错号孤儿(重复件):某伪件顶着一个真实法释号,而正品早已在库。
例:2001/法释[2001]3号_…第十批废止决定 实为 法释〔2013〕7号(真品已在 2013/,同源 8534 字)→ 移除旧件。
5.2 已废止件的历史原文找回
已废止司法解释在权威库中 仍可检索到全文(lawStatus="失效"),不必依赖 AI 摘要:
做法:语义检索旧件名(可加 status="失效")→ 得 lawId → 取全文 →
写入 _已废止/,保留【已废止】标注与效力提示、来源字段标注 lawId。
6. 权威库复核通道
当需要核验某件真实文号或取回权威全文时,用第三方法律数据库 MCP(如北大法宝、威科先行、法智等):
- 用语义检索(law_name 精确匹配常返回空);返回 lawId。
- 取全文时把 max_length 降到 5000/4000 可避免超时重试。
- 返回 legalCharacter="司法解释" 可确认性质;法发 号为「司法指导性文件」。
六、最高检「规范文件」库
1. 位置与结构
<库根>/最高人民检察院规范文件/2010/~2026/—— 规范文件正文,文件名[文号_]标题.md_答记者问/(40)_典型案例/(8)_新闻发布参考/(77) —— 参考性材料(非规范正文,文件内已加 ⚠️)_原文失效待补/(2) —— 链接失效未取回全文者README.md、_入库质检报告.md、_update_state.jsontools/spp2_update.py—— 增量更新脚本
2. 抓取技术要点(与最高法库不同,勿混用)
(1) 列表容器:严格取 <ul class="li_line"> 下的 <a href>,否则会混入栏目导航。
index_1、index_9+ 是 404 兜底页(长度恒 65,458),必须排除。
(2) 正文容器:两种并存(最大坑)
- 老页面:<div class="detail_con">
- 新页面:<div class="wsfbh_detail_con">
- 优先取 <div id="fontzoom">;只匹配一种容器会导致大量老页正文为空(曾误判 90 篇为"失效")。
(3) 失效判定:返回长度约 65,458 的空白壳页(含无关 window.location=link 导航脚本)。
注意:该脚本是导航栏,不是跳转目标,勿误判为 301。
(4) 多篇聚合页:大量详情页聚合"正文+答记者问+新闻稿+典型案例"。以 发布时间:YYYY年M月D日
为分隔符切分 → 同 URL 产出多文件(正常,非重复)。
(5) 分类判别(四类 doc/news/qa/case) —— 分层判据:
| 优先级 | 判据 |
|---|---|
| 1 | 标题含「答记者问/问答」→ qa;含「典型案例」→ case |
| 2 | 正文以「关于印发…的通知」起笔 / 段首「第X条」≥3 / 含「制定本意见」→ doc |
| 3 | 正文以「近日/日前/为…,…印发」叙事导入 → news |
| 4 | 标题以正式体裁词结尾(意见/规定/…)→ doc |
| 5 | 同 URL 组内已有正式名条目 + 标题为新闻句式 → news |
| 6 | 独页 + 新闻式标题 + 正文≥2500 字 → doc(并规范标题) |
| 7 | 独页 + 新闻式标题 + 正文<2500 字 → news |
关键易错点:
- 「引用条号」≠「文件自身条款」:统计条款须用段首 (?:^|\n)\s*第X条;
- 「为…制定本意见」是规范文件起笔,不是新闻(曾误降致正式意见掉出);
- 「最高检印发《X》」若正文含"关于印发…的通知"→ 是真文件,标题须规范为 X;
- 「两高两部联合发布新的取保候审规定」这类同页新闻稿,若同 URL 已有正式名条目 → 降 news。
(6) 去重:正文指纹(去空白前800字) + 规范化标题(去书名号/标点),doc 优先于 news。
(7) 文号:仅取官网原文明确出现者,中括号统一为 〔〕。官网多数未印文号(原文如此),
一律留空,绝不臆造。
3. 增量更新
python tools/spp2_update.py # 增量
python tools/spp2_update.py --full # 全量重建(慎用)
4. 成果口径
规范文件正文 188 件(含文号 27;2010—2026 无断档)+ 答记者问 40 + 典型案例 8 +
新闻参考 77 + 待补 2 = 315 件。质检:正文中位 3,895 字、最短 355 字、0 条 <300 字、
0 标题重复、0 新闻式标题混入。
七、铁律与边界
- 官网数据为公开法律数据,可正常抓取;抓取限速 0.3s/请求,避免给官网造成压力。
- 只与法院/检察院官网及所选权威法律数据库交互,纯本地入库,不传云端。
- 处置前必备份:任何删除/移动都先复制到
_旧版备份/对应子目录。 - 以正文自述文号为准,不轻信文件名(文件名文号常错)。
- 改名不等于改内容:修正文号时须同时核实该文号下的正文所属(是本体、修改决定还是废止决定)。
- 一号一件正品:同文号只应有 1 件正品;发现同号多件须甄别是"本体 vs 修改决定"还是"重复件"。
> ⚠️ 本库为辅助检索用,正式引用请核对最高人民法院/最高人民检察院官网原文。
> 本技能不构成对任何具体案件的法律意见。