开发与工程 tmuxterminal-multiplexerelectroncanvas-uiagent-orchestrationkanban-boardssh-remote

nodeterm

把终端和 AI 编码代理变成无限画布上可拖拽的节点,用空间布局取代堆叠标签页,让并行代理会话一目了然。

FollowAgents 评估 · FARS-2.1
谨慎使用
65/ 100 五分制 3.3 / 5
1 2 3 4 5 6
1信任安全17 / 29 · 2.9/5

证据显示CI工作流使用最小contents:read权限,核心代码实现了open-project授权账本与per-caller同意门(test/acceptance测试可见confirm-gate、grant租约、拒绝路径),语音听写明确'先审后发'且本地Whisper转录,远程链路有tweetnacl E2EE并有篡改失败测试。扣分项:依赖安全仅见package.版本范围与dompurify override,无审计/lockfile证据,Windows安装包未签名;curl|bash安装脚本未在此文件集中可审计;发布者身份未经验证,package.作者仅为个人邮箱,署名薄弱。

2可靠稳定9 / 14 · 3.2/5

README、package.与workflow自洽(Node 20+/22声明与engines基本一致但engines范围比README的'20+'更窄,属轻微不一致);tmux缺失时有明确降级说明(issue #126),bootstrap-windows.bat补齐构建依赖,atomic-write等Windows差异被CI针对性测试覆盖。扣分项:Windows无tmux导致session continuity尚未落地,engines与README声明不完全对齐。

3适用触发12 / 18 · 3.3/5

受众与场景定义清晰(ADHD工作流、并行agent、桌面/服务器/iOS三表面),平台限制逐项说明(Windows beta、.deb手动更新、闭盖不防睡眠),环境适配覆盖mac/Linux/Windows/SSH远程/浏览器。扣分项:无AGENTS.md类清单,agent触发与canvas-control CLI的精确语义仅在README提及,仓库文件未提供触发规范;移动端为独立仓库未在证据内。

4规范维护14 / 18 · 3.9/5

信息架构非常完整(下载/构建/架构/快捷键/文档站分节明确),安装说明含每平台细节与失败提示(brew trust前置条件),已知限制诚实详细(未签名、无tmux降级、闭盖限制、#579进行中)。扣分项:元数据license为NOASSERTION与实际BUSL-1.1不一致(LICENSE文件本身完整);无独立CHANGELOG文件,版本说明靠发布workflow自动生成;package名为node-terminal而产品名nodeterm,命名有轻微漂移;示例主要外链docs站,仓库内FAQ未见。

5有效结果9 / 13 · 3.5/5

输出可用性:快捷键表、命令面板、通知/badge状态、uninstall清单文档化,产物有artifact名验证步骤;边际价值在于把tmux+agent状态hook化为空间画布,README解释了为何不用输出抓取;成本方面提示了自托管runner与夜间运行的功耗约束。扣分项:以上多为声明性描述,静态文件无法证明实际可用性与收益,且1.2k下载徽章为手工填写。

6证据核验4 / 8 · 2.5/5

主张普遍可溯源至issue/PR编号(#338、#579、#454、#126等),注释中明确区分事实与推断(release.yml对v0.2.x事故的解释),测试针对真实原语而非mock链。扣分项:文档站、star数、trendshift、App Store等多为主张无法在仓库内独立佐证;下载徽章数字无自动来源。

证据充分度: 评估于 2026年9月7日 审查版本 f456e888846b
使用前请注意
  • Windows安装包未签名且自动更新关闭,SmartScreen会警告;仅作试用为宜。
  • 元数据许可证为NOASSERTION,实际为BUSL-1.1(非开源许可),商业竞争性使用受限;以仓库内LICENSE为准。
  • 安装/卸载使用curl|bash管道脚本,执行前请先自行审查脚本内容并用--dry-run。
  • 静态审查未执行任何代码;依赖漏洞状况未经扫描验证,部署前请运行npm audit并审阅lockfile。
  • 发布者为未验证个人(个人邮箱联系),企业采购需自行尽调。
  • 该工具会向agent CLI配置合并status-hook条目,卸载脚本声称还原,但使用前建议备份相关CLI配置。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

nodeterm(GitHub: eneskirca/nodeterm)是一个基于节点的终端管理器,面向运行多个 AI 编码代理的开发者。每个终端和代理会话运行在独立的持久化 tmux 会话中,以可拖拽节点的形式呈现在一张可平移缩放的无限画布上;每个项目同时也是一个 Trello 风格的看板,卡片即实时会话。应用基于 Electron 构建,通过 CorePlatform 服务缝隔离平台,同一渲染器可运行三种形态:macOS/Linux/Windows(beta) 桌面应用、自托管的浏览器服务器版(Server Edition),以及 iOS 移动伴侣。代理支持 Claude Code、Codex、Gemini、GitHub Copilot、opencode、Grok 及自定义 CLI,通过 hook 驱动的状态徽章(RUNNING / NEEDS YOU)通知用户,无需抓取输出。许可证为 BUSL-1.1,每个版本发布四年后自动转为 MIT。

nodeterm 在画布上创建多种节点:终端(xterm + tmux,AI 命名)、代理(Claude Code / Codex / Gemini / GitHub Copilot / opencode / Grok / 自定义)、便签(可链接为代理上下文)、Monaco 编辑器、diff 视图、网页/视频节点,以及可绑定 git worktree 的分组。它通过 hook(而非输出抓取)驱动 RUNNING / NEEDS YOU 状态徽章、子代理卡片、上下文计量器和系统通知,并支持在节点内直接应答权限请求。每个项目既是画布也是看板(⌘⇧B),卡片可拖拽换列、打开实时卡片弹窗、指派队友,还能同步 GitHub Issues。它内置 VS Code 风格的源代码管理(暂存、提交、推送、worktree)、SSH 远程项目、本地 Whisper 语音输入(⌘⌥ 按住说话)、AI 提交信息与终端命名(只读调用本地代理 CLI),以及一个让代理操作画布的 canvas-control CLI。桌面应用内置自带 tmux 的 macOS 版本,会话跨应用重启甚至机器重启后可恢复滚动缓冲并用 claude --resume 续接。

  1. 同时运行多个 Claude Code / Codex 会话、容易在堆叠标签页中迷失上下文的 ADHD 或多任务开发者
  2. 管理分支级代理工作流、需要 git worktree + 代理分组的工程团队
  3. 需要在外出时用 iPhone 查看/应答代理请求的重度 tmux 用户(通过 QR 配对与 E2E 加密中继)
  4. 想在一台常驻 Linux 服务器上托管代理会话、从任意浏览器访问的远程工作者(Server Edition / headless 通知主机)
  5. 需要在代理长任务运行期间防止机器休眠、并获得推送到手机的 NEEDS YOU 通知的 overnight 任务用户

这个 Agent 有哪些优点和局限?

优点
  • tmux 会话持久化跨应用重启甚至整机重启,macOS 版自带 tmux 无需预装
  • hook 驱动的代理状态(无需输出抓取)+ 子代理卡片与节点内权限应答
  • 同一代码支持桌面、浏览器 Server Edition 和 iOS 伴侣三种形态,架构上有清晰的 CorePlatform / TerminalTransport 服务缝
  • 画布与看板双视图,GitHub Issues 双向同步、worktree 绑定分组等面向真实代理工作流的功能
局限
  • 许可证为 BUSL-1.1 而非 OSI 开源许可,禁止以竞争方式提供本产品,商用授权需联系作者
  • Windows 支持为 beta:安装包未签名、更新需手动、tmux 缺失导致会话跨重启连续性仍在开发中(#579)
  • 依赖 tmux 与 git 等系统工具;无 tmux 的环境(如当前 Windows)功能受限
  • 提供方生态绑定于具体代理 CLI(Claude Code 等需本机已登录),部分高级功能(如对话分支、托管账户)仅限 Claude

如何安装或部署这个 Agent?

从 nodeterm.dev 下载对应平台安装包:macOS 用 .dmg 或 Homebrew(brew tap nodeterm/tap; brew trust nodeterm/tap; brew install --cask nodeterm);Linux 用自更新 AppImage 或 .deb(sudo apt install ./nodeterm-*.deb);Windows(beta) 用未签名的 Setup .exe。iOS 伴侣应用在 App Store(nodeterm mobile)。从源码构建需 Node.js 20+ 和 tmux:npm install; npm run dev / npm run build。服务器版:npm run server:dev(需 Node 22 + tmux),然后打开 http://127.0.0.1:8443 设置密码。headless 通知主机可用 curl -fsSL https://raw.githubusercontent.com/eneskirca/nodeterm/main/scripts/install-server.sh | bash 安装为 systemd 服务。

如何使用这个 Agent?

启动后右键画布空白处创建终端或代理节点;⌘T 新终端,⌘⇧C 新建 Claude Code 会话,⌘K 命令面板,⌘⇧B 切换看板,⌘⇧E 文件浏览器,按住 ⌘⌥ 语音输入。代理状态以 RUNNING / NEEDS YOU 徽章和系统通知呈现,点击即可在节点内应答权限请求;MacBook 上代理状态还显示在刘海中。手机用 iOS 应用扫描 QR 配对,即可在同一实时会话上查看、应答和输入。所有快捷键可在 Settings → Keyboard Shortcuts 重映射;卸载可先 --dry-run 运行官方 uninstall.sh 脚本。

这个 Agent 与同类方案有什么区别?

README 将自身定位与堆叠标签页的传统终端(及 Trello 式看板)对比,并在徽章/商标声明中提及 Trello,但未点名可直接替代的具体竞品。

常见问题

它收费吗?
仓库未列价格;应用可从 nodeterm.dev 下载,许可证为 BUSL-1.1(生产使用在附加使用授权范围内允许,竞争性提供被禁止,每个发布四年后转 MIT)。超出授权的商业许可需联系 [email protected]
需要安装什么依赖?
运行时需 Node.js 20+(源码构建)与 tmux(推荐,会话持久化的基础);macOS 应用自带 tmux,系统已有 tmux 时优先使用。Server Edition 需 Node.js 22 + tmux。
我的代理权限提示如何处理?
代理通过 hook 通知 nodeterm(不抓取输出),节点显示 NEEDS YOU 徽章并发送系统/手机推送,你可在节点内直接应答权限请求。
可以远程使用吗?
可以:一是自托管 Server Edition 在任意浏览器访问;二是 iOS 应用扫描 QR 配对,通过 E2E 加密中继(不仅限局域网)接入同一实时会话;三是通过 SSH 打开远程主机上的项目。
如何干净卸载?
官方 uninstall.sh 脚本会停止其启动的所有进程、还原写入代理 CLI 配置的 hook/skill 条目并删除自身状态,支持 --dry-run 预览;细节见 docs/uninstall.md。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents