jacobian

by morluto

48 工作流与自动化github未核验到 manifest收录于 08-16

纯净数学工具:搜索示例与反例,精确计算,独立验证结果证明。

Pure mathematics for agents: search for examples and counterexamples, compute exactly, and independently check what a result proves.

安装

dsh plugin --profile web add github:morluto/jacobian

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

English · 简体中文

Jacobian 是一个 MCP 服务器,为 AI 智能体提供一套可搜索、类型化的数学操作。math.find 用来发现操作,math.run 每次只执行一个有界契约,并返回类型化结果。同样的数学库也可以通过 CLI 和原生 Python API 直接使用。

每个操作只确立一个稳定、可复用的数学后置条件,而不是规定工作流或证明策略。声称精确的地方就会保持精确,近似、不完备或不确定性也会显式标出。

Jacobian 的假设是:数学推理会受益于一套语义范围明确、有界且可执行的词汇。 与其提供庞大的领域求解器或预先排好的工作流,Jacobian 只提供可搜索、可组合的数学原语——智能体可以把它们拼成超出单个操作设计目标的解法。库负责提供可信的数学步骤,模型决定怎么选、怎么组合、何时停。操作保持语义范围明确并由所属领域维护,避免把某种证明策略固化到工具里。

更多关于语义原子性的讨论,见可执行的数学词汇。

快速开始

用一条命令为你的智能体配好 Jacobian,需要 Node.js 18+ 和 uvx 在 PATH 中:

npx jacobian@latest setup

它会检测已安装的智能体,让你在写入前确认改动。它不会帮你安装 Node.js、Python、uv 或智能体本身。需要自动化预览时,可用 npx jacobian@latest setup --codex --dry-run 查看计划;只有在明确指定 --codex、--all 等参数时才加 --yes。

不用全局安装,也可直接运行标准的 Python MCP 命令:

uvx --from jacobian jacobian-mcp

若 MCP 客户端只能通过 npm 命令启动,npm 包会原样转发到同一条命令:

npx jacobian mcp

需要长期安装时:

python -m pip install jacobian
jacobian-mcp

这个包自带了 Jacobian 维护的完整 Python 后端栈:SymPy、NetworkX、Z3 和 Python-FLINT。所以无论是常规的 Python 安装还是 npm 安装,你拿到的都是同一套基于 Python 的内置操作。官方测试过的环境是 glibc Linux x86-64 上的 CPython 3.12 / 3.13,发版时会在这两个版本上安装构建好的 wheel 并启动验证。其他系统也可能有可用的上游 wheel,但不在官方测试范围内。特别地,Alpine/musl 无法从 PyPI 装全必需的后端。

Python 发行包里包含了数学内核、CLI 和 MCP 服务器。npm 包本身不提供 JavaScript API,只是把当前 npm 包的精确版本映射到对应的 uvx 调用。

计算一个有界结果

普通操作直接返回数学结果。例如,matrix.determinant.compute 接收一个精确的有理数矩阵,直接返回它的行列式。你可以把类型化的结果传给下一个操作,串起来完成更复杂的计算。

可用的数学能力

内置能力覆盖:

  • 多项式映射与多项式代数;
  • 精确线性代数;
  • 图、路径、着色与同构;
  • 有界 SAT 和 SMT 求解;
  • 有限代数、概率、几何与拓扑;
  • Lean 源码 elaboration。

SAT 和 SMT 操作直接调用 Z3 的 Python 绑定。可选的 lean.check 会在固定的 Lean 服务环境里跑一段有界源码:仅为本次请求创建临时目录并写入源码,返回类型化诊断后即清理;不会保留证明状态会话,也不会持久化保存源码。用 math.find 搜索操作、浏览不熟悉的领域,先查看单个操作的契约,再用 math.run 执行一次。

请参阅领域操作库了解操作契约与准入规则,用 math.find 浏览实际的操作目录,并参阅后端要求。

状态

Jacobian 0.13.0 仍为预稳定版本。已发布包和操作契约即为受支持的接口,实验性契约可能在后续版本中调整。

文档

贡献

Jacobian 使用 Python 3.12、uv 和精简的 Makefile:

make setup
make test-math
make check

改代码前请先读 CONTRIBUTING.md,里面有聚焦的测试命令、校验规则、文档组织和 PR 要求。

许可证

MIT

原始 README: https://github.com/morluto/jacobian/blob/main/README.zh-CN.md ↗