neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Terminal, SSH and SFTP client for macOS, Windows and Linux. Mosh roaming, dual-pane SFTP, port forwarding, an encrypted identity vault, runbooks and an MCP bridge. Built with Flutter. Source-available under FSL-1.1-ALv2.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Cross-platform (iOS, Android, macOS, Windows, Linux) terminal, SSH/SFTP client and remote infrastructure workstation built with Flutter 3.x / Dart 3.x. Official website: shellvibe.dev.
ShellVibe brings modern, hardware-accelerated terminal rendering, a Zero-Knowledge encrypted identity vault, dual-pane SFTP, visual port-forwarding tunnels and multi-step runbook automation to five platforms from a single codebase — competing with Termius, Warp, Tabby, Blink Shell and MobaXterm.
More screens — pane menu, tunnels, snippets, vault, AI access, settings, workspacesREADME 전문 보기 ↗Cross-platform (iOS, Android, macOS, Windows, Linux) terminal, SSH/SFTP client and remote infrastructure workstation built with Flutter 3.x / Dart 3.x. Official website: shellvibe.dev.
ShellVibe brings modern, hardware-accelerated terminal rendering, a Zero-Knowledge encrypted identity vault, dual-pane SFTP, visual port-forwarding tunnels and multi-step runbook automation to five platforms from a single codebase — competing with Termius, Warp, Tabby, Blink Shell and MobaXterm.
| Terminal — split panes | Hosts — with favourites |
|---|---|
| Dual-pane SFTP | Command palette (⌘K) |
|---|---|
Right-click menu on a pane — terminal actions and the tab bar's own split, template and transfer actions, aimed at the pane you clicked.
Empty terminal screen — a local shell, a saved server or a session handed over from your phone, with starred hosts as chips.
Port-forwarding tunnels — local, remote and dynamic SOCKS5 rules with live state.
Snippets — parameterised commands (${INPUT:name}) reusable across every host in the workspace.
Identity vault — Argon2id + AES-256-GCM, master-password gated.
AI access — an MCP server, off by default, that lets an agent reach registered hosts under per-host approval, never with the credential itself.
Terminal settings — palette, font, ligatures, cursor; applied to open sessions immediately.
Workspaces — hosts, credentials, tunnels and automation scoped by context.
flutter_pty powered local terminal (zsh/bash/pwsh) on macOS, Windows, Linux & Android (iOS sandbox aware).dart_ssh2 engine with isolate-offloaded Key Exchange (jank-free) and TOFU host-key verification against a known_hosts store.-L), Remote (-R) and Dynamic SOCKS5 (-D) port forwarding with live throughput stats.${INPUT:variable} parameterised commands and multi-step runbook execution with exit-code / regex output verification.list_hosts, describe_host, request_host_access, open_session, run_command, interrupt, close_session and list_sessions — under per-host approval and policy, with an audit log and a kill switch, and never a stored credential.Release-by-release detail lives in CHANGELOG.md.
| Layer | Technology |
|---|---|
| Framework | Flutter SDK 3.x / Dart SDK ^3.12.2 |
| State | flutter_riverpod 3.x + riverpod_annotation (codegen) |
| Terminal UI | xterm3 (maintained fork) |
| SSH / SFTP | dart_ssh2 (Pure Dart) |
| Local PTY | flutter_pty |
| Database | drift (SQLite) — 18 tables, schema version 9, migrated in place |
| Secure Storage | flutter_secure_storage (Keychain / KeyStore / Credential Manager) |
| Crypto | cryptography — AES-256-GCM + Argon2id |
| Routing | go_router (declarative, vault-gated) |
| Desktop | window_manager, tray_manager, desktop_drop |
| UI Kit | shadcn_ui, lucide_icons_flutter |
shellvibe/
└── lib/
├── main.dart
├── app/ # router, theme, navigation shell
├── core/ # crypto, network (SSH/SOCKS5/PTY), mcp, sync, utils
├── features/ # terminal, hosts, sftp, tunnels, vault, snippets, templates,
│ # bookmarks, workspaces, device_link, mcp, settings
│ └── <feature>/{data,domain,presentation}
└── shared/ # drift database (tables/DAOs), providers, secure storage
Builds for macOS, Windows and Linux are attached to each
release, with a SHA256SUMS file
to check them against. The macOS build requires macOS 12 (Monterey) or
newer; Windows and Linux carry no version floor beyond a current desktop.
chmod +x the AppImage and run it. Nothing else needed. Or
install the native package, which adds ShellVibe to the app menu and pulls in
its dependencies:
sudo apt install ./shellvibe_*_amd64.debsudo dnf install ./shellvibe-*.x86_64.rpmsudo pacman -U shellvibe-*-x86_64.pkg.tar.zstIf running an unsigned Windows installer is not a trade you want to make, build it yourself with the steps below. That is a reasonable position and the source is right here.
# Install dependencies
flutter pub get
# Run code generation (Drift, Riverpod)
dart run build_runner build
# Run the app (choose a platform)
flutter run -d macos # or windows / linux / ios / android
# Static analysis & tests
dart analyze
flutter test
The first build runs Drift & Riverpod code generation. Generated files (
*.g.dart) are committed so a clean checkout builds withoutbuild_runner.
known_hosts table — mismatched keys are never accepted through the normal connect flow (MitM protection).127.0.0.1 only, an agent sees a host as an opaque id rather than a hostname or credential, each host is granted read-only or read-write by hand, every tool call is written to an audit log, and one button cuts all agent access.macos/Runner/Release.entitlements sets com.apple.security.app-sandbox to false in release as well as debug. This is deliberate: the Local Shell feature spawns the user's real login shell via flutter_pty, which a sandboxed process may not do (it can neither exec arbitrary binaries nor reach files outside its container), so under the sandbox the local terminal is unusable.
Consequences to keep in mind:
macos/Runner/Configs/Signing.xcconfig; override it locally with a git-ignored LocalSigning.xcconfig rather than editing project.pbxproj.ShellVibe has no analytics, no telemetry and no automatic crash reporting, and it needs no account. Signed out, it reaches the network in four places only: the hosts you connect to, a manual update check you press a button for, the font CDN if you pick a non-bundled font, and Device Link over your own LAN.
The account is optional and exists for cloud backup and sync. Signed in, the
app talks to api.shellvibe.dev, which holds your name, email, device list and
your backups and sync history — encrypted on your device with a passphrase the
server never sees. PRIVACY.md lists what is stored, who can read
it, how long it is kept and how to export or delete it.
Every push and pull request is scanned for secrets over the full history, then analysed and tested on Linux, macOS and Windows.
A vX.Y.Z tag builds and packages all three desktop platforms — a signed and
notarized DMG, a signed Windows installer, an AppImage and .deb, .rpm and
Arch packages — and opens a draft GitHub Release carrying every artifact and a
SHA256SUMS file. Publishing is a person pressing a button, never a side effect
of pushing a tag. Builds made
without signing credentials are marked unsigned in the file name and say so
in the release notes.
Source available, under the Functional Source License 1.1 with an Apache
2.0 future licence (FSL-1.1-ALv2) — see LICENSE.
Use it, read it, change it, fork it, run it at work. The one thing the licence withholds is a Competing Use: shipping ShellVibe, or something substantially like it, as your own commercial product or service. Every release converts to Apache 2.0 two years after we publish it.
This is fair source, not OSI-approved open source, and we do not call it open
source. LICENSING.md sets out what that means in practice.
The ShellVibe name, logo and icons are not covered by the licence — see
TRADEMARK.md. Fork freely; ship under your own name.
Contributions require a signed CLA, for reasons stated plainly in
CONTRIBUTING.md. The package remains excluded from pub.dev
with publish_to: 'none'.