FlyCrys – Claude 코드 에이전트(Rust 및 GTK4)용 기본 Linux GUI
hackernews
|
|
📦 오픈소스
#ai 에이전트
#anthropic
#claude
#claude code
#gtk4
#linux gui
#rust
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
30년 차 Linux 사용자가 개발한 'FlyCrys'는 Claude Code 에이전트 관리를 위한 네이티브 Linux GUI 클라이언트입니다. 무겁고 자원 소모가 큰 Electron 기반을 배제하고 Rust와 GTK4로 제작되어 1초 미만의 빠른 실행 속도와 시스템 테마 연동을 자랑하며, 사용자가 별도의 구독 비용 없이 기존 CLI를 그대로 사용할 수 있습니다. 이 애플리케이션은 단순한 채팅 래퍼가 아닌 워크스페이스 중심으로 설계되어, 파일 트리, 마크다운/이미지 뷰어, 에이전트 채팅창, 탭 형태의 터미널을 한 화면에서 제공합니다. 또한 커스텀 프롬프트 설정이 가능한 에이전트 프로필, 실시간 스트리밍 렌더링, 백그라운드 작업 추적, 세션 및 구성 복원 기능 등을 지원하여 코딩 워크플로우를 효율적으로 통제할 수 있도록 돕습니다.
본문
Native Linux GUI for Claude Code agents. One binary, starts in under a second, no Electron. I've used Linux exclusively for 30 years. When Claude Code became my daily driver for writing software, the terminal worked but I kept hitting walls: can't preview images, can't see a file tree while the agent works, can't render markdown without switching to a browser, can't juggle multiple project streams without a mess of terminal tabs. I didn't want Cursor or anything Electron-based. I wanted something native that feels like it belongs on a GTK desktop. FlyCrys is not an IDE. It doesn't edit files. Agents do. You talk to agents, they write the code. FlyCrys gives you a workspace to manage that workflow: file tree on the left, viewer in the middle, agent chat on the right, terminal at the bottom. That's it. - Only native Linux GUI for Claude Code — Opcode uses webview, Claude Desktop skips Linux entirely - GTK4 native — follows system theme, integrates with GNOME, minimal resources - Workspace-oriented — not just a chat wrapper; file tree, viewer, terminal, git panel, all wired together - Agent profiles — preconfigured Security, Research, Default agents with custom system prompts and tool restrictions - Zero cost — no subscription, no API proxy, uses your own Claude Code CLI - Single binary — one cargo build , one.deb , done curl -fsSLo /tmp/flycrys.deb https://github.com/SergKam/FlyCrys/releases/latest/download/flycrys_amd64.deb sudo apt install /tmp/flycrys.deb To upgrade, run the same two commands. The URL always points to the latest release. # Ubuntu / Debian sudo apt install libgtk-4-dev libvte-2.91-gtk4-dev libwebkitgtk-6.0-dev libjavascriptcoregtk-6.0-dev libsoup-3.0-dev # Fedora sudo dnf install gtk4-devel vte291-gtk4-devel webkitgtk6.0-devel # Arch sudo pacman -S gtk4 vte4 webkitgtk-6.0 git clone https://github.com/SergKam/FlyCrys.git cd FlyCrys cargo build --release ./target/release/flycrys FlyCrys requires the Claude Code CLI: npm install -g @anthropic-ai/claude-code - Streaming markdown rendering (tables, code blocks, lists, blockquotes) - Tool calls shown inline with spinners - Pause, resume, stop agent processes - Session resume across restarts - Agent profiles with custom system prompts, tools, and model selection - Image attachments via clipboard paste or file picker - Drag files and folders into the prompt - Bookmarks for reusable prompts - Clickable file paths in responses open in the viewer - Token usage and session cost in the status bar Type / in the input to see all available commands with descriptions. Filters as you type. Discovers commands from ~/.claude/commands/ , ~/.claude/skills/ , project .claude/ , and installed plugins. Full CRUD dialog for managing skills and commands. - Lazy-loading tree with system MIME-type icons - Toolbar: Collapse All, Search (filters across entire project) - Live refresh via inotify watcher (preserves expand state) - Right-click: Copy Path, Add to Chat, Open Terminal Here, Open in Default App - Drag files onto agent input - Git status coloring in the file tree (files and ancestor folders) - Git status panel with color-coded changes - Three-state mode: Source / Preview / Diff (segmented toggle) - Syntax highlighting for 25+ languages - Markdown preview in WebKitGTK - Image preview with scaling - Git diff with highlighting - Tabbed terminal panel — multiple shell tabs per workspace - [+] button creates new bash(N) tabs; drag-reorder supported - Right-click tab header: Rename, Copy All Text, Add Selected to Chat, Close - Background task tracking — auto-creates task tabs when Claude runs run_in_background commands - Task tabs show command, separator, then streamed output from the task file - Task status indicators: ⏳ running, ✓ completed, ✗ failed (via Claude's task_notification events) - Lazy tab loading — VTE terminals only created on first focus - Scrollback preserved across sessions per tab - Colors adapt to light/dark mode - Multi-tab workspaces, one per project - Session persistence: window size, pane positions, open files, agent sessions - Lazy tab loading: only the active tab builds at startup - Light/dark theme toggle - Desktop notifications when agents finish - Git branch in status bar (updates via inotify, not polling) | Crate | Purpose | |---|---| gtk4 0.10 | UI toolkit | webkit6 0.5 | Chat rendering, markdown preview | vte4 0.9 | Embedded terminal | syntect 5 | Syntax highlighting | pulldown-cmark 0.12 | Markdown to HTML | notify 6 | Filesystem watcher (inotify) | serde + serde_json | Config persistence, CLI protocol | System deps: GTK4, VTE4, WebKitGTK 6.0, libsoup 3.0 MIT. See LICENSE.
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유