Aria Code
An open-source AI agent for coding, financial analysis and logistics operations.
Numbers you can check, client data kept apart, actions a person approves.
简体中文 · English
A real session on Gemini 2.5 Pro (Vertex AI): Aria writes fx.py and its tests, runs them once each step is approved, then /review checks the change and gives its verdict. Waiting is shortened; nothing else is changed. Still · Recorder · Renderer
What Aria Code does
Writes code and builds projects. Describe the task in plain words. Aria reads the project, writes and edits files, runs commands and tests, and shows every change before it lands — nothing is written or run until you say yes. /review reviews a change the way a careful colleague would: prioritised findings (P0–P3) with file and line, and a verdict; aria-code review --base main --fail-on P1 gates a pull request in CI. Use a local Ollama model, Gemini on Google Cloud (Vertex AI, with nothing more than a gcloud login), or another supported provider.
Analyses markets and finances. Quotes, technical indicators, backtests with an HTML report, risk and factor analysis, SEC filings, and US, Hong Kong, A-share and crypto data. Results name their data source, period and any gaps.
Runs logistics operations. For third-party logistics: reorder points, safety stock, ABC/XYZ classes, dead stock, carrier scorecards and freight anomalies — and in Feishu, a daily digest per shipper with approval cards.
Both recorded from real sessions — market data from yfinance; the logistics data is the sample 3PL in evals/fixtures, with no model call.
How it works
A general-purpose assistant aims for an answer that reads well. In code, markets and warehouses the result gets acted on — a rounding rule in a currency function, one purchase order left out of a reorder quantity. Three rules follow from that.
Numbers you can check. Reorder points, safety stock, carrier rankings and backtests come from stated formulas and named data, with the formula and every assumption in the result — as does stablecoin settlement reconciliation, from the Artheras skills Aria Code can install. When the data cannot support an answer — under 14 days of demand history, rows that name no shipper — it says so instead of estimating. The operations eval suite checks exactly these traps.
Client data kept apart. A third-party logistics provider holds many clients' stock side by side. A chat group bound to one shipper confines every analysis to that shipper, and the logistics tools themselves refuse another shipper's data or an unattributable file — the rule holds below the prompt, whatever the model asks for.
Actions a person approves. In the terminal, every file write and command waits for your yes, with the diff in front of you. In Feishu, /补货 turns the reorder list into a purchase-order draft card; nothing happens until an authorised approver presses approve, and what runs is exactly what was shown. The draft is a file for your own purchasing system — Aria Code places no orders.
A fresh install has no live business data: the logistics tools read your exports (CSV or JSON), market data comes from public sources, and the chat features need a Feishu app or the Aria relay.
Quick start
Install the standalone CLI on macOS or Linux without Python, Node.js, or npm:
curl -fsSL https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.sh | sh
~/.local/bin/aria
On Windows x64, run this in PowerShell:
irm https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.ps1 | iex
aria
The installer downloads the binary for your OS from the latest GitHub release, checks its SHA-256 digest, and installs it in your user account. Open a new terminal to start the interactive CLI with aria, aria code, or aria-code. Set ARIA_CODE_VERSION=v0.55.0 to pin a release.
Alternative package-manager installs: npm install -g @artheras/aria-code (requires npm) or python3 -m pip install --upgrade "aria-code<4" (requires Python 3.10+; the <4 skips an older 4.x numbering that PyPI still lists). For development from source, see CONTRIBUTING.md.
Updates
Aria checks for a newer stable version in the background at startup, at most once per day. Cached notices appear immediately; network checks never delay the prompt. It checks GitHub Releases, or scoped npm for npm installs. Pip updates pin the GitHub version and verify that version is available on PyPI, avoiding the older 4.x numbering still listed as PyPI's latest. Source checkouts receive Git update instructions.
aria update --check # check without installing
aria update # install the newest stable version for this install channel
In an interactive session, use /update --check or /update, then restart Aria. Native updates verify SHA-256 and the downloaded binary's version before switching the command; a failed download or verification leaves the existing command in place. Startup checks only notify. To disable them, set check_for_update_on_startup to false in ~/.aria-code/config.json.
For GitHub notifications, open this repository, select Watch → Custom → Releases, and save. Notifications follow your GitHub notification settings. Published stable releases appear on the release page once the platform assets and package publishing have completed.
To use a local model, install Ollama, pull a coding model, and start Aria in local-only mode:
ollama pull qwen2.5-coder:7b
aria-code --local
Or run a single task in an existing project:
aria-code -p "Inspect this project, fix the failing tests, run them, and summarize the diff."
Aria may request approval before editing files or running commands, according to the configured permission mode. Review changes and test results before committing them.
Models and accounts
| Route | What it needs |
|---|---|
| Local Ollama | An installed and running Ollama model; no cloud account for local inference. |
| Direct cloud provider | That provider's API credentials and network access. |
| Direct Google Cloud Vertex AI | GOOGLE_CLOUD_PROJECT and either a gcloud auth login (Aria uses Vertex AI's OpenAI-compatible endpoint with that login's token) or Application Default Credentials with aria-code[google]. GOOGLE_CLOUD_LOCATION defaults to global. |
| Arthera hosted service | Install aria-code[google] and sign in through /login in the CLI. Arthera account sign-in does not grant Vertex AI credentials to your own machine. |
Install extras only for features you use; see pyproject.toml for the current package options. Local inference can work offline, but live market data, remote integrations, sign-in, and cloud models cannot.
Explore the project
| Topic | Start here |
|---|---|
| Architecture and runtime | Architecture |
| Tool permissions and data boundaries | Safety notes |
| Warehouse agents and their read-only data contract | Warehouse ERP agents |
| Strategy and backtesting workflows | Strategy workspace |
| More examples | Examples |
| Releases and changes | Changelog |
For the current command-line flags, run aria-code --help. For help inside the interactive CLI, run /help. These are preferable to a copied command inventory that can drift from the product.
Contributing and license
Contributions are welcome; see CONTRIBUTING.md. Aria Code is open source under the Apache License, Version 2.0.
Releases 4.2.0 through 4.4.5 were published under the Business Source License 1.1 and remain available under those terms; releases up to and including 4.1.2 were MIT. A license grant cannot be withdrawn from someone who already has it, so each version keeps the license it shipped with — see NOTICE.
Metadata
Release files for aria-code 0.77.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aria_code-0.77.0.tar.gz | 2.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aria_code-0.77.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.8 MB
Release files / aria_code-0.77.0.tar.gz
| Download URL | aria_code-0.77.0.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e3dd4d66f4920db0c9f95ddc9a13bd914a9388fdaa2ad8a9663537b9e3d3fd14
|
|
BLAKE2b-256 checksum How to use checksums |
c1b5abce506e1a5991644f9cd69659630f6ee5976d31f4f3fcb9da3624a2cc80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / aria_code-0.77.0-py3-none-any.whl
| Download URL | aria_code-0.77.0-py3-none-any.whl |
|---|---|
| Size | 1.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6399dad44f703c228f3a39266ed0a67249b45eaaae167aaf8f1b668254e7b22b
|
|
BLAKE2b-256 checksum How to use checksums |
3901f595fe39485c7d11ed8c30703e4e4a111170d977da25876f2df8a223fb42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|