🚀 ZYRA CLI: Decentralized AI Agent & PoUW Network
A powerful, self-organizing decentralized AI network client and terminal-based Agentic AI framework powered by Proof-of-Useful-Work (PoUW).
🌟 Core Ecosystem
- ZYRA CLI (
zyra_cmd/zyra_cli.py): Interactive terminal assistant with autonomous tool-calling, multi-model support, and P2P networking. - P2P Gossip Network (
p2p/): Decentralized node communication for task broadcasting and consensus. - Proof-of-Useful-Work (PoUW): Consensus mechanism where AI Miner nodes execute tasks and Smart Judges validate trajectories deterministically.
- Blockchain Integration (
blockchain/&mythchain/): EVM tokenomics (Celo/Hardhat) and sovereign Cosmos SDK L1 roadmap (MythChain). - AI Research (
ai/): Scratch-built Transformer architecture and training framework.
📦 Installation & Setup
python -m venv venv
.\venv\Scripts\activate
pip install -e .
🚀 Running ZYRA CLI
zyra
OR
python -m zyra_cmd.zyra_cli
Client Mode: Engine, Tasks & Result Folder
Client nodes can submit tasks without installing Ollama. The first Ollama installation
answer is remembered across CLI restarts. If you choose n, subsequent launches do
not repeat the installation prompt. To install/start Ollama and select a local model later:
/engine
Set the destination for future task results before submitting:
/output "D:\Hasil ZYRA"
/submit Buat aplikasi kalkulator Python
/tasks
On Linux/macOS, for example, use /output ~/hasil-zyra. Paths with spaces are supported.
/output with no argument shows the current folder. The default is ~/ZYRA Results.
Each task remembers its absolute destination at submission time; changing /output
does not move previous or in-progress tasks.
Task IDs, progress, download status, and result locations are saved in client.db
under %APPDATA%\ZYRA AI on Windows, or ~/ZYRA AI when APPDATA is unset.
When the CLI is reopened:
- A summary shows previously downloaded results and their workspace/ZIP paths.
- Pending tasks resume tracking through P2P mempool synchronization.
- Tasks completed while the client was offline are downloaded once their completion and result CID are received from peers.
- Failed downloads are retried while the CLI is running. Successfully saved results are not downloaded again, and existing result folders are not overwritten.
/tasksshows the full local task history, destinations, and latest download errors.
Recovery requires a peer that still knows the task and an online node serving its workspace. Closing the client stops local monitoring/downloads until it is reopened. Tracking applies to tasks submitted with this version; older sessions that never saved task history cannot be reconstructed from local history automatically.
PoUW Judge Votes (prototype, local changes after v2.1.51)
The /judge command signs PASS or FAIL votes using ECDSA/secp256k1. Votes bind
the task ID, trajectory hash, workspace CID, acceptance hash, verdict and reason.
Peers check the signature and judge address and count two different judge
addresses before marking a task completed or sending failure feedback to a
miner. The miner waits for the quorum before moving to the next task; its local
ledger only records a reward once per task after approval. A failed quorum
returns structured reasons so the same miner can retry that task.
Run two independent judge nodes for end-to-end testing. Judges need a wallet
created with ecdsa installed; older simulated wallets without a real 128-hex
public key cannot submit a signed vote. This is a prototype vote quorum:
judge selection and Sybil resistance are not implemented, and local SQLite
balances are not final on-chain settlement. ZIP content addressing was added in
v2.1.53; opaque IDs remain supported for older tasks.
P2P Artifact Integrity (v2.1.53)
New automode workspace ZIP files use sha256:<hex digest> content IDs. Nodes
verify the seeded file and verify the complete reconstructed download against
that digest before making it available to the judge or client. Invalid chunks,
oversized chunks, and artifacts larger than 256 MiB are rejected. Legacy opaque
IDs remain readable for compatibility but carry no content-integrity guarantee.
Signed Task Leases (local changes after v2.1.53)
Miners now publish a signed 30-minute lease for a task. Peers that see competing claims choose the same lease ID deterministically; stale leases expire back to a retryable task, and the lease/attempt ID is bound to the submitted trajectory and judge votes. This reduces duplicate mining and recovers tasks after a miner stops. It is a best-effort P2P lease, not a globally atomic lock: partitions or delayed claims can still cause duplicate work. Chain-level consensus is required for a single globally final task owner.
Metadata
Release files for zyra-network 2.1.54
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zyra_network-2.1.54.tar.gz | 114.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zyra_network-2.1.54-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 221.6 kB
Release files / zyra_network-2.1.54.tar.gz
| Download URL | zyra_network-2.1.54.tar.gz |
|---|---|
| Size | 114.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
42bd17e2b90207b92951abc021b502a2056fcab63f2403d3522b8bc53a90813e
|
|
BLAKE2b-256 checksum How to use checksums |
6b31787a90c07be6871eb1c0069f48c8617dac0786913854992c20a47fd04dba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / zyra_network-2.1.54-py3-none-any.whl
| Download URL | zyra_network-2.1.54-py3-none-any.whl |
|---|---|
| Size | 107.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f832f1622d32ed07ae91b3febabe76af6cda476a2f1c840062ce9d4bc63366f
|
|
BLAKE2b-256 checksum How to use checksums |
b94bfb854e202dc2dc69305e6326c999946a59ba62154686a29da942f9ecedcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|