{"id":48531318,"url":"https://github.com/math-ai-org/mathcode","last_synced_at":"2026-04-12T03:05:26.077Z","repository":{"id":348729141,"uuid":"1199281003","full_name":"math-ai-org/mathcode","owner":"math-ai-org","description":"MathCode: A Frontier Mathematical Coding Agent","archived":false,"fork":false,"pushed_at":"2026-04-07T23:39:04.000Z","size":2454,"stargazers_count":263,"open_issues_count":1,"forks_count":23,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-08T00:28:13.661Z","etag":null,"topics":["ai","coding","foundation-models","llm","reasoning"],"latest_commit_sha":null,"homepage":"https://math-ai-org.github.io/mathcode","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/math-ai-org.png","metadata":{"files":{"readme":"README.ZH.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-02T07:46:05.000Z","updated_at":"2026-04-07T23:53:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/math-ai-org/mathcode","commit_stats":null,"previous_names":["math-ai-org/mathcode"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/math-ai-org/mathcode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-ai-org%2Fmathcode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-ai-org%2Fmathcode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-ai-org%2Fmathcode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-ai-org%2Fmathcode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/math-ai-org","download_url":"https://codeload.github.com/math-ai-org/mathcode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-ai-org%2Fmathcode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31580507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","coding","foundation-models","llm","reasoning"],"created_at":"2026-04-08T00:01:13.417Z","updated_at":"2026-04-09T01:00:36.072Z","avatar_url":"https://github.com/math-ai-org.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MathCode\n\n### MathCode: A Frontier Mathematical Coding Agent\n\n```\n███╗   ███╗ █████╗ ████████╗██╗  ██╗ ██████╗ ██████╗ ██████╗ ███████╗\n████╗ ████║██╔══██╗╚══██╔══╝██║  ██║██╔════╝██╔═══██╗██╔══██╗██╔════╝\n██╔████╔██║███████║   ██║   ███████║██║     ██║   ██║██║  ██║█████╗\n██║╚██╔╝██║██╔══██║   ██║   ██╔══██║██║     ██║   ██║██║  ██║██╔══╝\n██║ ╚═╝ ██║██║  ██║   ██║   ██║  ██║╚██████╗╚██████╔╝██████╔╝███████╗\n╚═╝     ╚═╝╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝\n```\n\n**Project Page:** [math-ai-org/mathcode](https://github.com/math-ai-org/mathcode)\n\n\u003cp align=\"right\"\u003e\u003ca href=\"./README.md\"\u003eEnglish\u003c/a\u003e | \u003cstrong\u003e中文\u003c/strong\u003e\u003c/p\u003e\n\nMathCode 是一个终端 AI 编程助手，内置数学形式化引擎。输入一道自然语言数学题，它会自动将其转化为 Lean 4 定理并尝试完成形式化证明。\n\n![](./Demo.png)\n\n## 快速开始\n\n```bash\ngit clone https://github.com/math-ai-org/mathcode.git\ncd mathcode\nbash setup.sh\ncodex auth login\n./run\n```\n\n`math-ai-org/mathcode` 现在是一个轻量 bootstrap 仓库。正常用法就是先 clone，再执行 `bash setup.sh`；如果本地缺少 `mathcode`，`setup.sh` 会自动从 GitHub Releases 下载对应平台的二进制。\n\n`setup.sh` 会做这些事：\n\n- 如果本地缺少 `./mathcode` 或 `AUTOLEAN/`，从 GitHub Releases 下载匹配平台的 `mathcode-vX.Y.Z-\u003cos\u003e-\u003carch\u003e.tar.gz`，并解压出二进制和内置 AUTOLEAN 流水线\n- 在有 `shasum` 或 `sha256sum` 时校验 `SHA256SUMS.txt`\n- 在需要时从 `.env.example` 创建 `.env`\n- 安装内置 AUTOLEAN 的 Python 虚拟环境\n- 在本机缺少 `lean` / `lake` 时完成 Lean 初始化\n\n## 环境要求\n\n- macOS (arm64) 或 Linux (x86_64)\n- Python 3.12+\n- 足够的磁盘空间用于 bundle、Lean 工具链和 Mathlib cache\n- 如果你想走默认后端和默认数学流程，需要本机安装 `codex` CLI\n\n## 常用命令\n\n```bash\n./run -p \"prove that the square of an even number is even\"\necho \"hello\" | ./run -p\n./run --help\n```\n\n数学结果会写到 `LeanFormalizations/`。\n\n## 功能特性\n\n### Lean LSP 集成\n\n启用 Lean LSP 以获得更智能的 lemma 检索和结构化报错：\n\n```env\nMATHCODE_USE_LSP=1\n```\n\n启用后，prover 会：\n- 在 planning 前用 Loogle 检索已验证的 Mathlib lemma 名\n- 用带行列号和严重级别的 LSP 诊断代替原始 stderr\n- 在出错位置提取 proof goal，给后续 repair 更精确的上下文\n\n第一次 LSP 操作通常需要约 60 秒（加载 Mathlib），之后会快很多。\n\n如果你在运行 `bash setup.sh` 之前就设置了 `MATHCODE_USE_LSP=1`，LSP 依赖会自动安装。要在已有环境中启用，重新运行：\n\n```bash\nbash setup.sh\n```\n\n### Obsidian 定理图谱\n\n生成 Obsidian vault，以知识图谱的形式可视化定理依赖关系：\n\n```bash\n/obsidian on       # 启用并从已有形式化结果生成\n/obsidian off      # 禁用\n/obsidian generate # 立即重新生成\n```\n\n启用后，每次形式化和证明都会自动更新 `./ObsidianVault/`。在 Obsidian 中打开并使用 Graph View 查看定理与引理之间的关系。每个引理条目都包含通过 `#print` 从 Mathlib 查询到的完整 Lean 定义。\n\n### Agent 模式证明\n\n每个证明会话变成一个完整的交互式对话，Agent 使用工具迭代地证明定理：\n\n```env\nMATHCODE_AGENT_PROVE=1\n```\n\n建议同时启用 Obsidian 定理图谱（Agent 会读取 vault 获取上下文）。启用后，Agent 可以：\n- 检索 Obsidian vault 中的相关 Mathlib 引理\n- 编写证明候选并用 `lake env lean` 编译\n- 读取编译错误、搜索修复方案并重新编译（每个会话最多 10 次）\n- 实时输出推理过程和工具调用\n\n### 多规划器\n\n并行运行多个规划器以获得多样化的证明策略：\n\n```env\nMATHCODE_NUM_PLANNERS=3\n```\n\n每个规划器会提出不同的策略，所有发现的引理都会保存到 vault 中。prover 综合所有方案选择最优路径。默认值为 1（单规划器，行为不变）。\n\n## 后端设置\n\n默认配置下不需要改 `.env`：\n\n```bash\ncodex auth login\n./run\n```\n\n如果你想改成 Anthropic 兼容后端，可以设置：\n\n```env\nMATHCODE_USE_OPENAI=0\n\nANTHROPIC_API_KEY=sk-ant-...\nANTHROPIC_MODEL=claude-sonnet-4-5\n```\n\n如果你还想让数学工具也停止使用 `codex exec`，再加：\n\n```env\nAUTOLEAN_USE_CODEX=0\n```\n\nShell 里导出的环境变量优先级高于 `.env`。\n\n## 常见问题\n\n**Q: `./run` 提示还没有安装 MathCode binary**\n\n执行：\n\n```bash\nbash setup.sh\n```\n\n**Q: `./run` 报 `exec format error`、`Bad CPU type in executable` 或类似启动错误**\n\n通常是因为下载了错误平台的二进制。重新执行 `bash setup.sh`，或者手动从 GitHub Releases 下载匹配你平台的 asset。\n\n**Q: 启动时提示缺少 Codex 认证**\n\n执行：\n\n```bash\ncodex auth login\n```\n\n**Q: 能不能不 clone，直接下载 release asset**\n\n可以。你也可以直接从 GitHub Releases 下载 `.tar.gz` bundle 后解压使用。bootstrap 仓库只是把 `bash setup.sh` 作为默认路径。\n\n## 致谢\n\nMathCode 的数学形式化与证明流水线基于 [AUTOLEAN](https://github.com/T3S1AMAX/autolean.git) 项目。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmath-ai-org%2Fmathcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmath-ai-org%2Fmathcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmath-ai-org%2Fmathcode/lists"}