Slash commands are evaluated case-insensitively for the leading token. Natural language without a leading / follows the conversational path (memory substring check, URL expansion, file follow-up, or stream_response).
Master-only commands when arpa_id does not start with R: ask, markets, dna, 0x, and legacy first-token send (migration notice only). Enforcement exists in handle_user_query() and in the main input loop (including 0x so /0x cannot bypass tier checks).
| Input | Behavior |
|---|---|
exit or quit |
In the main loop, breaks the while True session. Inside handle_user_query, first-token exit/quit calls sys.exit(). |
/status |
Speaks a short line, prints reboot text, sleeps, then runs boot_up_sequence() again (full camera auth). |
/help—display_help()grouped listing; playssystem_sounds/helpbell.mp3next tohelp.py./help <command>— Looks up<command>indetailed_help_texts(help.py). Examples:/help markets,/help 0x,/help soulsig,/help room.
Keys include: recall, forget, memorize, ask, markets, dna, 0x, receive, imagine, music, read, open, close, weblimit, status, voice, vision, mail, help, soulsig, room, video.
- Expands text into search queries via Ollama (
create_queries). - Embeds queries with
nomic-embed-text, queries Chromaconversations, classifies hits (classify_embedding), merges snippets intoconvo, then streams a new reply.
Implemented in both the main loop and handle_user_query with the same high-level pattern.
Example
/recall budget spreadsheet assumptions
Deletes the latest PostgreSQL row (max id) and the Chroma document with that id; removes the last user/assistant pair from RAM convo.
Stores a user message with assistant reply Memory specimen successfully implanted. so the pair is embedded.
Example
/memorize Weekly backup runs Sunday 02:00 local time.
| Command | Description |
|---|---|
/voice |
Full duplex voice loop until timeout or /voiceoff. |
/voice1 |
Assistant speaks; you type in the main loop. |
/voice2 |
You speak; assistant responds in text. |
/voiceoff |
Clears voice flags. |
Boot latch: listen_for_voice_command(5) after boot listens for the word voice to auto-enable /voice.
See VOICE.md.
- Regex in handler: model first token, remainder is prompt (see
handle_user_query). /ask g1 live—start_live_g1_conversation(); requiresG1_VOICE_LIVEin.env.- Nyx — OpenAI Assistants (
NYX_ASSISTANT_ID,OPENAI_API_KEY,ORG_ID). - G1 — Google Gemini via
google.generativeai.
Examples
/ask Nyx Outline a minimal REST client with retries and backoff.
/ask G1 Compare optimistic and zk rollups for a settlement layer pitch.
/ask g1 live
- Pattern:
/room nyx, g1: fault tolerant control plane design - Valid agents (case-insensitive):
nyx,g1(OPSIE always included internally). - Regex:
^/room\s+([^:]+):\s*(.+)$— comma-separated agent list before the colon.
Standalone rooms: The in-repo /room flow is the integrated temporal nexus inside one OPSIIE session. For a decoupled multi-agent room runtime and related tooling, see arpahls/rooms on GitHub.
- If a room is active:
Room.close()then clearscurrent_room. - If in file workflow: clears
file_contextwhen routed as theclosecommand insidehandle_user_query.
Full resolution lives in markets.py / markets_mappings.py.
Shapes
/markets <sector>
/markets <company_or_alias>
/markets <currency>
/markets <crypto_alias>
/markets <company> <extra>
/markets compare <ticker_or_alias> <ticker_or_alias>
Company extras: statistics, history, profile, financials, analysis, options, holders, sustainability (see /help markets).
Data source: yfinance (network required).
Handled by Web3Handler (web3_handler.py).
For a standalone, advanced Web3 agent (dynamic parsing, multi-chain workflows, and analytics-oriented evolution of this stack), see Hermes3 in the ARPAHLS organization. OPSIIE keeps /0x for integrated terminal sessions; Hermes3 is the better fit when Web3 is the primary product surface.
/0x buy <amount> <token> using <token> on <chain>
/0x sell <amount> <token> for <token> on <chain>
/0x send <chain> <token> <amount> to <recipient>
/0x receive
/0x gas low|medium|high
/0x new token <name> <chain> <address>
/0x new chain <name> <chain_id> <rpc_url>
/0x forget token <name>
/0x forget chain <name>
Legacy: first token send prints migration text toward /0x send ....
Quirk: receive without a leading slash is still handled as a command word inside handle_user_query (first token receive). Prefer /0x receive for clarity.
/mail inbox
/mail user@example.com subject "Title" content "Body"
Natural-language variants are parsed by send_mail() (see /help mail). /mail inbox opens the IMAP interaction loop.
/read "<path>"— Optional trailing text is treated as an immediate follow-up question.- Extensions handled in code:
.csv,.pdf,.docx,.txt,.xlsx. /open— Re-arms last file context (does not reload from disk)./close— Clearsfile_context.
Example
/read "D:\Reports\quarterly.pdf" Summarize risks in one paragraph.
- POSTs to
HF_API_URL(default Hugging Face Inference FLUX.1-dev endpoint). - Bearer token from
HUGGINGFACE_API_KEYorHF_TOKENin.env(no hardcoded token in 0.3.80 XP). /imagine model <hf_model_id>— Probes with GET then switches URL tohttps://api-inference.huggingface.co/models/<id>.- Saves PNG under
outputs/images/(created next to the repo) and opens the image viewer when possible.
Local MusicGen small (facebook/musicgen-small). Saves WAV under outputs/music/ and plays via pygame.
Delegates to video.py. Saves MP4 under outputs/videos/ and may open a browser.
Minimum:
/dna ATGCGTAC
Flags and extended modes are documented in /help dna and implemented in dna.py. Remote etiquette may require NCBI_EMAIL.
/weblimit
/weblimit 2000
/weblimit default
Controls HTML paragraph extraction length for describe_webpage (default 1000, allowed band 500–5000). The main loop calls change_weblimit(); handle_user_query routes weblimit through handle_weblimit_command() for alternate parsing — both target the same global.
/soulsig
/soulsig Prefer concise bullet answers for design reviews.
/soulsig wipe
/soulsig heal
Persisted through save_known_user_names() rewriting kun.py.
Invokes select_theme() from terminal_colors.py during a session. Voice shortcut theme is recognized in handle_voice_command.
If a conversational line contains:
- Image URL ending in
.png,.jpg,.jpeg,.gif,.bmp,.tiff,.webp— BLIP caption replaces the URL token inline. - Other HTTP(S) URLs —
describe_webpageinjects truncated text honoring/weblimit.
handle_conversational_query calls recall_information for substring matches across the PostgreSQL table before hitting the LLM.
- Dual paths:
/recall,/forget,/memorize,/help,/status,/voice,/theme,/weblimit, andexit/quitare handled in the main loop beforehandle_user_query. - Web3 import coupling: Missing Web3 env vars exit during import — see ARCHITECTURE.md.
is_current_user: Optional; room intros may read"User"if unset.
For environment tables see CONFIGURATION.md. For boot policy see BOOT_AND_SECURITY.md.