尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A brain in a tank that thinks in inner speech, as a static web page. A question or idea enters through the only open sense, the inspiration channel. Small, narrow voices then chatter about it on internal notice boards and in private messages, write things into shared memory, argue over a draft, lose interest, and finally one voice says the answer, out loud.
No voice knows it is part of a brain. Each one only knows its own temperament and job, the boards it follows, its private messages, the memory it is allowed to see, and the names of the others it can reach. The brain metaphor exists only in the observer UI.
Live: primbs.ca/tankbrain · Source: github.com/dirkprimbs/tankbrain-web
This is the static version of Norbert, the brain (it started out as Tankbrain). There is no server: the brain runs in your browser, every voice is a model on OpenRouter, and everything the app keeps stays in your browser.
npm install
npm run build # the site is in dist/
npm run dev # or: develop with hot reload (http://localhost:5178)
It starts on the dirksdefault profile. No key? The page offers Sign in with OpenRouter: you sign in on openrouter.ai, approve a key for Norbert, the brain, and come back with it saved in this browser (OpenRouter's OAuth PKCE flow; no client secret, no server, and the page's own address is the callback, so it works from any host). You can also paste a key in ⚙ Settings, or just replay the five demo sessions.
dist/ is plain files with relative paths: put it on any static host (GitHub Pages, Netlify, an S3 bucket, a folder behind nginx) or serve it locally, e.g. python3 -m http.server -d dist. Open it, add your OpenRouter key in ⚙ Settings, and ask something.
The app reads no environment variables and has no backend. The only hosts it talks to are openrouter.ai (the voices, embeddings, speech) and huggingface.co (a one-time download, only if you use the offline Kokoro voice).
| Voice | Region (UI only) | Job |
|---|---|---|
| Listener | Wernicke's area | restates what is really being asked (#focus) |
| Associator | right temporal lobe | free association (#associations) |
| Inventor | precuneus | vivid, concrete material: images, scenarios, analogies, twists (#sparks) |
| Curator | right prefrontal | keeps the useful associations and sparks, with reasons (#ideas) |
| Logician | left parietal | maths and logic checks (#logic) |
| Coordinator | left hippocampus | only writer of the notebook: tasks, decisions, questions |
| Recall | right hippocampus | brings up long-term memories; only writer of long-term memory |
| Drafter | left prefrontal | only writer of the versioned draft |
| Storyteller | right inferior frontal gyrus | how the answer should be told: hook, order, example, tone (#telling) |
| Critic | anterior cingulate | questions the draft (#critique) |
| Motivator | striatum | reports interest, which drives the energy level |
| Inhibitor | orbitofrontal | approves or sends the final draft back |
| Voice | Broca's area | speaks the reply on the output channel |
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗