neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Mission control for your AI coding agents — run Copilot CLI, Claude Code, and more across many repos in parallel, grouped into Spaces, with a dashboard that shows which sessions need you.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Mission control for your AI coding agents.
DPlex runs Copilot CLI, Claude Code, and any provider you add across many repos in parallel — in one window. Group everything a task needs into a named, multi-repo Space; watch a dashboard that tells you which of your running agents is blocked on you right now; resume any past session in a click; and reopen the app after a reboot with every tab, split, and working directory exactly where you left it. Underneath it's a full workspace too — split panes, tabs, worktrees, a file editor, and a VSCode-style Source Control view.
Quick install · Features · Screenshots · Where DPlex fits · Architecture · Add a provider · Privacy · Contributing
🚧 Pre-1.0. DPlex is functional and used daily by its author, but APIs, settings layout, and on-disk formats may shift between minor versions while we feel out the right shape. Please pin your version and read the CHANGELOG before upgrading.
When you're driving several AI coding agents across several repos, you end up with a mess of terminal windows — a Copilot session here, a Claude session there, regular shells scattered everywhere — no single view of which one is waiting on you, and not one of them survives a reboot. DPlex gives you one home for the whole fleet:
grep-able source.A built-in picker reopens one session in one tool. DPlex orchestrates your whole agent fleet — across every provider, every repo, in one window.
Note: DPlex binaries are currently unsigned while we wait on Apple Developer / Windows code-signing certificates. The app is open source and the build is fully reproducible from source — see Verify the build below.
Homebrew (recommended) — handles the quarantine flag for you and keeps DPlex up to date:
brew install --cask ron537/tap/dplex
Upgrade later with brew upgrade --cask dplex.
Manual DMG:
# Apple Silicon
curl -L https://github.com/Ron537/DPlex/releases/latest/download/DPlex-arm64.dmg -o DPlex.dmg
# Intel
curl -L https://github.com/Ron537/DPlex/releases/latest/download/DPlex-x64.dmg -o DPlex.dmg
# Open the DMG, drag DPlex to /Applications, then on first launch:
xattr -dr com.apple.quarantine /Applications/DPlex.app
open /Applications/DPlex.app
The xattr line removes the macOS quarantine flag once you've inspected
the build — equivalent to right-clicking the app and choosing Open,
but cleaner from the terminal.
Download DPlex-Setup.exe from the Releases page
and run it. SmartScreen will warn you about the unsigned installer —
click More info → Run anyway after verifying the file's SHA-256
matches the value published on the release page.
Invoke-WebRequest -Uri https://github.com/Ron537/DPlex/releases/latest/download/DPlex-Setup.exe -OutFile DPlex-Setup.exe
.\DPlex-Setup.exe
# AppImage (any distro)
curl -L https://github.com/Ron537/DPlex/releases/latest/download/DPlex.AppImage -o DPlex.AppImage
chmod +x DPlex.AppImage
./DPlex.AppImage
# Debian / Ubuntu
curl -LO https://github.com/Ron537/DPlex/releases/latest/download/DPlex-amd64.deb
sudo dpkg -i DPlex-amd64.deb
Requires Node.js 18+ (we develop on 22 LTS) and Git.
git clone https://github.com/Ron537/DPlex.git
cd DPlex
npm install
npm run dev
npm run build:mac # macOS .dmg + .zip (arm64 + x64)
npm run build:win # Windows .exe installer
npm run build:linux # Linux .AppImage + .deb + .snap
Every release is built from a tagged commit by GitHub Actions. To reproduce locally:
git checkout v0.9.0 # or whichever release you want
npm ci --ignore-scripts
npm run build
# Compare the SHA-256 of your local build with the release's published checksums.
CI logs and SBOMs are attached to every release.
The headline feature. DPlex gives you full lifecycle control over the Copilot CLI / Claude Code sessions you actually work with daily.
inuse.<PID>.lock for Copilot, pidfiles for
Claude) with PID liveness checks, so the sidebar always reflects what
is actually running.Close the app today, open it tomorrow — every AI session tab is back exactly where you left it. This is the feature DPlex was built around.
sessions.json in the Electron userData directory on every natural
lifecycle event and synchronously on quit, so a SIGTERM doesn't lose
state.12 built-in themes with matched terminal and UI colors:
| Shortcut | Action |
|---|---|
⌘T | New terminal |
⌘W | Close terminal |
⌘B | Toggle sidebar |
⌘, | Open settings |
⌘\ | Split horizontal |
⌘⇧\ | Split vertical |
⌘⇧G | Toggle Source Control view |
⌘F | Focus side-panel search |
⌘1-9 | Switch to tab N |
(⌘ = Ctrl on Linux/Windows.)
DPlex isn't a terminal emulator, and it isn't an AI-native editor — it's the orchestration layer above the AI CLIs you already use. If you're happy driving a single agent in a single terminal, you may not need it. It earns its place the moment you're running several agents, across several repos, at once and need one surface to launch them, resume them, group them into Spaces, and see which one is waiting on you.
If your goal is "I want a Claude session in repo A and a Copilot session in repo B running side by side, grouped into a Space I can switch to instantly, with one glance telling me which agent is blocked on me — and the whole thing back exactly where I left it after a reboot" — that's DPlex.
My AI tool isn't being detected.
Check that the binary is on the same $PATH your default shell sees. DPlex spawns its PTYs via your login shell, so anything missing from ~/.zprofile or ~/.bashrc won't be found.
An AI session shows as inactive even though it's running.
DPlex detects active sessions via the tool's lock files (inuse.<PID>.lock for Copilot, pidfiles for Claude). If the tool's lock format changed in an upstream release, please open an issue with your version + OS — usually a one-line fix in the provider.
My session tabs didn't restore after a crash. Workspace state is saved on graceful quit and during natural lifecycle events; a hard kill (SIGKILL, OOM) can lose unsaved tabs. The session history is unaffected — your past sessions are still discoverable from the Sessions list.
The app won't open on macOS — "DPlex is damaged" or "from an unidentified developer." Until proper notarization lands, run:
xattr -dr com.apple.quarantine /Applications/DPlex.app
…or right-click the app and choose Open. macOS remembers your choice after the first launch.
The Windows installer is flagged by SmartScreen. Until code signing lands: click More info → Run anyway after verifying the SHA-256 matches the release page. The installer is unmodified from CI.
I want feature X / I'd like a provider for tool Y. Open an issue. For new providers there's a dedicated template — see docs/providers.md if you want to send a PR.
DPlex uses electron-vite with three process targets — main (Node), preload (IPC bridge), and renderer (React).
For the deep dive — security posture, state stores, terminal lifecycle, IPC pattern, and provider system — see docs/architecture.md.
| Layer | Technology |
|---|---|
| Framework | Electron 39 |
| Build | electron-vite + Vite 7 |
| Frontend | React 19, TypeScript 5.9 |
| Styling | Tailwind CSS v4 |
| State | Zustand 5 |
| Terminal | xterm.js 6 (with WebGL, fit, web-links addons) |
| PTY | node-pty |
| Icons | lucide-react |
| Packaging | electron-builder + electron-updater |
| Tests | Vitest (unit) + Playwright (e2e + monkey) |
Contributions are very welcome. Read CONTRIBUTING.md for the dev setup, conventions, and PR checklist.
The fastest way to expand DPlex's reach is implementing a new provider — see docs/providers.md. Bug reports with reproduction steps are equally valuable.
Looking for something to start with? Browse issues labelled good first issue.
DPlex is open source under the MIT License.