调用各岛(在任何运行环境中均可)。 下方每个端点都是一个普通的公共 HTTPS GET 请求,返回 JSON——您可以使用任何 fetch/HTTP 工具调用它(例如 web-fetch)。附带的
_lib/legal_search.py只是将这些相同的调用并行化,它需要一个 shell 和出站网络:在 Claude Code 中可以工作,但沙盒化的运行环境(例如 claude.ai Skills 容器)可能会阻止出站流量。如果脚本被阻止,请直接获取 URL。诚实原则: 只有从这些
*.openlegaldata.net端点返回的数据才是权威的 OpenLegalData 结果。如果您无法访问它们,请如实说明——不要将一般的网络搜索答案呈现为 OpenLegalData 验证。
世界 / 比较法源
每个司法管辖区在 <cc>.openlegaldata.net(类似 ISO 的国家代码)上都是自己的独立岛,源自官方法律来源(法院 + 立法),保留所有抓取字段作为元数据(法院、法庭、判决编号、ECLI、日期等)。内容为每个国家的母语——使用该语言搜索可获得最佳召回率。
完整列表位于 skills/_lib/islands.json 中的 world 下(约 55 个条目:ad al am ar at au az ba be bg by ca ch coe cy cz de dk dz ee eg es fi fr ge gr hr hu ie is it li lt lu lv mc me mt nl no nz pl pt ro rs se si sk sm tr tw ua uk xk ……)。
如何使用
针对特定司法管辖区(推荐——精确且快速):
python "${CLAUDE_PLUGIN_ROOT:-.}/skills/_lib/legal_search.py" search "Datenschutz" --islands https://de.openlegaldata.net --limit 10
跨所有世界岛并行进行广泛比较(例如“各司法管辖区如何处理 X”):
python "${CLAUDE_PLUGIN_ROOT:-.}/skills/_lib/legal_search.py" search "data protection" --category world --limit 5
结果会标记 _island(国家),以便您跨系统进行比较。
策略
- 已知司法管辖区 → 仅查询该岛(
--islands https://<cc>.openlegaldata.net)。 - 比较性问题 → 并行
--category world,然后按_island对结果进行分组。 - 使用司法管辖区的语言搜索(德语用于
de,法语用于fr/lu/mc,阿拉伯语用于eg/dz等)——这些是母语语料库。 - 覆盖范围是每个来源的示例语料库(每个几十到几百份文档),适合定位主要/代表性文本;并非详尽无遗。必要时请说明。
端点
- 每个岛:
GET /search?q=<terms>&limit=N;GET /用于信息 + 计数。 - 每个结果都携带丰富的每文档元数据(原始抓取字段)。
import os, sys; sys.path.insert(0, os.path.join(os.environ.get("CLAUDE_PLUGIN_ROOT","."), "skills/_lib"))
from legal_search import search, REGISTRY
fr = [i["url"] for i in REGISTRY["world"] if i["slug"] == "fr"]
hits = search("responsabilité du fait des produits", islands=fr, limit=10)