{"manifest":{"$schema":"./schemas/universal-skill.schema.json","spec":"universal-agent-skill/v1","id":"search-china-court-judgments","version":"0.4.0","name":"中国裁判文书检索","description":"检索、核验、比较并结构化整理中国裁判文书、类案和核心裁判观点。","triggers":["裁判文书","判决书","案例检索","案号","法院裁判观点","类案","胜败诉案例","争议焦点"],"entrypoint":"instructions.md","references":["references/site-interface.md","references/providers.md","references/platform-adapters.md","references/mcp-clients.md"],"tools":[{"name":"search_judgments","description":"Search through the authorized Fyopen API or a local Wenshu browser bridge, with explicit verification and source limitations.","protocol":"http-openapi","operation_id":"searchJudgments","endpoint":"/v1/judgments/search","input_schema":"schemas/search-input.schema.json","output_schema":"schemas/case-result.schema.json"}],"permissions":{"network":true,"authentication":"user-session-or-provider-secret","captcha_bypass":false,"bulk_download":false,"personal_data_minimization":true},"adapters":["generic","codex","doubao","coze","dify"],"interface":{"display_name":"中国裁判文书检索","short_description":"检索、核验并结构化整理中国裁判文书、类案与核心裁判观点","default_prompt":"查找与我的问题相关的中国裁判文书，核验来源并生成结构化案例报告。"}},"instructions":"# 中国裁判文书检索\n\n## 工作流程\n\n1. 将用户请求转换为明确筛选条件：案号、当事人、法院、案由、关键词、案件类型、地域、裁判日期、审级和目标数量。\n2. 将“近 N 年”默认解释为截至当前日期向前滚动 N 年；用户明确要求自然年度时按自然年度处理。始终写明实际日期范围。\n3. 优先使用 `search_judgments`。默认选择 `provider=auto`：服务端已配置法研授权时使用 `fyopen`，本机桥接已启用时使用 `wenshu_web`，否则返回人工检索计划。\n4. `fyopen` 返回的 `provider_hits` 是实务知识或裁判观点，不是已核验完整文书；根据案号回到人民法院公开来源核验。\n5. `wenshu_web` 返回 `manual_verification_required` 时，要求用户在正常网页中完成登录或验证码，再通过 Browser Helper 提交当前可见结果，并携带 `resume_token` 重试。\n6. 按以下顺序选择来源：\n   - 中国裁判文书网、人民法院案例库和各级法院官网。\n   - 最高人民法院公报及其他官方司法出版物。\n   - 可靠二手来源仅用于发现线索；无法核验官方原文时明确标注。\n7. 精确案号或文书链接优先直接查询；主题检索拆成多个窄查询，并记录每组筛选条件。\n8. 对入选案件至少核验案名、案号、法院、裁判日期、案件类型、裁判结果和来源链接，不从搜索摘要推断缺失事实。\n9. 按案号去重；没有案号时使用法院、案名和日期组合去重。\n10. 找不到用户要求的数量时，只返回已核验案件并解释缺口，不使用未核验案例凑数。\n\n## 访问边界\n\n- 将网站内部端点视为私有实现细节，不视为稳定公开 API。\n- 不绕过验证码、登录、限流、访问控制、指纹、加密校验或反自动化措施。\n- 不读取或导出 Cookie、浏览器存储、密码、令牌和会话数据。\n- 登录或验证码阻塞时，要求用户通过平台支持的正常交互完成。\n- 控制检索频率，不批量枚举或下载数据库。\n- 只检索公开司法信息，省略与法律分析无关的个人标识信息。\n\n## 分析要求\n\n分别说明案件基本事实和程序、诉辩主张、争议焦点、法院理由、裁判结果以及与用户问题的关联。区分已核验事实与分析意见。\n\n当结论依赖特殊事实、地方实践、已失效法律或非终审文书时明确提示。已知时注明审级和裁判是否生效。\n\n## 输出格式\n\n先回答研究问题，再给出结果表：\n\n| 字段 | 内容 |\n|---|---|\n| 案名 | 文书标题 |\n| 案号 | 完整案号 |\n| 法院 | 审理法院 |\n| 日期 | 裁判日期 |\n| 案由/类型 | 案由和案件类型 |\n| 裁判结果 | 支持、驳回、改判等 |\n| 核心观点 | 与用户问题直接相关的裁判理由 |\n| 来源 | 可点击的官方链接；非官方来源须标注 |\n\n比较多个案件时，补充共同规则、关键事实差异、相反裁判和样本局限。最后写明检索日期、使用来源和覆盖限制。除非检索方法确实支持，不得声称结果穷尽。\n","references":{"references/site-interface.md":"# 裁判文书网站接口参考\n\n更新时间：2026-07-16。仅用于诊断网站集成，以当前页面脚本为准。\n\n网页数据统一提交到：\n\n`POST https://wenshu.court.gov.cn/website/parse/rest.q4w`\n\n主要 `cfg`：\n\n| 功能 | cfg |\n|---|---|\n| 文书列表 | `com.lawyee.judge.dc.parse.dto.SearchDataDsoDTO@queryDoc` |\n| 筛选统计 | `com.lawyee.judge.dc.parse.dto.SearchDataDsoDTO@leftDataItem` |\n| 搜索联想 | `com.lawyee.judge.dc.parse.dto.SearchDataDsoDTO@smartTipSearch` |\n| 文书详情 | `com.lawyee.judge.dc.parse.dto.SearchDataDsoDTO@docInfoSearch` |\n| 法院字典 | `com.lawyee.judge.dc.parse.dto.LoadDicDsoDTO@loadFyByCode` |\n| 法律依据 | `com.lawyee.judge.dc.parse.dto.SearchDataDsoDTO@queryFlyj` |\n\n列表请求还包含 `queryCondition`、`sortFields`、`pageNum`、`pageSize`、`ciphertext`、`wh`、`ww` 和 `cs`。详情请求包含 `docId` 与 `ciphertext`。\n\n常见案件类型：`s8=02` 刑事、`03` 民事、`04` 行政、`05` 赔偿、`10` 执行。\n\n直接请求可能返回 `code=9` 和“没有权限请求接口”。不要尝试绕过校验；改用正常网站界面、用户授权会话或合规数据 Provider。\n\n`/api/fp/*` 和 `/api/df/*` 是行为或风控记录端点，不是文书数据接口。\n","references/providers.md":"# Provider 配置\n\n## 法研开放平台\n\n用于云端部署。先在法研开放平台购买或申请“裁判观点知识库”或“实务研究知识库”，再配置：\n\n```text\nFYOPEN_APP_KEY\nFYOPEN_APP_SECRET\nFYOPEN_APP_ID\nFYOPEN_API_KEY\nFYOPEN_SERVICE=expert_view|practice  # 可选的服务端默认值\nDISTRIBUTION_API_KEY\n```\n\n接口文档：\n\n- 裁判观点知识库：`https://www.fyopen.com/cjbdi-cop/2026/03/19/765688fb02a94c81a341ef2927b0e762.docx`\n- 实务研究知识库：`https://www.fyopen.com/cjbdi-cop/2026/03/19/203e1e6c872c4a11acb06cee50011d3e.docx`\n\n`provider_hits` 不是完整裁判文书，必须再核验官方原文。\n\n每次请求可传 `fyopen_service=expert_view`（裁判观点）或 `fyopen_service=practice`（实务研究），优先级高于服务端默认值。\n\n## 裁判文书网浏览器桥接\n\n只在用户本机启用。桥接读取当前网页可见 DOM，不读取或导出 Cookie、令牌及网站存储。\n\n运行 `scripts/start_browser_bridge.ps1`，或者手动启动零依赖本地 HTTP 服务：\n\n```powershell\n$env:WENSHU_BROWSER_BRIDGE_ENABLED=\"true\"\n$env:BROWSER_BRIDGE_TOKEN=\"生成一个本机随机密钥\"\npython -X utf8 server/skill_server.py\n```\n\n在 Chromium 扩展管理页加载 `browser-helper` 目录，将扩展地址设置为 `http://127.0.0.1:8765` 并填写相同 Token。\n\n调用顺序：\n\n1. `search_judgments(provider=\"wenshu_web\")` 获取 `resume_token`。\n2. 在裁判文书网正常完成登录或验证码。\n3. 使用扩展获取任务、填写检索词并上传当前结果页。\n4. 再次调用 `search_judgments(provider=\"wenshu_web\", resume_token=\"...\")`。\n\n需要本地 MCP 时，先构建 Pages，再使用 Wrangler 本地运行 `cloudflare-pages/dist`，并启用相同两个绑定；扩展地址改为 Wrangler 的本地端口。\n","references/platform-adapters.md":"# 平台适配说明\n\n## 通用原则\n\n`skill.json` 是唯一事实来源。`instructions.md` 保存跨平台工作流程，`openapi.json` 描述可调用工具。运行 `scripts/build.py --all` 生成各平台目录。\n\n任何平台都必须通过以下一种方式接入：\n\n1. 原生 Skill：加载生成的 Skill 目录。\n2. 系统提示词：导入生成的 `system-prompt.md`。\n3. HTTP/OpenAPI 工具：导入生成的 `openapi.json`。当前默认服务地址为 `https://china-court-judgment-skill.pages.dev`。\n4. 自定义加载器：请求 `GET /skills/search-china-court-judgments`，把返回的 `instructions` 注入系统提示词，并按 `tools` 注册工具。\n\n## Codex\n\n将 `dist/codex/search-china-court-judgments` 复制到 `$CODEX_HOME/skills` 或 `~/.codex/skills`，刷新或新建任务后使用 `$search-china-court-judgments`。\n\n## 豆包\n\n将 `dist/doubao/system-prompt.md` 作为智能体指令。若当前产品支持自定义 HTTP/OpenAPI 工具，再导入同目录的 `openapi.json`；否则只能使用提示词流程和平台已有搜索能力。\n\n## 扣子\n\n将 `dist/coze/system-prompt.md` 作为智能体提示词，并将 `openapi.json` 配置为插件或工作流 HTTP 节点。具体导入入口以当前平台版本为准。\n\n## Dify\n\n将 `dist/dify/system-prompt.md` 作为应用指令，通过自定义工具或 HTTP 请求节点导入 `openapi.json`。\n\n平台不支持外部工具时，仍可加载提示词，但无法自动调用裁判文书检索 Provider。\n\n`workers.dev` 在部分网络环境可能无法直接访问。面向中国大陆用户分发时，建议为 Worker 绑定已备案且可访问的自定义域名，并同步修改 `openapi.json` 的 `servers[0].url`。\n\n## Cloudflare Worker\n\n当前 Pages：`https://china-court-judgment-skill.pages.dev`\n\n备用 Worker：`https://china-court-judgment-skill.kuaidi-business.workers.dev`\n\n未配置 Provider 时，检索接口安全地返回 `manual_search_required`。接入法研开放平台时设置：\n\n```powershell\nnpx wrangler pages secret put FYOPEN_APP_KEY --project-name china-court-judgment-skill\nnpx wrangler pages secret put FYOPEN_APP_SECRET --project-name china-court-judgment-skill\nnpx wrangler pages secret put FYOPEN_APP_ID --project-name china-court-judgment-skill\nnpx wrangler pages secret put FYOPEN_API_KEY --project-name china-court-judgment-skill\nnpx wrangler pages secret put DISTRIBUTION_API_KEY --project-name china-court-judgment-skill\n```\n\n启用 Provider 后，客户端调用 `/v1/judgments/search` 时必须发送 `Authorization: Bearer <DISTRIBUTION_API_KEY>`。\n\n裁判文书网模式只能在用户本机运行浏览器桥接。完整配置和调用顺序见 `references/providers.md`。\n","references/mcp-clients.md":"# MCP 客户端接入\n\n远程 MCP 地址：\n\n`https://china-court-judgment-skill.pages.dev/mcp`\n\n传输协议：Streamable HTTP。服务使用无状态 JSON 响应模式。\n\n## 工具\n\n| 工具 | 用途 |\n|---|---|\n| `search_judgments` | 提交结构化检索条件；未配置 Provider 时返回合规检索计划 |\n| `load_judgment_skill` | 读取通用 Skill 清单、工作流程和参考资料 |\n| `get_openapi` | 获取当前公开 HTTP API 定义 |\n\n## 通用客户端配置\n\n支持远程 MCP URL 的客户端可使用：\n\n```json\n{\n  \"mcpServers\": {\n    \"court-judgments\": {\n      \"url\": \"https://china-court-judgment-skill.pages.dev/mcp\"\n    }\n  }\n}\n```\n\nCodex CLI 可执行：\n\n```powershell\ncodex mcp add court-judgments --url https://china-court-judgment-skill.pages.dev/mcp\n```\n\n若启用真实 Provider 和分发鉴权，客户端还需给 MCP 请求发送：\n\n`Authorization: Bearer <DISTRIBUTION_API_KEY>`\n\n只支持本地 stdio MCP 的客户端需要使用其官方远程 MCP 代理或连接器。不要把 Provider Token 配置到客户端；客户端只保存分发 API Key。\n"},"openapi_url":"https://china-court-judgment-skill.pages.dev/openapi.json"}