关于 antu
Antu 将 JSON 文档转换为独立 HTML 法律图示,供法律团队和 Agent 整理案件材料。其确定性渲染器支持事实、程序、关系和实验性的论证图示,并可离线查看和复现结果。
主要功能
- 01根据 JSON 绘制法律图示
- 02四种图示类型及可选视图
- 03生成可离线使用的独立 HTML
- 04提供四种视觉主题
- 05在应用中校验 JSON 并渲染
- 06提供 Agent Skill 和 MCP 工具
适用场景
- 01用事实时间线梳理案件事件
- 02展示程序路径及其分支
- 03说明当事方及法律关系
- 04归档或分享离线法律图示
MCP 相关
@zh-xx/antu 软件包提供 MCP 服务,包含规范、指南、示例、校验、布局、渲染、预览和版本信息等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 3 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | string | 否 | 要获取的文件,例如 examples/agent/fact/1-minimal.en.json。省略则列出文件 |
| type | string | 否 | 图表类型,默认是 fact(事实图) |
| group | enum | 否 | 要列出的组:agent(默认,小型示例)/ real(真实案例)/ raw(源材料,并非示例)agent | real | raw |
详细介绍
Antu
中文 | English
Antu 可将一个 JSON 文档转换为一张独立的 HTML 法律图表。页面是一个约 2.3 MB 的单文件,不会发起网络请求,也不需要服务器;它可以离线打开,也可以归档、打印或作为附件发送。AI Agent 可以阅读案件材料并编写 JSON;随后由引擎据此绘制图表,同一份 JSON 始终会生成相同的图表。Antu 目前处于 0.x 版本,关系图和论证图的格式仍为草案。
图表类型
四种法律内容类型,各有多种呈现方式。页面中的选择器可在不同方式间切换;JSON 中没有选择方式的设置。
| 关系 | 关系图 | 焦点视图 | 关系矩阵 | 股权树 |
|---|---|---|---|---|
权力关系图 | 关联方列表 | 关系路径 | ||
| 事实 | 时间线 | 编年记录 | 时间刻度 | |
| 程序 | 流程图 | 路线图 | ||
| 论证 (实验性) | 推理树 |
关系图(同一份 JSON 的七种绘制方式)展示当事方、角色和法律关系;事实图展示时间、参与者以及事件经过; 程序图展示程序路径及其分支;论证图展示依据规范和事实得出的结论。关系图和论证图的模式仍处于草案阶段,论证图目前仍属实验性功能,且已暂停开发。
四种外观称为主题:document(黑白方正,适用于打印和归档;默认主题)、modern
(圆角、浅色)、legal(海军蓝)和 dark(深色背景上的现代风格,适用于深色宿主)。读者可以在
页面中切换主题,也可以通过调用固定页面主题。主题仅作用于图表;dark 还会使周围的界面外壳变暗。参见
spec/theme.md。
用法
npm install
npm run diagram -- examples/fact/neighbour-corridor-charging.en.json
页面会与 JSON 文件写在同一目录。页面界面语言通过 ?lang=en 或 ?lang=zh 设置;案件内容不会翻译。
原则
Agent ──> key information ──> one JSON ──> engine ──> diagram
| 角色 | 职责 | 确定性 |
|---|---|---|
| 模型 | 阅读文档、提取事实、理解含义 | 每次运行的结果可能不同 |
| 引擎 | 根据规范绘制图表 | 无论由哪个模型编写,相同的 JSON 都会生成相同的图表 |
| JSON 规范 | 两者之间唯一的接口 | 有版本管理(参见 spec/versioning.md) |
引擎不编写 JSON,Agent 也不绘图。模型将信息写入 JSON;引擎负责绘制。JSON 规范本身就是一份规范,原因有四:
- 通用图表语法建立在节点、边和状态机之上,无法表达程序上的立场或证据来源。
- 图表不取决于由哪个模型提取信息。
- 无论何时、在何种环境下,相同的 JSON 都会生成相同的图表,因此交给法院或对方的图表可以复现。
- 提取事实时会记录来源:每项事实都注明所依据的文档、页码和条款,图表也会展示这些信息。材料本身既不会打包,也不会添加链接。
Agent 集成
Agent 用于事实图表的参考资料包括一份约 3.4k 个字符的字段表,以及一份约 6.3k 个字符的机制说明。
Skill
npx skills add zh-xx/Antu -g
Skill 位于 skills/antu/;每个版本发布也会附带 antu-skill-<version>.zip。
命令行每天向 npm 注册表查询一次是否有更新版本的 Antu(仅发送一个 GET 请求,不涉及任何图表),如果有,则在输出末尾显示通知。设置 ANTU_NO_UPDATE_NOTIFIER=1 可关闭此功能。
MCP
MCP 服务是 npm 包 @zh-xx/antu,在 MCP 注册表中的注册名为 io.github.zh-xx/antu。
{
"mcpServers": {
"antu": {
"command": "npx",
"args": ["-y", "-p", "@zh-xx/antu@latest", "antu-mcp"]
}
}
}
工具:antu_schema、antu_guide、antu_examples、antu_validate、antu_layout、antu_render、antu_preview、antu_versions。
DeepSeek Harness(DSH)
原生 DSH 插件 @zh-xx/antu-dsh(Host 工具 + 带有绘图方式选择器的聊天卡片)已发布到 npm:运行 dsh plugin --profile <name> add @zh-xx/antu-dsh,然后重启 DSH。它需要 DSH 0.2.0-rc.2 或更高版本。工作原理和测试方法见 spec/dsh-plugin.md 和 tools/dsh/README.md。无法使用该插件的 profile 仍可通过仅含配置的 bundle 接入 antu-mcp;具体方法及其限制见 tools/dsh/README.md。
在应用程序中使用
同一个包为应用程序自己的代码提供三个入口(spec/embed.md):
import { mount } from '@zh-xx/antu/embed' // draw a diagram inside your page, in a shadow root
import { validate } from '@zh-xx/antu/validate' // check the JSON your model wrote; each error names its field
import { renderHtml } from '@zh-xx/antu/html' // the self-contained page as a string (Node)
const diagram = mount(element, spec, { lang: 'en', onEvent: (e) => console.log(e) })
文档
- 面向读者的设计文档位于
spec/下:架构、来源类型、主题、纸张尺寸、MCP 服务、在应用程序中嵌入、DSH 插件计划,以及图表(事实、程序、关系、论证)。面向 Agent 的说明位于spec/agent/下。 - CHANGELOG.md 和 spec/versioning.md 中的版本管理规则。
- 已知问题和功能请求通过 GitHub issues 跟踪。贡献者的工作规范见 CONTRIBUTING.md。
安全
- 如需报告漏洞,请使用 SECURITY.md 中说明的私密报告方式;请勿为此提交公开问题。
- npm 上的每个
@zh-xx/antu和@zh-xx/antu-dsh版本,均由 GitHub Actions 通过 npm 的可信发布者发布,并带有来源证明:npm 上的版本页面会链接回发布该版本的提交和工作流运行记录。deps.dev 显示相同记录,以及已知的安全公告(截至本文撰写时,没有)和许可证。 - 使用 Antu 创建的页面可离线运行,不会向任何地方发送任何内容;命令行每天会询问一次是否存在更新版本,不会发送图表中的任何内容(设置
ANTU_NO_UPDATE_NOTIFIER=1可关闭此功能)。
许可证
版权所有 (C) 2026 Ji Cheng。
Antu 是自由软件,采用 GNU Affero 通用公共许可证第 3 版或任何更高版本 授权(LICENSE,SPDX AGPL-3.0-or-later)。简而言之:你可以使用、研究、修改和分享它,包括用于商业用途。如果你分发修改后的版本,或允许他人通过网络使用它(例如作为托管服务),则必须以相同许可证发布你的修改,保留版权和许可证声明,并提供源代码。不提供任何担保。本摘要不是许可证;许可证文本才是。
- 附加许可(AGPL 第 7 条)。 使用 Antu 创建的页面包含 Antu 的代码,以及你提供的图表数据。图表数据以及你根据自己的材料绘制的图表内容不属于 Antu,也不受本许可证约束:你可以将它们保密、发布,或按自己选择的任何条款出售。本许可证涵盖页面中的 Antu 代码,页面中的声明必须随代码保留。每个页面和命令行的顶部都包含相同文本。
- 如果你的公司或应用商店不接受 AGPL 软件,或要求在其上架或安装相关内容前提供额外声明,这是他们的政策,项目本身无法改变。请在问题中告诉我们你的需求;使用 Antu 创建的页面和数据归你所有(参见上面的附加许可)。
- 仓库中的所有内容(代码、示例、规格说明和指南)均采用相同许可证,但下文列出的内容除外。
- 页面和命令行中其他项目的代码保留其自身许可证。相关声明见
skills/antu/THIRD-PARTY-NOTICES.md,也位于每个页面和命令行的顶部,并与 Antu 的许可证及该版本的源代码位置一同列出。 examples/中的案例和examples/raw/中的判决文本均为虚构内容:其中的人物、公司、日期、金额和条款均为 Antu 编造,与任何真实案例都不相符。它们采用相同许可证。- 0.5.0 及更早版本发布时未附带许可证文件。许可证自 0.5.1 起适用。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。