展示 HN:Horizon – Rust编写的GPU加速无限画布终端
Show HN: Horizon – GPU-accelerated infinite-canvas terminal in Rust

原始链接: https://github.com/peters/horizon

## Horizon:无限终端画布 Horizon 是一款 GPU 加速的终端,超越了标签和分块,为组织所有终端会话提供了一个无限的 2D 画布。把它想象成一个用于命令行界面的白板——允许你自由地放置、调整大小和分组终端,以满足你的需求。 主要功能包括颜色编码的工作区、用于轻松导航的迷你地图以及五种自动排列模式。它由 Alacritty 引擎提供动力,以实现速度,并与 Claude Code/Codex 集成,并提供实时仪表板来跟踪 AI 代理的 token 使用情况。 Horizon 通过交互式元素(如可点击的 URL/文件路径和内置的 git 状态面板)增强工作流程。配置通过实时预览 YAML 编辑器(Ctrl+,)变得简单。重要的是,会话是持久的——恢复你的工作区时,它将完全恢复到你离开时的状态。 Horizon 适用于 Linux、macOS 和 Windows,易于下载和运行,且依赖性极少。

## Horizon:GPU 加速的无限画布终端 Horizon 是一款用 Rust 构建的新型终端模拟器,旨在解决管理多个项目、日志和 shell 的难题。与传统的标签页或 tmux 不同,Horizon 采用“无限画布”,shell 可以在空间中排列,并以完整上下文(包括布局、滚动记录和历史记录)重新打开。 Horizon 在短短三天内,借助 AI 工具(Claude/Codex)的帮助创建,旨在通过减少上下文切换来提高工作流程。最近的更新包括对多屏幕设置和缩放功能的的支持,响应了早期用户的反馈。 虽然一些用户更喜欢现有的解决方案,如 Terminator 或 Tmux,但另一些用户对 Horizon 在空间记忆和管理复杂工作流程方面的潜力感到兴奋,尤其是在远程会话中。该项目利用现有的库,如 Alacritty,可通过 `cargo install horizon-ui` 或 GitHub 上的预构建二进制文件进行安装。
相关文章

原文

Horizon — Your Terminals, One Canvas

Release CI License Platform

Horizon is a GPU-accelerated terminal board that puts all your sessions
on an infinite canvas. Organize, pan, zoom, and never lose a terminal again.

Horizon demo — panning across AI Agents, Dev, and Monitoring workspaces


Tabbed terminals hide your work. Tiled terminals box you in. Horizon gives you a canvas — an infinite 2D surface where every terminal lives as a panel you can place, resize, and group however you want.

Think of it as a whiteboard for your terminal sessions. Keep your frontend, backend, logs, and AI agents all visible at once — across multiple color-coded workspaces — and navigate between them with a minimap.


Pan and zoom freely across a boundless workspace surface. Place terminals anywhere. A minimap in the corner keeps you oriented — click it to jump.

Group related panels into color-coded workspaces. Auto-arrange with five layout modes — rows, columns, grid, stack, cascade — or drag panels freely.

24-bit color, mouse reporting, scrollback, alt-screen, and Kitty keyboard protocol. Powered by the Alacritty terminal engine — the same one behind the fastest terminal on the planet.

First-class Claude Code and Codex integration. Sessions persist and auto-resume. A live usage dashboard tracks token spend across agents.

A built-in git status panel watches your repo in the background. See changed files, inline diffs, and hunk-level detail — no context switching.

Ctrl+click a URL to open it. Hover a file path and click to jump to it. Horizon sees what your terminal prints and makes it interactive.

Open the config with Ctrl+, — a side panel with YAML syntax highlighting and live preview. Every change applies instantly to the canvas behind it.

Close Horizon, come back tomorrow. Your workspaces, panel positions, scroll positions, and terminal history are restored exactly as you left them.


Grab the latest binary from Releases — no dependencies needed.

Platform Asset
Linux x64 horizon-linux-x64.tar.gz Extract, chmod +x, run
macOS arm64 horizon-osx-arm64.tar.gz Extract, chmod +x, run
macOS x64 horizon-osx-x64.tar.gz Extract, chmod +x, run
Windows x64 horizon-windows-x64.exe Download and run
git clone https://github.com/peters/horizon.git
cd horizon
cargo run --release

Requires Rust 1.85+. Linux needs system headers for GPU rendering — see AGENTS.md for per-distro install commands.


Shortcut What it does
Ctrl+N New terminal panel
Ctrl+K Quick-navigate to any workspace
Ctrl+, Open settings editor
Ctrl+B Toggle sidebar
Ctrl+M Toggle minimap
Ctrl+0 Reset canvas view
F11 Fullscreen the active panel
Ctrl+Click Open URL or file path under cursor
Ctrl+double-click canvas Create a new workspace

On macOS, substitute Cmd for Ctrl.


Horizon reads ~/.horizon/config.yaml. Define workspaces, panel presets, and feature flags:

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


See AGENTS.md for development setup, architecture, coding standards, and CI requirements.

cargo fmt --all -- --check
cargo test --workspace
cargo clippy --all-targets --all-features -- -D warnings

MIT License

联系我们 contact @ memedata.com