STOA Agent ⁂
Six personas in one chamber, running on your machine. Council-mode debate · Bring-your-own-key · No subscription, no lock-in.
STOA is a Socratic chamber: six named personas — each with its own role, system prompt, and reasoning style — debate every non-trivial task in parallel, then a seventh dispatcher composes a verdict. STOA itself is free and open-source forever; you bind your own LLM API key (we recommend DeepSeek's free tier — 2-minute signup, no card) and STOA never sees, brokers, or proxies your key. Want one provider per persona (e.g. Sokrates → Anthropic, Veritas → Google, Drax → xAI)? Bind a different key per seat in
~/.stoa/cli-config.yaml.
This is a fork of NousResearch / hermes-agent v0.14.0 (MIT). The runtime, gateway, sandboxes, memory store, skill format, and provider plugin layer are inherited from upstream — see ATTRIBUTION.md for the full lineage. What STOA adds on top is the chamber: persona orchestration, an optional on-chain attestation preview, and a 6-agent skill-publication audit gate.
Install
macOS · Linux · WSL2 · Termux
curl -fsSL https://stoax.xyz/install.sh | sh
Windows · PowerShell
iex (irm https://stoax.xyz/install.ps1)
PyPI
pip install stoa-agent
stoa setup
⚠️ Install
stoa-agent, notstoa. The barestoaname on PyPI is an unrelated third-party package —pip install stoadoes not install this project. Always usepip install stoa-agent(or the official installer scripts above).
Homebrew
brew tap stoagent/stoa
brew install stoa-agent
Direct from source
git clone https://github.com/STOAGENT/stoa-agent
cd stoa-agent
uv venv && uv pip install -e .
stoa setup
What STOA adds
1. Council mode — six personas, one chamber
Each persona has its own system prompt, reasoning style, and tool affinity. They run in parallel against the same task, and a seventh dispatcher composes a verdict by surfacing agreement and dissent rather than collapsing the answer to a single voice.
stoa /council "audit this contract: $(cat MyToken.sol)"
# → 6 personas in parallel
# → Sokrates / Mira / Veritas / Drax / Lyra / Echo each respond
# → Verdict + per-persona dissent + response hash (local)
| Persona | Role |
|---|---|
| Sokrates | the question-maker — surfaces hidden assumptions |
| Mira | the builder — produces concrete artifacts |
| Veritas | the auditor — looks for incorrectness |
| Drax | the red team — looks for failure modes |
| Lyra | the designer — looks for clarity and form |
| Echo | the operator — looks for ops + lifecycle risk |
| Hermes | the dispatcher (the seventh) — composes the verdict |
2. Provider model — bring-your-own-key
STOA never bundles, brokers, or proxies anyone else's API key. There is no STOA cloud and no "free credits from us." Instead the first-run wizard walks you through the cheapest viable setup:
- Go to https://platform.deepseek.com/api_keys (free signup, no card).
- Create a key. DeepSeek's free tier covers typical solo use; a heavy session is a few cents.
- Paste the key. STOA writes it to
~/.stoa/cli-config.yamlon your machine and never sends it anywhere else.
Result: the chamber works end-to-end on your own DeepSeek free tier, with you in full control of the spend. Want one provider per persona (e.g. Sokrates → Anthropic, Veritas → Google, Drax → xAI)? Bind a different key per seat:
# ~/.stoa/cli-config.yaml — produced by `stoa setup`, fully editable
personas:
sokrates: { provider: deepseek, model: deepseek-reasoner } # default
mira: { provider: deepseek, model: deepseek-chat } # default
# …or override per seat with a different key + provider:
veritas: { provider: anthropic, model: claude-opus-4-7, api_mode: anthropic }
The persona names (Sokrates / Mira / Veritas / Drax / Lyra / Echo / Hermes) are role identifiers and are decoupled from any single model vendor — see
stoa /persona listfor the live binding on your machine.
3. Council-audited skill publication
The hardest problem in agent skill ecosystems is supply-chain trust. STOA's answer: no skill publishes without a 6-persona audit + 5-of-6 quorum + a local audit hash. Security, performance, prompt-injection, license, structure, attribution — six different lenses on every new skill.
stoa skill publish ./my-skill
# → 6 personas audit it independently
# → 5-of-6 quorum required
# → audit hash written locally; on-chain stamp behind --attest (preview)
4. On-chain attestation — preview
stoa --attest is currently a preview feature behind a flag.
When enabled, every council verdict optionally writes its response hash to AuditAttestationV2 on Monad mainnet, so months later anyone can verify a STOA agent ran exactly the action it claims it ran. The hashing + persistence are wired; the eth_sendRawTransaction submission and verifier client are under hardening for the next release. Until then, expect --attest to compute the hash, queue the request, and log attestation_preview: pending_submit.
If you have no need for on-chain verifiability, you can ignore --attest entirely — the chamber, the verdict, and the skill audit gate all work locally without it.
Commands
| Command | What it does |
|---|---|
stoa |
Splash dashboard + interactive REPL |
stoa chat |
Direct chat mode |
stoa setup |
First-run wizard (writes ~/.stoa/cli-config.yaml) |
stoa gateway |
Run the multi-platform daemon (Telegram, Discord, Slack, etc.) |
stoa /council "<task>" |
Six personas in parallel + verdict |
stoa /persona <name> |
Switch single-persona mode |
stoa /persona list |
Show the live persona ↔ provider binding |
stoa /verdict |
Show the last council verdict |
stoa /attest |
preview — stamp the last verdict on-chain |
stoa skill publish |
Runs the 6-persona audit gate before publishing |
stoa migrate xai |
Rewrite config to replace retired xAI models with current ones |
Skills shipped under skills/stoa/
council-verdict— orchestrate a 6-persona call from inside a skillmonad-attestation— write a hash to AuditAttestationV2 (preview)solidity-audit-pipeline— Slither + Mythril + Echidna + manual reviewerc8004-reputation— read or write agent reputation eventsstoa-skill-publish— the publication audit gate itselfmonad-mev-watchdog— passive on-chain monitorsolana-anchor-audit— Anchor-program review
Security posture
STOA inherits the same primitive set as its upstream lineage: shell execution, browser automation, plugin marketplace, optional wallet binding. These are powerful tools and require operator literacy — STOA targets the same operator profile as Cursor, Claude Code, and Aider.
- Default-OFF gates (DB encryption, PII/IP redaction, skill ed25519 signature, mandatory sandbox) are being flipped to default-ON via a
STOA_SECURITY_PRESETselector in the next release. - Bug bounty + coordinated disclosure: see SECURITY.md. Do not open public issues for security reports.
- Audit reports are not published to the master tree — coordinated disclosure first. We ship fixes, then summary write-ups.
License
MIT for the STOA Agent codebase. See LICENSE. The upstream MIT license is preserved verbatim; this fork adds the attribution recorded in ATTRIBUTION.md.
Bundled assets carry their own licenses:
web/public/fonts-terminal/JetBrainsMono-*.woff2— SIL Open Font License 1.1, seeweb/public/fonts-terminal/OFL.txt.optional-skills/productivity/powerpoint/— Proprietary, Anthropic. Opt-in only (setSTOA_ENABLE_OPTIONAL_SKILLS=1to discover it). Use is governed by your separate agreement with Anthropic; the fileoptional-skills/productivity/powerpoint/LICENSE.txtships the full terms. NOT covered by MIT.optional-skills/mlops/inference/obliteratus/— AGPL-3.0. Opt-in viaSTOA_ENABLE_REDTEAM=1. AGPL §13 obligations apply if you ship a network-accessible service that incorporates this skill.
Links
- Docs · https://stoax.xyz/cli
- Chamber · https://stoax.xyz
- PyPI · https://pypi.org/project/stoa-agent/
- Source · https://github.com/STOAGENT/stoa-agent
- Upstream lineage · ATTRIBUTION.md
Metadata
Release files for stoa-agent 0.14.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| stoa_agent-0.14.10.tar.gz | 10.9 MB | With provenance | Details for stoa_agent-0.14.10.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| stoa_agent-0.14.10-py3-none-any.whl | Python 3 | none | any | Details for stoa_agent-0.14.10-py3-none-any.whl |
Total release size: 22.4 MB
Release files / stoa_agent-0.14.10.tar.gz
| Download URL | stoa_agent-0.14.10.tar.gz |
|---|---|
| Size | 10.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2bda1fc9d963eedede1c78772c3aa5548bfce12af40c6f500e64ee0e6ee9db9
|
|
BLAKE2b-256 checksum How to use checksums |
a4eb07525b0d660a6c8a8fbba73dcff767095b13e125de7aa8eeb23c595db72e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jun 3, 2026.
Transparency logRelease files / stoa_agent-0.14.10-py3-none-any.whl
| Download URL | stoa_agent-0.14.10-py3-none-any.whl |
|---|---|
| Size | 11.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5dc29fef33070bc8b1f0876498f747dc36ef390110944b67c3499ff5ba73ae7
|
|
BLAKE2b-256 checksum How to use checksums |
bfafda22fc53218b69df28d647736f39b4ae18e460cd5622e2552feb5a8c5d0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jun 3, 2026.
Transparency logSecurity for stoa-agent 0.14.10
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for stoa_agent-0.14.10.tar.gz
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 Jun 3, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.