neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Perch는 Mac 노치에 자리 잡아 부재 시 Claude·Codex·OpenCode·pi 세션 내용과 현재 해야 할 일을 보여줍니다
Perch lives in your Mac's notch and shows what your Claude Code, Codex, OpenCode and pi sessions did while you were away, and what needs you now. Free and open source, for Mac.
개발 도구Swift · JavaScriptGitHub @asafofer온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Where you left off, in the notch. A macOS app for people running Claude Code, Codex, OpenCode and pi sessions at once.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Agents work while you are away, and they finish, stall or wait for an answer on their own schedule. When you come back to your Mac, Perch answers one question from the notch: what was I doing, and what is waiting for me? Then it gets you back in with one key.
Perch never takes the keyboard unless you ask for it, and it stays quiet about the session you are already in.
Works with the Claude app (Code), the Codex app, Conductor (its Claude Code and Codex workspaces), Cursor (its agent chats, beta: tried with Cursor 3.23 and its Agents window), and Claude Code, Codex, OpenCode or pi in any terminal, with exact tab switching in Terminal, iTerm2, Ghostty and Warp, and the exact split or pane in cmux, agterm, herdr and tmux.
| Requirement | |
|---|---|
| macOS | 15 (Sequoia) or later, on Apple silicon. A notch is optional: other displays get a small tab at the top centre. |
| Agents | The Claude app, the Codex app, Cursor, Conductor, or Claude Code, Codex, OpenCode and pi in a terminal (herdr, tmux, cmux and agterm included). |
| To build | Xcode 26 or later and Node 20 or later. |
Download. Get Perch.dmg from the latest release, open it and drag Perch onto Applications. It's signed and notarized by Apple, so it opens like any app. Perch checks for updates every hour and shows a quick peek in the notch when one is ready; press Update and it installs when nothing is on screen.
Build from source.
git clone https://github.com/asafofer/perch.git && cd perch
./scripts/make-dev-cert.sh # once: a stable local signing identity, so macOS remembers permissions
./scripts/install.sh # builds a release, installs it to /Applications and opens it
On first launch, a short setup walks you through your character, Accessibility, which apps to read and live status. You can run it again from Settings.
| Action | Keys |
|---|---|
| Open the card | Hover the notch, or tap ⌘ ⌥ |
| Where was I | ⌃ ⌥ P |
| All sessions | ⌃ ⌥ L, or ← from the card |
| Next or previous session | ↑ ↓ |
| Open the session | Return |
| Allow or deny | A / D |
| Answer a question | 1 to 4 |
| Reply | R |
| Not now (30 minutes, 2 hours, tomorrow) | N |
| Settings | ⌘ , |
| Close | Esc |
While the notch shows something that finished or asks for you, its buttons answer to keys too, and only then: ⌘ ⌥ Return switches to it, ⌘ R replies, ⌘ ⌥ Y or N allows or denies, ⌘ ⌥ 1 to 3 answers, and ⌘ ⌥ . puts it away.
Perch reads the session files your agents already keep on your Mac, and your sessions, prompts and code never leave it. There is no account, analytics or telemetry. Perch goes online for two things only:
appcast.xml in the public perch-releases repo on GitHub, and downloads a new version only when you press Update.feedback/, on Vercel) that emails them to the maker of Perch.The card's words are your agents' own: the session's title, what the agent said it did, and a next step only when the agent stated one.
Live status is optional. It adds one hook entry to ~/.claude/settings.json and ~/.codex/hooks.json that runs ~/.config/perch/hook, and for Cursor four entries in ~/.cursor/hooks.json, and for OpenCode and pi a plugin file of Perch's own (~/.config/opencode/plugins/perch.js, ~/.pi/agent/extensions/perch.ts). They talk to Perch over a local socket only you can use and do nothing when Perch is not running. Your config files are backed up the first time as *.before-perch, and turning live status off removes the entries and files. Codex asks you once to trust a new hook.
| Permission | Used for | Without it |
|---|---|---|
| Accessibility | ⌘ ⌥, and typing a reply into the Claude or Codex app | Replies are copied for you to paste |
| Automation | Switching to the exact terminal tab or cmux split and typing a reply into it | The terminal comes forward and you find the tab |
| Files | Reading project folders (macOS asks once per folder) | That project is skipped |
flowchart LR
A["Session files<br>~/.claude, ~/.codex, OpenCode, pi, Cursor"] --> C["PerchCore<br>scan, parse, state"]
B["Hooks (optional)<br>local socket"] --> C
C --> D["Snapshot (JSON)"]
D --> E["Web view in the notch<br>ui/app.js"]
E -- "your choice" --> C
A native AppKit shell owns the notch panel, hotkeys and the hook socket. PerchCore decides everything (which sessions show, their status, what the notch does) and is fully tested. The interface is a small web view that only draws the snapshot it is given and reports what you chose.
Read AGENTS.md first: architecture, workflow, design rules and known pitfalls. CONTRIBUTING.md says how a change goes in and what CI checks.
cd ui && npm install && cd .. # once
swift test # logic tests
./scripts/run.sh --show # build, launch and open the card
cd ui && python3 -m http.server 8765 # then open http://localhost:8765/design.html
ui/design.html is the real interface with sample data and every state on one page. New UI is designed there first.
| Path | Contents |
|---|---|
Sources/PerchCore | State machine, geometry, session scanning, transcript parsing, live status. Pure and tested. |
Sources/Perch | The AppKit shell: panel, web view, hotkeys, hook socket. |
ui/ | The interface: plain JavaScript and Tailwind, Inter bundled. |
scripts/ | Run, package, install, signing certificate, app icon and the README GIF. |
feedback/ | The small Vercel function Send feedback posts to; it emails the message on. |
./scripts/run.sh --idle 15../scripts/make-dev-cert.sh once so builds are signed with a stable identity..build/debug/Perch --dump prints what Perch finds in ~/.claude/projects, ~/.codex/sessions, OpenCode's database, ~/.pi/agent/sessions and ~/.cursor/projects, and which agents are running, in which terminal, herdr or tmux pane or cmux split. Headless runs (claude -p, codex exec) are not listed; pi -p and opencode run save sessions like any other, so they are.| Script | What it does |
|---|---|
./scripts/package.sh | Builds a release and writes build/Perch.zip for sharing. |
./scripts/make-icon.sh | Renders docs/assets/icon.svg into the app icon, icon.png and the README's icon-256.png. |
./scripts/record.sh | Films the design page's sample flow into docs/assets/perch.gif. Needs ffmpeg; headless. |
./scripts/agents-demo.sh | herdr with pi, OpenCode, Claude Code and Codex side by side, and pi alone, in cmux, for trying Perch live. |
Wallpapers by Raycast. The working orb is Thinking Orbs by Yogesh (MIT). Set in Inter (SIL Open Font License 1.1, ui/dist/fonts/OFL.txt).
MIT.