Axiom is a local-first AI coding workbench for Windows. It combines a Python agent runtime, an Electron desktop shell, a React frontend, and a Java security layer to provide conversations, tool execution, approvals, workflow state, and provider configuration in one desktop application.
The Python package is still named
reasonixinternally for compatibility, while the product-facing name is Axiom.
- Desktop AI coding workbench built with Electron + React.
- Python agent engine based on LangChain / LangGraph / MCP integrations.
- Java security layer for permission gates, Guardian checks, audit boundaries, and sandbox-related services.
- Provider setup screen after installation, so users configure their own API provider and key.
- OpenAI, Anthropic, DeepSeek, OpenAI-compatible, and Anthropic-compatible provider formats.
- Ask / Allow / Deny approval flow for tool calls and potentially sensitive actions.
- Slash command and workspace mention UX foundations for faster interaction.
- Local packaging flow for Windows installer and portable desktop output.
.
|-- desktop/
| |-- electron/ # Electron desktop shell and packaging config
| `-- python-frontend/ # React + Vite frontend
|-- reasonix-py/ # Python agent runtime and desktop bridge
|-- reasonix-java/ # Java security / sandbox service
|-- docs/ # Review notes, issue summaries, and migration records
|-- build_all.ps1 # Full Windows build script
`-- docker-compose.yml # Optional infrastructure services
- Windows 10 or later
- Python 3.12+
- Node.js / npm
- Java 21
- Maven Wrapper support through
reasonix-java/mvnw.cmd
Install and test the Python runtime:
cd E:\reasonix\reasonix-py
python -m pip install -e ".[dev]"
python -m pytestRun the frontend:
cd E:\reasonix\desktop\python-frontend
npm install
npm run buildBuild the Electron desktop shell:
cd E:\reasonix\desktop\electron
npm install
npm run buildBuild the full Windows package:
cd E:\reasonix
.\build_all.ps1Typical build outputs are created under local build directories such as reasonix-build/ or axiom-build/. These generated artifacts are intentionally ignored by Git.
Axiom does not need API keys committed into the repository or bundled into the installer. After installation, users should configure their own provider in the desktop app.
Supported provider styles include:
- DeepSeek OpenAI-compatible API
- DeepSeek Anthropic-compatible API
- OpenAI
- Anthropic
- Custom OpenAI-compatible endpoint
- Custom Anthropic-compatible endpoint
Axiom is designed around explicit approval for sensitive operations:
Ask: request user confirmation before continuing.Allow: approve selected tool calls or trusted classes of actions.Deny: reject unsafe or unwanted actions.
The installed desktop application starts a private Java runtime before the Python agent. Every desktop bash call is sent to that Java service over loopback gRPC with a random per-launch token; if the service is unavailable, shell execution fails closed while the conversation remains usable. The installer bundles the Java runtime and security JAR, so users do not need to install Java separately.
The current Windows backend provides command policy checks, secret-stripped environments, timeouts, output limits, and Job Object/process-tree guards. It does not claim AppContainer-level filesystem or network isolation. Requests that require guarantees the active backend cannot provide are rejected in strict mode.
After a stable build, create a Git tag and attach the installer to a GitHub Release:
git tag v0.2.1
git push origin v0.2.1Then upload the generated installer from the local build output directory in the GitHub Releases page.
- Legacy Wails / Go desktop code has been removed. The active desktop app is Electron-based.
- Runtime secrets, provider config, local caches, generated installers, and build outputs are excluded from Git.
- The repository is intended to keep source code and documentation only.