AxonX overview
An agent-native harness for quantitative research.
English · 简体中文
Website ·
Documentation ·
Issues ·
Contributing
What is AxonX?
AxonX connects research code, task execution, logs, and results in one workspace. It represents data processing, factor analysis, training, prediction, and backtesting as Tasks with explicit input and output contracts. CLI, AxonX Studio, and Agent access the same capabilities through Job interfaces.
Researchers can inspect how a result was produced, reuse upstream data, compare experiments, and let an Agent investigate tasks and artifacts. Plugin authors supply the research algorithms; AxonX provides the execution and inspection infrastructure. AxonX is currently in alpha.
Why AxonX?
- Reuse research code as Tasks. Typed inputs and outputs make data, model, and artifact requirements explicit. → Task contracts
- Execution you can inspect. Submit Tasks to independent worker processes and follow status, progress, logs, and results. → Task management
- Trace results back to their inputs. Workspace records keep parameters, artifacts, and upstream Task IDs together so you can reuse datasets and inspect experiment differences. → Task lineage
- One workflow across CLI, AxonX Studio, and Agent. Use scripts, browser forms and charts, or an assistant that reads task evidence through configured tools. → AxonX Studio · Agent
- Extend and run remotely. Package research capabilities as plugins and explicitly choose a remote execution target. → Plugins · Remote machines
AxonX Studio
AxonX Studio provides task submission, run details, machine resources, workspace browsing, and research result views.
See Getting started with AxonX Studio for setup and connection instructions.
Quick start
Requires Python 3.12+, with local Task execution on macOS and Linux. Use an activated virtual environment.
Install from PyPI
pip install "axonx[studio]"
This includes the CLI, API, MCP, and prebuilt AxonX Studio. For the core alone, install axonx.
Install from source
Requires Node.js 22.13+ (22.x), 24.x, or 26+ to build AxonX Studio:
git clone https://github.com/FlowLLM-AI/AxonX.git
cd AxonX
pip install -e .
cd axonx_studio
npm ci && npm run build
cd ..
pip install ./axonx_studio
This installs the core from source and builds and installs AxonX Studio locally. See Contributing for development setup and AxonX Studio development to modify the frontend.
Configure .env
Create .env in the directory where you start AxonX. The CLI loads it automatically; existing environment variables take precedence.
# Service authentication: choose your own token
AXONX_SERVICE_TOKEN=replace-with-your-local-service-token
# Optional: built-in Agent (Claude-compatible backend)
# CLAUDE_CODE_API_KEY=your-api-key
# CLAUDE_CODE_BASE_URL=https://api.anthropic.com
# CLAUDE_CODE_MODEL_NAME=your-model-name
# Optional: Tushare data download
# AXONX_TUSHARE_TOKEN=your-tushare-token
# AXONX_TUSHARE_BASE_URL=http://api.waditu.com/dataapi
The service token is sufficient for task management and AxonX Studio. Fill in the Agent settings when using the research assistant, or the Tushare token when downloading market data; override the Tushare URL only for a compatible custom endpoint. See example.env for remote-service and DingTalk settings. Keep .env out of version control.
Open AxonX Studio
axonx start --service.host 127.0.0.1
Open http://127.0.0.1:1024/ and enter AXONX_SERVICE_TOKEN from .env in Settings → Service token. See the full quick start for asynchronous submission, waiting, and result inspection.
Research with an Agent
The built-in assistant uses the Claude Agent SDK and configured Job tools to inspect task status, logs, upstream relationships, and workspace artifacts. Configure the Agent backend, then open Agent in AxonX Studio. Ordinary research Tasks can run without model credentials.
Give it specific Task IDs and questions, for example:
- “Check Task
<task_id>'s status, tail logs, and upstream tasks. Explain where it failed and what to inspect next.” - “Compare Backtest Tasks
<A>and<B>: check their common date window and cost assumptions before explaining the results.”
External Agents can also connect to the service's Streamable HTTP MCP endpoint at http://127.0.0.1:1024/mcp using the service's Bearer token. Available tools depend on the service configuration. See Agent usage and MCP integration for tools and permissions.
How it works
CLI / AxonX Studio / external Agent → Job interfaces → Task execution → workspace records and artifacts.
Jobs validate calls and coordinate framework capabilities. For research submission, the TaskManager starts a worker process and returns a run identifier; the Task writes status, logs, and outputs. Query Jobs and AxonX Studio then read those records. axonx exec runs a Task directly in the current process.
Research plugins supply the algorithms. Upstream Task IDs record relationships, while users or scripts organize stage-by-stage execution. See the architecture for the component boundaries.
Quantitative research and plugins
A typical research chain is raw data → ETL → training → prediction → backtesting, with factor analysis branching from ETL. Tasks record upstream IDs through source_tasks, so datasets and predictions can be reused across experiments. Users or calling programs submit each stage.
The core supplies Task contracts and runtime infrastructure. Research plugins implement factors, models, and backtesting logic:
| Plugin source | Purpose |
|---|---|
| Alpha158 | Alpha158 research task implementations |
| Alpha158 Enhanced | Extended Alpha158 research tasks and experiment guidance |
Install a research plugin in the execution service's Python environment, then restart the service:
pip install axonx-alpha158
# Or: pip install axonx-alpha158-enhanced
Start with the research workflow for plugin installation and data prerequisites. Market-data and Agent features need their own provider configuration. See Interpreting backtests for return definitions, costs, and trading assumptions.
AxonX Studio reads the resulting artifacts to display training metrics, predictions, and backtest summaries. For example, the backtest view shows overall signal metrics alongside period summaries:
This screenshot illustrates an existing experiment's result view. See Research results for how to read each stage's outputs.
Documentation
| I want to… | Guide |
|---|---|
| Install and run my first Task | Quick start |
| Submit and inspect tasks in a browser | AxonX Studio |
| Run the research chain and understand results | Research workflow |
| Configure the research assistant or external MCP tools | Agent configuration · MCP integration |
| Execute on another machine | Remote machines |
| Configure and call AxonX | Configuration · CLI · Python |
| Build research tasks or framework extensions | Development guide · Framework extensions |
Browse the complete bilingual documentation.
Contributing
Bug reports, feature requests, documentation improvements, research plugins, and code contributions are welcome. Search existing issues and read the contribution guide for development setup and checks.
License
AxonX is released under the Apache License 2.0.
Metadata
Release files for axonx 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| axonx-0.0.3.tar.gz | 145.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| axonx-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 345.2 kB
Release files / axonx-0.0.3.tar.gz
| Download URL | axonx-0.0.3.tar.gz |
|---|---|
| Size | 145.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b737b00c6da04712d9bfa4969f85f70476b80ff000cb002899dc4fb116b83f63
|
|
BLAKE2b-256 checksum How to use checksums |
657144feaabdbfea01423cf6470c2e82ded4b44681dac5680d10b54fd865c3f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / axonx-0.0.3-py3-none-any.whl
| Download URL | axonx-0.0.3-py3-none-any.whl |
|---|---|
| Size | 199.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ddab4a26bc6375e9211515ee96df9ae7e51daef3bf1429b395f4f2e3c84c6019
|
|
BLAKE2b-256 checksum How to use checksums |
7acf1762c55dc77fdff1b92f0a77ae8a0588a01dcd3234e74689a8535f96411c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency log