每天早上一封邮件,把昨天的 AI 梳理好订阅邮件

METAL LAB

eneskirca/nodeterm

1,019本周 +427TypeScript

把散乱的终端标签页和AI编程代理统一摆到一张可拖拽的画布上

nodeterm是一款面向macOS和Linux的桌面应用,它把多个真实终端和AI编程代理(比如Claude Code)以可拖拽节点的形式,放在一张可无限平移缩放的画布上。每个会话底层都由tmux支撑,所以应用重启甚至整台电脑重启后会话依然存在。同一套代码还提供浏览器版Server Edition和配套的iOS客户端,让你在任何地方接入同一个正在运行的会话。

它做什么

  1. 不再堆叠标签页,而是把终端、AI代理、便签、代码编辑器、差异对比视图、网页/视频窗口都作为节点摆放在同一张空间画布上。
  2. 每个终端和代理都跑在tmux会话里,因此节点重新加载、应用重启、甚至设备重启后,正在运行的进程和滚动记录都能保留下来。
  3. 代理是否需要你处理不是靠读取输出内容判断,而是通过钩子(hook)信号识别,并以闪烁的RUNNING/NEEDS YOU标记和系统通知提醒你。
  4. 每个项目同时也是一个看板,卡片对应正在运行的代理会话,在列之间拖动卡片时会话依然继续运行。
  5. 通过扫码与iOS客户端配对,或打开自托管的浏览器版Server Edition,可以在手机或任意浏览器上接续同一个实时会话。

为什么重要

对同时运行多个AI编程代理的开发者来说,搞清楚哪个代理在等你处理、在哪里运行,正变成越来越麻烦的事,这个项目用空间化布局和状态钩子而不是更多标签页给出了一个具体的解法。它让桌面版Electron应用、浏览器服务端和移动端共用同一套核心服务的架构设计,也值得做多平台开源工具的开发者参考。

本仓库术语

  • tmux · 一种能让终端会话在后台持续运行的终端复用工具
  • 节点(node) · 画布上的单个可拖拽方块,可以是终端、编辑器、代理等
  • React Flow · 用于绘制节点和连线的一个JavaScript库
  • BUSL-1.1 · 一种源代码可见许可证,规定期限后自动转为开源许可
  • Electron · 一种使用网页技术构建桌面应用的框架

仓库简介(英文)

tmux-backed terminals and parallel agent sessions as draggable nodes on an infinite pan/zoom canvas. macOS, Linux, and a browser Server Edition.

在 GitHub 打开

热门仓库

全部仓库 →

METAL LAB 最新报道