neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Pure‑Rust 기반 macOS 앱, 3단계 프로세스 격리·바이트 정확 재생·Git 워크트리 격리·다중 에이전트 작업 DAG
Pure-Rust native macOS app · 3-tier process isolation (krill-app, krilld, krill-holder) · byte-exact replay · Git worktree isolation & multi-agent task DAGs.
개발 도구Rust · JavaScriptGitHub @craftowen온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
A native Rust workspace for parallel AI coding agents, with persistent terminal sessions and Git worktrees.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗tmux?Agent workspaces like Orca already keep terminal sessions alive across app restarts and manage Git worktrees. Session survival across app restarts is table stakes — not the differentiator.
The difference is resource efficiency and process architecture. Orca is built on Electron (Chromium + Node.js), spawning separate main, GPU, renderer, and daemon processes while keeping a terminal instance in the renderer for every open tab. Krill delivers the same parallel-agent workflow as a single Rust (gpui) UI process with no Electron or web view, attaching UI render state only to visible panes while keeping terminal state in a single lightweight daemon (krilld) backed by a panic-free PTY parent (krill-holder).
Same harness and machine as the 2026-10-25 run below, but with the display on (windows visible) and a busy machine (load average 11–52 during runs). Krill auto-updated from 0.2.19 to 0.2.20 after the first run; every 10- and 20-terminal Krill run used 0.2.20. 3-run medians.
| Metric (10 terminals) | Krill 0.2.20 | Orca 1.4.242 | Krill vs. Orca |
|---|---|---|---|
Memory (phys_footprint, all app + daemon processes) | 153.3 MiB | 1,153.6 MiB | about 1/7th |
| Idle CPU (30 s average, screen on) | 1.9% | 12.9% | about 1/7th |
Install size (.app bundle) | 95.6 MiB | 704.7 MiB | about 1/7th |
krill-app itself used about 111 MiB (it was 30 MiB with the screen locked in the earlier run), which is why the memory ratio is lower than 1/15.Measured on the same Mac mini (Apple M6, 32 GB, macOS 27.0.1) using unmodified /Applications release builds, fresh isolated profiles, identical 1200×760pt windows (1176×746 actual), and 3-run medians across 18/18 valid runs (each terminal printing 20,000 lines / ~2.8 MB of Korean, ANSI color, and >120-column text; screen locked):
| Metric (10 terminals, 3-run median) | Krill 0.2.2 (Rust · GPUI) | Orca 1.4.237 (Electron) | Krill vs. Orca |
|---|---|---|---|
Memory (phys_footprint, all app + daemon processes) | 85.9 MiB | 1,274.9 MiB | 1/15th (1 / 14.8) |
| Idle CPU (30s avg after output, screen locked) | 1.13% | 31.0% | 1/27th (1 / 27.4) |
| Output Processing CPU Time (10 × 2.8 MB burst) | 1.22 s | 6.44 s | 1/5th (1 / 5.3) |
Install Size (.app bundle on disk) | 92.1 MiB | 689.1 MiB | 1/7th (1 / 7.5) |
phys_footprint)| Process Group | Krill 0.2.2 | Orca 1.4.237 | Why It Differs |
|---|---|---|---|
| App & UI Rendering | 30.2 MiB (krill-app) | 994.3 MiB (GPU 522.9 + Main 259.3 + Renderer 212.1) | Single native Rust GPUI process vs. Chromium main + GPU + renderer processes |
| Terminal Daemon | 46.5 MiB (krilld 44.9 + holder 1.6) | 256.3 MiB (orca-terminal-host) | 1,000 hot rows + zstd cold scrollback vs. Node/JS terminal host |
| Other Helpers | 9.2 MiB (krill-link serve) | 24.1 MiB (parcel-watcher 14.0 + Network 7.6 + crashpad 2.5) | Built-in mobile/tunnel gateway vs. Electron utility helpers |
| Total (excluding shells) | 85.9 MiB | 1,274.9 MiB | Krill uses 1/15th the memory (1 / 14.8) |
| Metric | Terminals | Krill 0.2.2 | Orca 1.4.237 | Krill / Orca |
|---|---|---|---|---|
Memory (phys_footprint) | 1 | 56.6 MiB | 844.9 MiB | 1 / 14.9 (1/15th) |
| 10 | 85.9 MiB | 1,274.9 MiB | 1 / 14.8 (1/15th) | |
| 20 | 115.0 MiB | 1,382.7 MiB | 1 / 12.0 (1/12th) | |
| Idle CPU (30s avg, screen locked) | 1 | 0.97% | 32.6% | 1 / 33.6 (1/34th) |
| 10 | 1.13% | 31.0% | 1 / 27.4 (1/27th) | |
| 20 | 1.17% | 29.0% | 1 / 24.8 (1/25th) | |
| Output Processing CPU Time (2.8 MB × N) | 1 | 0.05 s | 1.07 s | 1 / 21.4 |
| 10 | 1.22 s | 6.44 s | 1 / 5.3 (1/5th) | |
| 20 | 2.91 s | 7.69 s | 1 / 2.6 |
/Applications bundles (Krill 0.2.2, Orca 1.4.237) on Mac mini (Apple M6, 32 GB, macOS 27.0.1, 2026-10-25). Fresh isolated profile per run, 1200×760pt window (1176×746 actual), N login shell (/bin/zsh -l) tabs in the same 1-commit Git repository with 1 tab visible (orca_orphaned_terminals = 0 across all 18 runs).phys_footprint is sampled 3 times at 5s intervals and the per-process medians are summed across all app, helper, GPU, renderer, and daemon processes (including krill-link serve). Login shells and perl generators are excluded on both sides.15.0–184.8, alternating app order per repetition). Memory (phys_footprint) is largely unaffected by background load, whereas CPU and wall-clock burst duration can fluctuate.krilld), whereas Orca keeps a terminal instance in the renderer for each tab plus state in orca-terminal-host. This measures real resource usage when a user opens N tabs. Agent processes (claude, codex, etc.) are excluded because they are identical regardless of host app.Quit, crash, or update krill-app while your agents keep working in the background. Reopen the app (or run krill attach <id>) to replay retained keyframes and zstd scrollback segments, with explicit Gap markers if retention overflows.
Create an isolated Git worktree per task from the sidebar or via krill worktree new, review repository setup scripts before running them, inspect changes across 5 review tabs (Changes, Files, Search, Checks, History), and drop inline diff comments right beside the terminal.
Needs You)Built-in lifecycle hooks (krill hook install) track 6 states — working, waiting, done, blocked, idle, and exited — surfacing agents that need your input at the top of the Needs You queue, macOS notifications, and Dock badges.
Let a coordinator agent break down dependent tasks (krill orchestration run-create, task-create), spawn worker agents in isolated worktrees (worker-start), exchange blocking ask/reply messages, and pause at human decision gates (gate-create).
Scan a QR code in Settings → Mobile to monitor live agent states and open terminals from your phone browser or Home Screen web app (PWA). Connects over Relay or Tailscale with end-to-end ChaCha20-Poly1305 (HKDF-SHA256) encryption.
Sign in with Google on your desktop when you choose the hosted relay. Your phone opens the PWA without signing in and authenticates with its QR pairing or saved device key.
share.krill.page)Publish agent-generated HTML reports, architecture diagrams, and Markdown documents as a single sandboxed public link (configurable expiry, including no expiry; 10 MiB limit) and update or revoke the same URL anytime with krill artifacts share.
Also in the box:
krill CLI & Remote SSH Hosts — Drive every session, worktree, and orchestration run without the GUI (krill ls, new, send, read, wait, attach, handoff) or across supported remote Mac hosts (krill --host user@host).krill account) — Switch agent accounts or automatically rotate accounts when usage rate limits are reached.krill schedule) — Run recurring agent tasks on a UTC cron schedule (Scheduling docs).krill ports), and attached reference URLs (krill reference).Works with any CLI agent or TUI — if it runs in a terminal, it gets persistent PTY protection in Krill. Built-in profiles and status hooks (krill hook install) are included for:
Binary installation does not require Rust or a source build. Install and authenticate your chosen AI agent separately; Git is needed for Git worktrees. Krill does not include agent subscriptions or credentials.
Usage metrics are enabled by default without a consent dialog: a random installation ID, first launch, app launches, daily interaction, version, OS, and architecture. Prompts, terminal output, commands, project paths, and account details are excluded. Run krill telemetry disable to stop collection; DO_NOT_TRACK=1 also disables it. See usage metrics for delivery status and operator setup. Error reporting has a separate, default-off setting.
arm64)The installer requires Bash, curl, Python 3, and the macOS system archive/signature tools. It installs /Applications/Krill.app, links the CLI at ~/.local/bin/krill, and opens the app:
curl -fsSL https://krill.page/install.sh -o /tmp/krill-install.sh
# Review the installer before running it.
bash /tmp/krill-install.sh
export PATH="$HOME/.local/bin:$PATH"
krill --help
The macOS release is not notarized. The installer verifies the archive checksum and app signature and removes the downloaded app's quarantine attribute. A valid local/ad-hoc signature is not Apple Developer ID approval. See packaging details (Korean).
x64 Preview)In PowerShell, download and review the installer, then run it:
Invoke-WebRequest https://krill.page/install.ps1 -OutFile "$env:TEMP\krill-install.ps1"
Get-Content "$env:TEMP\krill-install.ps1"
powershell -ExecutionPolicy Bypass -File "$env:TEMP\krill-install.ps1"
The installer verifies the ZIP's SHA-256, installs under %LOCALAPPDATA%\Programs\Krill, adds a Start menu shortcut and user PATH entry, and opens the app. Open a new terminal for the updated PATH, then run krill --help. Windows Authenticode signing remains pending; checksum or update-signature verification does not mean the app has a trusted publisher signature.
Release assets · Windows packaging (Korean). Check the assets attached to the release you choose; do not infer downloads from source directories. The Homebrew tooling currently assembles a personal tap, rather than providing an official Homebrew installation command.
| Platform | Current scope | Installation |
|---|---|---|
macOS, Apple Silicon (arm64) | Primary desktop platform | Release app and CLI, or source build |
Windows, x64 | Native desktop preview; desktop GUI, interactive logon, sleep, and reboot behavior still need validation beyond the recorded Windows Server VM tests | Windows release ZIP and PowerShell installer |
| Mobile (iOS / Android) | Companion web app (PWA) paired via QR code over Relay or Tailscale (ChaCha20-Poly1305 E2EE) | Scan QR from Settings → Mobile in the Mac app (no app-store binary) |
macOS, Intel (x86_64) | Not supported for this public preview | No supported release bundle or source-install promise |
| Linux | Not supported for this public preview | No Linux desktop or downloadable remote-host package promised |
| Windows, ARM64 / 32-bit | Not supported | No release package |
+) menu and choose Terminal, or choose an installed, authenticated agent such as Claude Code or Codex. Ask the agent to inspect the repository.krill ls. Quit and reopen the app while leaving the session tabs intact; check that the running sessions reconnect with the same IDs. Closing a session tab/pane explicitly terminates that session.For copyable GUI, CLI, and source-build walkthroughs, see Getting started.
| Event | Running agent process | Output and recovery |
|---|---|---|
| App quit, crash, or restart | Continues while the session services remain alive | Reconnect to the same session; retained history is bounded and overflow can produce a Gap |
krilld crash | Can continue because the holder retains the PTY/handles | Bytes read but not yet recorded may be lost; recovery marks a Gap |
| Both session services stop, or the machine reboots | Does not survive | Saved history is not a live process; agent conversation resume is a separate action |
This is continuity across app restarts, not a guarantee against every form of data loss. Platform-specific recovery and validation limits are defined in Architecture §4.1.
Source builds need Rust 1.98 or newer (MSRV in Cargo.toml, Homebrew rustc recommended, rustup not required), Git, and macOS Command Line Tools on Apple Silicon. Python 3.9+ is needed for release assembly scripts; a full Xcode installation and Apple Developer membership are not required for local source execution. Follow the source walkthrough.
Contributing explains checks by change scope: Markdown-only changes use git diff --check; the full scripts/check.sh is a release-candidate gate. Security policy and private reporting · Code of conduct.
Design documents currently remain in Korean: Architecture, Roadmap, Code conventions, UI style guide.
Apache-2.0 — LICENSE, Copyright 2026 Krill contributors. See third-party notices and license records. Do not read or copy Zed's GPL-3.0 terminal or terminal_view code when contributing; credit any permitted Orca source reuse as described in Contributing.
Usage metrics are enabled by default without a consent dialog: a random installation ID, first launch, app launches, daily interaction, version, OS, and architecture. Prompts, terminal output, commands, project paths, and account details are excluded. Run krill telemetry disable to stop collection; DO_NOT_TRACK=1 also disables it. See usage metrics for delivery status and operator setup. Error reporting has a separate, default-off setting.