The Chinese README now favors skills and a desktop bundle
MathModelAgent v0.0.15 has several faces. The current Chinese README recommends a desktop app that bundles Claude Code and the project's skills. Developers can also install the skills into Claude Code or Codex, or run the older FastAPI, Redis, and frontend stack. The intended workflow breaks a modeling problem into analysis, model selection, coding, figures, paper writing, and typesetting. An English README exists, but it is shorter and does not reflect every qualification in the Chinese page.
The repository markets a ready-to-submit paper and even states a vision of compressing 3 competition days into 1 hour. Its final caution gives a much more responsible limit: AI output is for reference, and the current system should not be expected to win the national competition by itself. That later warning is the one to trust. Mathematical modeling depends on assumptions, data quality, model choice, sensitivity analysis, and clear argument, none of which becomes correct because an agent filled a template.
Several advertised features remain unfinished
The upper feature list names web search, a RAG knowledge base, human approval, evaluator feedback, and multi-stage failure handling. Farther down, the Chinese roadmap says the human-in-loop data model is not fully integrated, evaluator feedback lacks its core logic, RAG has configuration without the main retrieval path, and A2A handoff is also incomplete. It says the original Tavily search path was not implemented and OpenAlex is used instead. Those are current limits, not promised near-term deliveries.
The skills path is more concrete. A /1start-mathmodel command coordinates separate stages, and the repository includes Typst templates for Chinese and international competitions. Results can include a notebook, Markdown, figures, and a compiled paper. Our measured checkout contained 966 files, about 19,216 source lines, and 62.5 MB, so there is enough material here to inspect and adapt. The workflow still needs a person to verify every equation, source, chart label, and claim.
What happened when we ran it
Our sandbox entered backend/ at commit 83d8783 and installed 35 packages in 45 seconds, using 37 MB on disk. The build succeeded in 18 seconds. Pip-audit reported 0 known vulnerabilities in the installed Python dependencies. The environment used 3 CPUs, 8 GB of RAM, Python 3.12 on Debian, an unprivileged container, and no secrets.
There was no test script or target, so the lab skipped tests. The measured checkout had no CI workflow and no tests directory, though it did include a Dockerfile. A successful 18-second backend build confirms package construction only. It does not exercise Redis, the browser interface, model calls, code execution, document conversion, Typst output, or the desktop wrapper. We did not run those paths, and the review makes no quality or performance claim for them.
Source deployment needs more than the 37 MB backend
The backend pyproject requires Python 3.12 or newer and pulls libraries for FastAPI, notebooks, numerical work, plotting, model APIs, document handling, and Redis. Local web setup also needs Redis plus a separate frontend installed with pnpm. Environment files hold the Redis URL and model configuration. The desktop distribution avoids those manual steps by bundling Claude Code and the skills, but users still provide a model API key.
Release v0.0.15 provides macOS packages for Apple and Intel processors, both signed and notarized according to its notes. The Windows 64-bit installer is unsigned, so Microsoft Defender SmartScreen may warn. That release added more competition templates, reusable team details, file previews, and tutorial material. Those desktop conveniences do not validate the generated mathematics, and they do not address the backend's public-hosting boundary.
Unauthenticated artifact routes make public hosting unsafe
Current backend source mounts project/work_dir under /static and exposes routes for download links and task messages without a login check. Open issue 89 describes the same design and warns that someone who knows or guesses a task ID can read papers, data products, and logs. The FastAPI app also sets wildcard CORS origins with credentials. Run it on localhost or a private test network until authentication, per-user authorization, and restrictive origin settings are implemented and verified.
The absence of 35-package audit findings does not cover application-level access control. Pip-audit checks known dependency advisories; it cannot tell whether a route should require a user session. Modeling inputs may contain unpublished data, student identifiers, drafts, and paid API settings. Exposing generated files is therefore a practical data issue, not a theoretical web-hardening exercise. A reverse proxy alone cannot invent task ownership that the application does not track.
The custom license excludes ordinary commercial adoption
GitHub does not detect a standard repository license. The project's license file contains 3 short restrictions: personal use is free, commercial use requires contacting the author, and closed-source distribution plus commercial services based on the project are forbidden. A company cannot treat this like MIT or Apache-2.0 code. Obtain written terms from the author before commercial deployment, modification, redistribution, or a hosted service.
The September 2 release is active and still experimental
GitHub recorded 4,152 stars, a last push on September 2, 2026, and release v0.0.15 on the same day. The open queue held 27 issues and 4 pull requests. Recent reports cover file operations, certificate verification, context limits, API connectivity, and paper syntax. A September 4 pull request proposed stricter scholarly-reference checks, which shows contributor activity after the release.
The project itself calls the code an experimental development demo with frequent changes and bugs. That label matches our evidence better than the promise of a submission-ready paper. The clean 18-second backend build and 0 audit findings make the Python package approachable, while the missing test target and exposed routes stop the self-hosted stack from being a public service. Start with skills in a disposable project and judge the outputs against work you can solve yourself.

