titan
Slot 00La luna più grande, foschia arancione. Il mostro più grosso, corona di cornini.
- Ruolo
- Orchestratore
- Tinta
- 62°
- Forma
- BLOB
- Seme
- 0xE6BED33D
Un orchestratore e una squadra di agenti AI che lavorano sul tuo computer. Qualsiasi modello, le tue chiavi, una leva rossa.
Premi / per la shell di questa pagina. Prova: summon <il tuo nome>
Il registro delle azioni di una richiesta, rigiocato: Titan cerca nel vault, delega a Rhea e Dione, l’istinto trattiene una chiamata al web, una nota diventa un commit, esce la ricevuta.
Titan pianifica e divide il lavoro. I mostriciattoli lo fanno, ognuno con il suo modello, i suoi strumenti e i suoi permessi. Rinominali, aggiungine altri, mandali in pensione.
La luna più grande, foschia arancione. Il mostro più grosso, corona di cornini.
Ghiacciata e piena di crateri. Lilla, orecchie lunghe.
Scogliere di ghiaccio a fili. Menta, coda a pennacchio a strisce.
Un canyon enorme. Corallo, il sorriso più largo, due zanne.
Geyser dal polo sud. Azzurro ghiaccio, occhi su antenne.
Spugnosa e storta. Senape, mai simmetrica.
Un cratere come un occhio gigante. La più piccola, un ciclope.
rhea/ ├── AGENTS.md # ruolo e regole, da un modello ├── agent.yaml # nome, modelli, strumenti, vault, limiti └── genome.json # il suo aspetto (facoltativo) 0 directories, 3 files
[processo terminato con codice 0]
Ogni mostro è una cartella: AGENTS.md, agent.yaml, genome.json. Questa è Rhea, come la scrive l’onboarding.
id: rheaname: Rhearole: ricerche online e sintesi con fontikind: subagentcolor: "#4f8df7"models: - provider: openrouter model: nvidia/nemotron-3-super-120b-a12b:free - provider: openrouter model: poolside/laguna-s-2.1:free - provider: openrouter model: openrouter/freetools: - web_search - web_fetch - vault_search - vault_read - vault_list - vault_links - vault_tags - vault_write - vault_editvault: read: - "**" write: - Agenti/Rhea/** - Inbox/** - Risorse/Ricerche/**limits: maxSteps: 30 maxOutputTokens: 4000[processo terminato con codice 0]
Stesso nome, stesso mostro, sempre. Un genoma con il suo seme, disegnato in 255 LED dallo stesso kit che usa l’app.
{
"version": 1,
"id": "phoebe",
"seed": 1676619163,
"body": {
"shape": "dome",
"w": 0.96,
"h": 0.9,
"lean": -0.02
},
"palette": {
"hue": 8.2,
"chroma": 0.129,
"lightness": 0.676,
"belly": "light",
"accent": "cream"
},
"eyes": {
"kind": "cyclops",
"size": 1.14,
"spacing": 1,
"iris": "amber",
"asym": 0
},
"mouth": {
"kind": "canyon",
"width": 0.98,
"teeth": "buck"
},
"horns": {
"kind": "spike",
"count": 5,
"size": 0.93,
"stripes": false
},
"ears": null,
"tail": null,
"arms": "long",
"feet": "stubby",
"marks": null,
"topper": null,
"personality": {
"bounce": 0.62,
"speed": 0.92
}
}00000000: 7b0a 2020 2276 6572 7369 6f6e 223a 2031 {. "version": 1
00000010: 2c0a 2020 2269 6422 3a20 2270 686f 6562 ,. "id": "phoeb
00000020: 6522 2c0a 2020 2273 6565 6422 3a20 3136 e",. "seed": 16
00000030: 3736 3631 3931 3633 2c0a 2020 2262 6f64 76619163,. "bod
00000040: 7922 3a20 7b0a 2020 2020 2273 6861 7065 y": {. "shape
00000050: 223a 2022 646f 6d65 222c 0a20 2020 2022 ": "dome",. "
00000060: 7722 3a20 302e 3936 2c0a 2020 2020 2268 w": 0.96,. "h
00000070: 223a 2030 2e39 2c0a 2020 2020 226c 6561 ": 0.9,. "lea
00000080: 6e22 3a20 2d30 2e30 320a 2020 7d2c 0a20 n": -0.02. },.
00000090: 2022 7061 6c65 7474 6522 3a20 7b0a 2020 "palette": {.
000000a0: 2020 2268 7565 223a 2038 2e32 2c0a 2020 "hue": 8.2,.
000000b0: 2020 2263 6872 6f6d 6122 3a20 302e 3132 "chroma": 0.12
000000c0: 392c 0a20 2020 2022 6c69 6768 746e 6573 9,. "lightnes
000000d0: 7322 3a20 302e 3637 362c 0a20 2020 2022 s": 0.676,. "
000000e0: 6265 6c6c 7922 3a20 226c 6967 6874 222c belly": "light",
000000f0: 0a20 2020 2022 6163 6365 6e74 223a 2022 . "accent": "
00000100: 6372 6561 6d22 0a20 207d 2c0a 2020 2265 cream". },. "e
00000110: 7965 7322 3a20 7b0a 2020 2020 226b 696e yes": {. "kin
00000120: 6422 3a20 2263 7963 6c6f 7073 222c 0a20 d": "cyclops",.
00000130: 2020 2022 7369 7a65 223a 2031 2e31 342c "size": 1.14,
00000140: 0a20 2020 2022 7370 6163 696e 6722 3a20 . "spacing":
00000150: 312c 0a20 2020 2022 6972 6973 223a 2022 1,. "iris": "
00000160: 616d 6265 7222 2c0a 2020 2020 2261 7379 amber",. "asy
00000170: 6d22 3a20 300a 2020 7d2c 0a20 2022 6d6f m": 0. },. "mo
00000180: 7574 6822 3a20 7b0a 2020 2020 226b 696e uth": {. "kin
00000190: 6422 3a20 2263 616e 796f 6e22 2c0a 2020 d": "canyon",.
000001a0: 2020 2277 6964 7468 223a 2030 2e39 382c "width": 0.98,
000001b0: 0a20 2020 2022 7465 6574 6822 3a20 2262 . "teeth": "b
000001c0: 7563 6b22 0a20 207d 2c0a 2020 2268 6f72 uck". },. "hor
000001d0: 6e73 223a 207b 0a20 2020 2022 6b69 6e64 ns": {. "kind
000001e0: 223a 2022 7370 696b 6522 2c0a 2020 2020 ": "spike",.
000001f0: 2263 6f75 6e74 223a 2035 2c0a 2020 2020 "count": 5,.
00000200: 2273 697a 6522 3a20 302e 3933 2c0a 2020 "size": 0.93,.
00000210: 2020 2273 7472 6970 6573 223a 2066 616c "stripes": fal
00000220: 7365 0a20 207d 2c0a 2020 2265 6172 7322 se. },. "ears"
00000230: 3a20 6e75 6c6c 2c0a 2020 2274 6169 6c22 : null,. "tail"
00000240: 3a20 6e75 6c6c 2c0a 2020 2261 726d 7322 : null,. "arms"
00000250: 3a20 226c 6f6e 6722 2c0a 2020 2266 6565 : "long",. "fee
00000260: 7422 3a20 2273 7475 6262 7922 2c0a 2020 t": "stubby",.
00000270: 226d 6172 6b73 223a 206e 756c 6c2c 0a20 "marks": null,.
00000280: 2022 746f 7070 6572 223a 206e 756c 6c2c "topper": null,
00000290: 0a20 2022 7065 7273 6f6e 616c 6974 7922 . "personality"
000002a0: 3a20 7b0a 2020 2020 2262 6f75 6e63 6522 : {. "bounce"
000002b0: 3a20 302e 3632 2c0a 2020 2020 2273 7065 : 0.62,. "spe
000002c0: 6564 223a 2030 2e39 320a 2020 7d0a 7d ed": 0.92. }.}ewogICJ2ZXJzaW9uIjogMSwKICAiaWQiOiAicGhvZWJlIiwKICAic2VlZCI6IDE2NzY2MTkxNjMsCiAgImJvZHkiOiB7CiAgICAic2hhcGUiOiAiZG9tZSIsCiAgICAidyI6IDAuOTYsCiAgICAiaCI6IDAuOSwKICAgICJsZWFuIjogLTAuMDIKICB9LAogICJwYWxldHRlIjogewogICAgImh1ZSI6IDguMiwKICAgICJjaHJvbWEiOiAwLjEyOSwKICAgICJsaWdodG5lc3MiOiAwLjY3NiwKICAgICJiZWxseSI6ICJsaWdodCIsCiAgICAiYWNjZW50IjogImNyZWFtIgogIH0sCiAgImV5ZXMiOiB7CiAgICAia2luZCI6ICJjeWNsb3BzIiwKICAgICJzaXplIjogMS4xNCwKICAgICJzcGFjaW5nIjogMSwKICAgICJpcmlzIjogImFtYmVyIiwKICAgICJhc3ltIjogMAogIH0sCiAgIm1vdXRoIjogewogICAgImtpbmQiOiAiY2FueW9uIiwKICAgICJ3aWR0aCI6IDAuOTgsCiAgICAidGVldGgiOiAiYnVjayIKICB9LAogICJob3JucyI6IHsKICAgICJraW5kIjogInNwaWtlIiwKICAgICJjb3VudCI6IDUsCiAgICAic2l6ZSI6IDAuOTMsCiAgICAic3RyaXBlcyI6IGZhbHNlCiAgfSwKICAiZWFycyI6IG51bGwsCiAgInRhaWwiOiBudWxsLAogICJhcm1zIjogImxvbmciLAogICJmZWV0IjogInN0dWJieSIsCiAgIm1hcmtzIjogbnVsbCwKICAidG9wcGVyIjogbnVsbCwKICAicGVyc29uYWxpdHkiOiB7CiAgICAiYm91bmNlIjogMC42MiwKICAgICJzcGVlZCI6IDAuOTIKICB9Cn0=
[processo terminato con codice 0]
Un solo core sul tuo computer. Le finestre per entrarci: l’app desktop, il browser, Telegram, SSH. Tutto quello che fa passa dallo stesso registro e dallo stesso interruttore.
Schema dell’architettura. App desktop, interfaccia web, Telegram e SSH si collegano al core su 127.0.0.1:4747. Il core tiene Titan e la squadra, l’istinto, il registro degli eventi e l’interruttore, che interrompe un albero di AbortController e di processi figli. Sotto il core: i provider, il vault Markdown con git, gli strumenti e monsters mcp per Claude Desktop, Codex e Cursor.
[processo terminato con codice 0]
you@localhost
[processo terminato con codice 0]
Il vault è una cartella di Markdown con git sotto. Ogni azione di un mostro è un commit, con l’agente e l’azione nel messaggio. Annullare è un revert vero.
9b27e51 vault_edit: Inbox/week-42.md [agent=titan action=01M5D6GD28EE06AZ191SKPAJTQ]c2e9d47 vault_write: Inbox/week-42.md [agent=dione action=01M5D6FZH48T4F0NWP35DNNMJE]5a0e8f2 vault_write: Risorse/Ricerche/notes-tools.md [agent=rhea action=01M5AM31J09SQ5S1TXRJS7HXSX]31c7b9d vault_create: nuovo vault[processo terminato con codice 0]
@@ -1,5 +1,6 @@ # Week 42 - Kill switch on Telegram: /stop-- Two drafts waiting for review+- Two drafts waiting for review: the newsletter, the quote+- Ask Rhea for sources - Next: [[Risorse/Ricerche/notes-tools]][processo terminato con codice 0]
monsters mcp è un server MCP stdio con gli strumenti del vault. Stesso registro, stessi permessi, stesso annulla.
vault_search · vault_read · vault_write · vault_edit · vault_move · vault_delete · vault_history · vault_undo
{ "mcpServers": { "monsters-vault": { "command": "/path/to/node24/bin/node", "args": ["/path/to/monsters/packages/cli/bin/monsters.js", "mcp"] } }}[processo terminato con codice 0]
È la stessa leva dell'app. I lavori si interrompono, i processi muoiono, e non riparte niente finché non lo dici tu. Dai, provala su questa pagina.
async kill(params: { by: Channel; reason?: string | undefined }): Promise<KillReport> { const started = this.#now(); const halt: HaltState = { halted: true, at: started, reason: params.reason ?? null, by: params.by, }; this.#halt = halt; this.#state.set(HALT_KEY, halt); const runs = [...this.#runs.values()]; this.#runs.clear(); const processes = this.#root.countProcesses(); const oldRoot = this.#root; this.#root = this.#newRoot(); const aborting = oldRoot.abort(new KilledError('global', params.reason)); #abortTree(reason: unknown, pending: Promise<void>[]): void { if (!this.#controller.signal.aborted) this.#controller.abort(reason); for (const t of this.#processes) pending.push(terminateProcess(t, this.#graceMs)); this.#processes.clear(); for (const c of this.#children) c.#abortTree(reason, pending); this.#children.clear(); }[processo terminato con codice 0]
Node 24 e pnpm. Cloni, compili, avvii, e apri 127.0.0.1:4747.
$ monsters startMonsters 0.1.0-alpha.18 is running at http://127.0.0.1:4747Open http://127.0.0.1:4747/ in your browser.$ monsters chat ▄ ▄▄▀▄▀▄▀▄▄ █▀ ▀█ ▄ ▄ ▄▀▀▀███▀▀▀▄ █▀▄▄▄▀█ ██▄▄▄▄▄██ █▀ ▀█ ██ ███ ██ ▄▀▀███▀▀▄ ███▀▀▀███ ▀▀▄ ▄▀▀███▀▀▄ █████▀▀▀█████ ▄█ ███ █▄ █████▄█████ ▀▀ ▄██ ███ ██▄ █▀████▀▄█████▀█ █████▀▀▀█████ █████▀▀▀████▀▀▀▀ ████▀█████▀████ ▀▀███████▀▀ ▀███▄███▀ ▀██▀▄███▀ ▀▀ ▀███▄▄▄▄▄███▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ Titan Rhea Dione Tethys › sum up this week's notestitan › on it. rhea reads, dione drafts.$ monsters killStopped. Runs aborted: 2, processes killed: 1.Nothing will run until you type "monsters resume".$
monsters 0.1.0-alpha.18 - local agentic hub
Usage: monsters <command> [options]
Commands:
start Start the core in the foreground (Ctrl+C to stop)
status Show whether the core is running and what it is doing
kill Stop every agent now (kill switch); nothing runs until resume
resume Allow agents to run again after a kill
chat Interactive chat in the terminal (also over SSH): answers as they are
written, questions with numbered options, /stop, /nuova, /stato
chat <text> Send a message (to the orchestrator, or --to / @Name) and follow the run
chat /nuova [@Name] Start a new conversation (alias /new): the agents no longer see
the earlier messages, which stay in the log
answer <id> <n|text> Answer a question of an agent
vault reindex Rebuild the search index of the vault
automations [list] The automations: schedule, next run, last run
automations run <id> Run an automation now (or as soon as its capo is free)
log [status] The archive of the event log: where it is, the monthly files
log archive Move the bulky old events (usage, tool results, streamed text…)
to ~/.monsters/archive/events-YYYY-MM.jsonl.gz now, then VACUUM
(--dry-run: only count them). The core does it once a day by itself
log read --month YYYY-MM
Print the archived events of a month (--type t1,t2; --json)
secrets Where keys and tokens are kept: system keychain or protected files
secrets export Decrypt them back to plain files (core stopped; e.g. before moving
the data directory to another computer)
secrets reset The keychain lost the key of this data directory for good: set the
encrypted secrets aside and make a new key (core stopped)
password Set a new password for the account, on this computer, with
Monsters stopped (asks it twice; every browser session is
logged out)
mcp MCP server (stdio) with the vault tools, for Claude Desktop, Codex, Cursor…
(needs the core running; see docs/mcp-vault.md)
help Show this help
version Print the version
Options:
--home <dir> Data directory (default: $MONSTERS_HOME or ~/.monsters)
--port <n> Port of the core (default: 4747)
--host <addr> Address to bind (start only, default: 127.0.0.1)
--allow-non-loopback Allow binding to a non-loopback address (start only)
--dev Also trust the web UI dev server on port 5173 (start only;
same as MONSTERS_DEV=1)
--reason <text> Why you are stopping (kill only)
--to <name> Agent to talk to (chat only)
--month <YYYY-MM> Month of the archive to read (log read only)
--type <t1,t2> Only these event types (log read only)
--dry-run Only count what would move (log archive only)
--client <name> Name of the MCP client in the log (mcp only; default: the
name the client gives)
--json Machine-readable output (status, kill, resume, automations, log)
[processo terminato con codice 0]
git clone https://github.com/Saturday-Company/monsters && cd monsters && pnpm install && pnpm --filter @monsters/web build && pnpm --filter @monsters/cli exec monsters startv0.1.0-alpha.17, uscita il 19 ottobre 2026
Leggilo, forkalo, sistemalo. Ogni contributor riceve un mostro, nato dal suo nome su GitHub.
Il contatore parte quando la repository apre.
SWwgdHVvIGNvbXB1dGVyIG5vbiDDqCB1biB0ZXJtaW5hbGUgcGVyIGlsIGNsb3VkIGRpIHF1YWxjdW4gYWx0cm8uIE1vbnN0ZXJzIGdpcmEgcXVpIGUgcmlzcG9uZGUgYSB0ZS4gU2NyaXZlIGZpbGUgc2VtcGxpY2kgY2hlIHB1b2kgbGVnZ2VyZSwgcmVnaXN0cmEgb2duaSBhemlvbmUgZSBzaSBmZXJtYSBhcHBlbmEgZGljaSBzdG9wLiBQb3J0YSBxdWFsc2lhc2kgbW9kZWxsby4gVGllbmkgbGUgdHVlIGNoaWF2aS4gQW5udWxsYSB0dXR0by4=
NOME
monsters - la tua squadra di AI, sul tuo computer
SINTASSI
monsters <command> [options]
Sì. Il core gira sulla tua macchina e serve l'app su 127.0.0.1:4747. Note, registro e impostazioni restano sul tuo disco. Escono solo le chiamate ai modelli che scegli tu.
Quello che colleghi. OpenRouter (modelli gratuiti per iniziare), Anthropic, OpenAI, Google, Mistral o Groq con la tua chiave; Ollama o LM Studio tutto in locale; oppure gli abbonamenti Claude e ChatGPT che paghi già. Ogni mostro ha una catena di modelli con riserva.
Non di base. Terminale e file restano spenti finché non li concedi, mostro per mostro. Ogni modifica al vault è un commit git che puoi annullare.
Tiri la leva: dall'app, con /stop su Telegram o con monsters kill. Ogni lavoro si interrompe, ogni processo muore. Prima ancora, Istinto, un modello piccolo, frena tutto ciò che uscirebbe dal tuo computer.
In un vault Markdown che puoi aprire con Obsidian. monsters mcp lo serve anche via MCP, così lo leggono pure Claude Desktop, Codex o Cursor.
L'app è gratuita e open source. I modelli costano quanto chiedono i loro provider, e tu fissi tetti giornalieri e mensili. Con i modelli gratuiti di OpenRouter iniziare non costa niente.
Su Telegram, o via SSH con monsters chat. I progetti e le automazioni che mi invento arrivano come bozze: non parte niente finché non confermi.
VEDI ANCHE
README.mddocs/mcp-vault.mddocs/security-model.mddocs/ARCHITECTURE.md
[processo terminato con codice 0]