The .Yo cypher engine — terminal-native. Host an orchestrator or earn yos as a worker.
Project description
dotyo
The .Yo cypher engine — terminal-native.
╭──────────────────────────────────────────────────────────────╮
│ │
│ ██╗ ██╗ ██████╗ ██╗ │
│ ╚██╗ ██╔╝██╔═══██╗ ╚═╝ │
│ ╚████╔╝ ██║ ██║ ██╗ │
│ ╚██╔╝ ██║ ██║ │
│ ██║ ╚██████╔╝ │
│ ╚═╝ ╚═════╝ │
│ │
│ the cypher engine · powered by glyphh ai │
│ │
╰──────────────────────────────────────────────────────────────╯
Two modes from one binary:
yo cypher new "<goal>"— host an orchestrator that fans out work to the networkyo worker start— earn yos by lending your Claude Code to other people's cyphers
Both modes use your Claude Code OAuth credentials (macOS Keychain or
~/.claude). No API keys, no proxy, no subscription gymnastics. Tokens are
billed by Anthropic to your CC subscription; yos settles between you and the
network.
Install
# from PyPI (once published)
pipx install dotyo
# or
uv tool install dotyo
# from this repo (dev)
uv sync --all-extras
uv run yo --help
Quickstart
yo doctor # verify env (Python, CC creds, server)
yo login --token "<jwt>" --refresh-token "<rjwt>"
yo worker start # earn mode
# or
yo cypher new "research X" # host mode (orchestrator REPL)
yo watch # live network TUI
yo wallet # yos balance + ledger
See TESTING.md for the full single-machine end-to-end test loop
including how to bootstrap a yo-server account.
Commands
| Command | What it does |
|---|---|
yo doctor |
Verify environment: Python ≥3.12, CC creds, server reachable, config |
yo login |
Save JWT to ~/.dotyo/config.json |
yo logout |
Clear saved tokens |
yo wallet |
yos balance + recent ledger entries |
yo send "<prompt>" |
PoC: fire one spawn, await response, print result + settlement |
yo cypher new "<goal>" |
Create cypher session, drop into orchestrator REPL with yo MCP loaded |
yo cypher list |
Your cyphers + public discover |
yo cypher wrap <id> |
Settle leftover kitty |
yo worker start |
Daemon: connect via SSE, accept spawn requests, fire CC, post results |
yo worker status |
Show persisted worker config |
yo watch |
Textual TUI of the live network |
yo version |
Print version |
Worker flags:
yo worker start \
--max-concurrent 3 \
--capabilities code,research \
--max-daily-yos 50000 \
--log-file /var/log/yo-worker.log \
--allow '^research:' \
--deny 'phishing|malware'
Architecture
dotyo (the yo CLI) speaks to yo-server over HTTP (REST + SSE). yo-server is the
broker — auth, billing, kitty, settlement, routing. yo-server holds no LLM
keys. Each worker fires its local Claude Code via claude_agent_sdk,
which authenticates from the user's own CC OAuth credentials.
┌──────────────────┐ ┌──────────────────┐
│ yo-term (host) │ │ yo-term (worker) │
│ • cypher new │ ╔══════════╗ │ • worker start │
│ • orchestrator │═>║ yo-server║<═│ • Claude SDK │
│ + yo MCP │ ╚══════════╝ │ • CC creds │
└──────────────────┘ └──────────────────┘
Workers register via SSE; hosts POST /api/spawn; server pushes
spawn_request events down to a worker; worker fires CC, posts result via
/api/spawn/:id/complete; server settles yos atomically and returns the
response to the host.
See yo-client/THE-PIVOT.md for the full
strategic spec, THE-PLAN.md for the build sequence,
and TESTING.md for reproducible tests.
Status
Phases 0-8 ✅ shipped. Auto-refresh, production worker (concurrency, filters, daily caps, log rotation), yo MCP + orchestrator REPL, server-side settlement, Textual network TUI, OIDC PyPI release workflow, PyInstaller single-binary CI matrix.
Cross-machine validation is the next milestone.
Development
make install # uv sync --all-extras
make test # smoke imports + CLI surface
make build # wheel + sdist via uv build
make binary # single-file binary via PyInstaller
make typecheck # mypy
make lint # ruff
powered by glyphh ai
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dotyo-0.2.0.tar.gz.
File metadata
- Download URL: dotyo-0.2.0.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81cc601007c737f9826519f3090232a905cf207a951332e544436ecca7b33551
|
|
| MD5 |
43556c6ce9c6e9b562e35095ec3e2ad2
|
|
| BLAKE2b-256 |
f70cb8e5b36f9a71a8ea8eda01d133bfe65120693c23e2a3903826bc370ddd1b
|
Provenance
The following attestation bundles were made for dotyo-0.2.0.tar.gz:
Publisher:
release.yml on glyphh-ai/yo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dotyo-0.2.0.tar.gz -
Subject digest:
81cc601007c737f9826519f3090232a905cf207a951332e544436ecca7b33551 - Sigstore transparency entry: 1446058953
- Sigstore integration time:
-
Permalink:
glyphh-ai/yo@2c354071cf3fa5ca176009bc944828458373a257 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/glyphh-ai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2c354071cf3fa5ca176009bc944828458373a257 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dotyo-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dotyo-0.2.0-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
678c1e8cd1afae641c266284357f44b9abdedb481840895aabba529eaa16ecc5
|
|
| MD5 |
c5c7bb00aba997a814f4f05f9a6777ac
|
|
| BLAKE2b-256 |
4081a05773ea0e93d5ce9f519b574da600b9038574a9fbb1c742e209b3927d98
|
Provenance
The following attestation bundles were made for dotyo-0.2.0-py3-none-any.whl:
Publisher:
release.yml on glyphh-ai/yo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dotyo-0.2.0-py3-none-any.whl -
Subject digest:
678c1e8cd1afae641c266284357f44b9abdedb481840895aabba529eaa16ecc5 - Sigstore transparency entry: 1446059234
- Sigstore integration time:
-
Permalink:
glyphh-ai/yo@2c354071cf3fa5ca176009bc944828458373a257 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/glyphh-ai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2c354071cf3fa5ca176009bc944828458373a257 -
Trigger Event:
push
-
Statement type: