neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
fictty는 터미널 화면을 JSON 값으로 작성하고 ID로 실시간 편집하며 정확히 읽어주고, 데이터가 명령에서 바로 스트리밍됩니다
fictty is a terminal screen an agent writes as one JSON value, edits live by id, and reads back exactly, while its data streams straight from your commands, never through the model.
개발 도구Rust · AstroGitHub @brancusi온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A terminal UI that is one value: agents write it, rewrite it live and read it back
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A terminal UI that is one value. An agent writes it as JSON, rewrites it live a piece at a
time, and reads back exactly what it drew. Data streams from your commands straight to the screen,
never through the model.
Status: prototype. It works and it's fast, but the format will change. The plan is in
docs/PLAN.md. Milestones are on the fictty blog; the
start of the story is on the Thought Control dev blog:
the experiment,
the landscape and
why it's its own project.README 전문 보기 ↗A terminal UI that is one value. An agent writes it as JSON, rewrites it live a piece at a time, and reads back exactly what it drew. Data streams from your commands straight to the screen, never through the model.
Status: prototype. It works and it's fast, but the format will change. The plan is in docs/PLAN.md. Milestones are on the fictty blog; the start of the story is on the Thought Control dev blog: the experiment, the landscape and why it's its own project.
Agents are good at deciding what a screen should show and bad at being the screen. When an agent has to answer every keystroke itself, the UI is as slow as the model. fictty splits the work:
It sits between caretline, the text-editing engine, and apps like Thought Control: apps describe screens, fictty runs them.
One line fetches fictty into ~/.fictty and opens a tour of it: ten short chapters, each with
something to play with and a quest, from a screen and its JSON side by side to a notebook of
linked pages, an agent driving the screen while you watch, and a firehose of updates. It builds main if you have Rust, and
otherwise runs the latest release's binary (macOS and Linux):
curl -fsSL https://fictty.com/try.sh | sh
To drive it from a second terminal, open the Agents chapter (or the Agent app) and click a command (or select it and
press Enter): it's copied ready to paste, and it sets that terminal up so fictty reaches the
showcase. tour.sh there has an agent drive the whole thing. … | sh -s -- <tag or commit> runs a
given version, each in its own folder and store.
From a checkout:
examples/showcase/play.sh # the tour, then the apps: notes, a ledger, a live market, a gallery
examples/showcase/tour.sh # in another terminal: watch an agent drive it
Or by hand:
cargo build --release
export PATH="$PWD/target/release:$PATH"
fictty run examples/stress/ticker.json # one terminal: a ticker streaming 500 updates a second
fictty push examples/stress/plasma.json # another terminal: the whole UI swaps in one frame
fictty patch header node.json # replace one node by id
fictty key j j # type, like a person
fictty screen # read back the frame as text
fictty get --state # read back everything, as JSON
fictty render examples/tasks.json --size 100x30 # no terminal at all
The demos in examples/ cover stress tests, a live finance dashboard driven by a scripted "analyst", and a pixel tour. docs/guide.md walks through each one.
A UI is one JSON value:
{
"root": {"type": "row", "children": [
{"type": "table", "id": "tasks", "title": "Open tasks", "bind": "tasks",
"columns": [{"title": "task", "value": "{text}"}, {"title": "due", "value": "{due}", "size": 11}],
"keys": {"x": {"run": ["thc", "done", "{id}"]}}},
{"type": "text", "bind": "@tasks", "text": "{text}\n\ndue {due}"}
]},
"data": {
"tasks": {"cmd": ["thc", "q", "status:open", "--json"], "path": "items", "every": 3}
}
}
when shows a node while a condition holds, so dialogs and responsive panes are data too.fictty::App::new(ui).host(my_app).run()). @tasks binds the row
selected in tasks.fictty put key file --if-rev 12). Editors are caretline.variant and a tone; themes
(loaded with --themes, switched with a key) decide the colours.update that returns effects, a
pure view. That's what makes reading back, replay and (soon) history possible.Release build, a 170×52 terminal, one machine: about 6,000 whole-UI pushes a second from one client while drawing about 108 fps; 1,000 patches a second with every frame under 1 ms; a 50,000-row list replaced 20 times a second draws in 0.18 ms. The full table is in the guide.
On terminals that speak the kitty graphics protocol (Ghostty, kitty, WezTerm), fictty draws cards under the text, anti-aliased plots, SVG filled from data and images, and falls back to cells everywhere else. Guidance for agents: components first, SVG for anything custom, PNG only for real bitmaps, and animate the data, not the pictures.
MIT. See LICENSE.