Show HN: Horizon – GPU 가속 무한 캔버스 터미널 (Rust)
Source: Hacker News
Horizon은 GPU 가속 터미널 보드로, 모든 세션을 무한 캔버스에 배치합니다. 정리하고, 팬하고, 줌하고, 터미널을 다시는 잃어버리지 마세요.
왜 Horizon인가?
탭형 터미널은 작업을 숨깁니다. 타일형 터미널은 당신을 가두어 놓습니다. Horizon는 캔버스를 제공합니다 — 모든 터미널이 패널 형태로 존재하는 무한한 2‑D 공간으로, 원하는 대로 배치하고, 크기를 조절하고, 그룹화할 수 있습니다.
터미널 세션을 위한 화이트보드라고 생각해 보세요. 프론트엔드, 백엔드, 로그, AI 에이전트를 모두 한 번에 보이게 유지하고 — 여러 색상으로 구분된 작업 공간을 통해 — 미니맵으로 그 사이를 탐색할 수 있습니다.
Highlights
Infinite Canvas
제한 없는 작업 공간 표면을 자유롭게 팬하고 확대/축소하세요. 터미널을 어디든 배치할 수 있습니다. 모서리의 minimap이 방향을 잡아 주며, 클릭하면 바로 이동합니다.
Workspaces
관련 패널을 색상으로 구분된 작업 공간에 그룹화합니다. 행, 열, 그리드, 스택, 계단식의 다섯 가지 레이아웃 모드로 자동 정렬하거나 패널을 자유롭게 드래그하세요.
Full Terminal Emulation
24‑bit 색상, 마우스 보고, 스크롤백, alt‑스크린, 그리고 Kitty 키보드 프로토콜을 지원합니다. Alacritty terminal engine으로 구동되며, 이는 현재 가장 빠른 터미널을 구동하는 엔진과 동일합니다.
AI Agent Panels
일류 Claude Code와 Codex 통합을 제공합니다. 세션이 지속되고 자동으로 재개됩니다. 실시간 usage dashboard가 에이전트별 토큰 사용량을 추적합니다.
Git Integration
내장된 git status panel이 백그라운드에서 리포지토리를 감시합니다. 변경된 파일, 인라인 diff, 그리고 청크 수준의 상세 정보를 확인할 수 있어 컨텍스트 전환이 필요 없습니다.
Smart Detection
Ctrl+click으로 URL을 열 수 있습니다. 파일 경로 위에 마우스를 올리고 클릭하면 해당 위치로 이동합니다. Horizon은 터미널에 출력된 내용을 감지해 인터랙티브하게 만듭니다.
Live Settings Editor
Ctrl+, 로 설정을 열면 YAML syntax highlighting와 실시간 미리보기가 있는 사이드 패널이 나타납니다. 모든 변경 사항은 즉시 뒤쪽 캔버스에 적용됩니다.
Session Persistence
Horizon을 닫았다가 내일 다시 열어도 작업 공간, 패널 위치, 스크롤 위치, 터미널 기록이 그대로 복원됩니다.
설치
다운로드 (가장 빠름)
최신 바이너리를 Releases 페이지에서 가져오세요 — 추가 의존성이 필요 없습니다.
| 플랫폼 | 자산 |
|---|---|
| Linux x64 | horizon-linux-x64.tar.gz – 추출 후 chmod +x, 실행 |
| macOS arm64 | horizon-osx-arm64.tar.gz – 추출 후 chmod +x, 실행 |
| macOS x64 | horizon-osx-x64.tar.gz – 추출 후 chmod +x, 실행 |
| Windows x64 | horizon-windows-x64.exe – 다운로드 후 실행 |
소스에서 빌드하기
git clone https://github.com/peters/horizon.git
cd horizon
cargo run --release
Rust 1.85+ 필요. Linux는 GPU 렌더링을 위해 시스템 헤더가 필요합니다 — 배포판별 설치 명령은 AGENTS.md 전제 조건 섹션 을 참고하세요.
빠른 안내
| Shortcut | What it does |
|---|---|
| Ctrl+N | 새 터미널 패널 |
| Ctrl+K | 어떤 작업 공간이든 빠르게 이동 |
| Ctrl+, | 설정 편집기 열기 |
| Ctrl+B | 사이드바 토글 |
| Ctrl+M | 미니맵 토글 |
| Ctrl+0 | 캔버스 보기 초기화 |
| F11 | 활성 패널 전체 화면 |
| Ctrl+Click | 커서 아래 URL 또는 파일 경로 열기 |
| Ctrl+double‑click (canvas) | 새 작업 공간 만들기 |
macOS에서는 Ctrl 대신 Cmd를 사용합니다.
설정
Horizon은 ~/.horizon/config.yaml을 읽습니다. 작업공간, 패널 프리셋 및 기능 플래그를 정의합니다:
workspaces:
- name: Backend
cwd: ~/projects/api
panels:
- kind: shell
- kind: claude
- kind: git_changes
- name: Frontend
cwd: ~/projects/web
panels:
- kind: shell
- kind: shell
presets:
- name: Shell
alias: sh
kind: shell
- name: Claude Code
alias: cc
kind: claude
- name: Git Changes
alias: gc
kind: git_changes
features:
attention_feed: true
사용된 기술
- Rust – Edition 2024, 안전하고 빠름
- eframe / egui – 즉시 모드 UI 프레임워크
- wgpu – GPU 렌더링 (Vulkan, Metal, DX12, OpenGL)
- alacritty_terminal – 검증된 터미널 에뮬레이션
- Catppuccin Mocha – 다크 컬러 팔레트
기여
개발 설정, 아키텍처, 코딩 표준 및 CI 요구 사항은 AGENTS.md를 참고하십시오.
cargo fmt --all -- --check
cargo test --workspace
cargo clippy --all-targets --all-features -- -D warnings
MIT 라이선스.
