分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

eneskirca/nodeterm

开发工具

把多个终端和并行 AI 编程代理作为可拖拽节点铺在无限画布上,让每个会话的位置和状态一眼可见,适合同时跑多个代理的开发者。

2,290
264
TypeScript
NOASSERTION
创建于 4 个月前

项目介绍

nodeterm 用一张无限平移缩放的画布替代堆叠的终端标签页。每个终端或 AI 编程代理都是画布上的一个节点,运行在独立的持久 tmux 会话中,可以拖动、分组、标注;退出应用甚至重启机器后,会话仍会恢复。便签、Monaco 编辑器、diff 视图以及网页/视频节点也放在同一张画布上。

它面向同时运行多个代理会话、工作流比较分散的开发者,README 明确把 ADHD 用户列为目标人群。

支持的代理包括 Claude Code、Codex、Antigravity、Gemini、GitHub Copilot、opencode、Grok、Cursor 和自定义 CLI。代理状态通过 hook 获取,而不是解析输出:节点会显示 RUNNING / NEEDS YOU 徽章并触发系统通知,权限提问可以直接在节点里回答。每个项目同时还有一块看板,卡片就是正在运行的会话,按 ⌘⇧B 切换。

同一套画布有三种形态:桌面应用、可自托管的浏览器 Server Edition,以及通过加密中继连接同一批实时会话的 iOS 伴侣应用。

快速使用

macOS 和 Linux 用户从 nodeterm.dev 下载安装包最直接;macOS 也可以用 Homebrew:

brew install --cask nodeterm

Linux 使用 releases 页面 的 AppImage、.deb 或 .rpm,其中 AppImage 之外的包需要手动更新。启动后在画布空白处右键,添加终端或代理,按需摆放节点。首次启动的引导会介绍“代理工作时阻止系统休眠”等选项。

如果想从源码运行浏览器版,需要 Node 22 和 tmux:

npm install
npm run server:dev

打开 http://127.0.0.1:8443 并设置密码。终端、文件/编辑器/diff、完整的 git 面板、看板和代理状态徽章目前都能在浏览器中使用;安全模型和当前限制见 Server Edition 文档。也可以用安装脚本在任意 Linux 主机上安装无界面的通知服务。

从代码检出进行开发需要 macOS 或 Linux 上的 Node.js 20+,且源码检出不带内置 tmux:macOS 上运行一次 node scripts/build-tmux.mjs,或自行安装 tmux。Windows 用户先运行 bootstrap-windows.bat。

使用约束

  • Windows 仍是 beta:安装包未签名、更新需手动,由于没有 tmux,重启后的会话连续性仍在开发中。画布、代理、看板和 hook 与其他平台一致。
  • Fedora 和 GCC 14+:构建需设置 CFLAGS=-D_GNU_SOURCE;打包还需要 rpm-build 和 libxcrypt-compat,否则 npm install 会在编译 whisper.cpp 时失败。
  • AppImage 依赖 FUSE 2,Fedora 默认不安装。
  • 休眠行为:代理工作期间 nodeterm 会阻止机器空闲休眠,但无法让合盖的机器保持唤醒;需要整夜运行时,应保持笔记本开盖并接通电源,或通过 Server Edition 把代理放在不休眠的主机上。
  • macOS 粘贴截图:Cmd+V 保存截图并粘贴路径(SSH 会话中会上传),Ctrl+V 则是向前台程序发送控制键;应用不会检测剪贴板图片支持,也不会自动换用另一种方式。
  • Server Edition 使用单用户密码认证,应把对主机的 WebSocket 访问视同敏感入口。
  • 许可:BUSL-1.1。允许生产使用,但不得把 nodeterm 作为竞争性产品或服务提供,也不得在生产中使用被移除或绕过许可证、用量限制检查的副本。每个版本发布四年后转为 MIT。
  • 卸载:卸载脚本会停止 nodeterm 启动的进程、撤销它写进代理 CLI 配置的 hook/skill 条目并删除自身状态,建议先加 --dry-run 查看清单;仓库里的 .nodeterm/ 画布目录会保留。

HotRepo 点评

2026-11-01,该项目出现在 HotRepo 的 TypeScript 日榜第 9 位,当天 2,287 个 Star、264 个 Fork,新增 49 个 Star。这是唯一一条站内快照,只能说明当天的榜单事实,不足以判断趋势。项目的差异化在于用空间组织替代标签栏:持久 tmux 会话、hook 驱动的代理状态,以及同一批实时会话的看板视图。采用前需要权衡的具体限制是 Windows beta 和核心连续性功能对 tmux 的依赖。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。