TermCanvas 终端画布
在无限画布上管理终端、Git worktree 和 AI 编码会话。
- Star 数
- ★ 419
- 最近更新
- 5 个月前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 45/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用Codex · Claude Code
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 同时运行多个 Claude Code 或 Codex 会话,并希望在画布上查看各自状态的开发者。
- 不适合
- 只想在浏览器中使用、无需桌面应用的团队
- 不使用 Git worktree 管理项目的开发者
- 源码审查
- 45/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
TermCanvas 是一款面向 macOS、Linux 和 Windows 的 Electron 桌面应用,将终端窗口放在可平移、缩放和自由排列的无限画布上。它按“项目 → worktree → 终端”组织工作区,并可检测项目的 worktree。应用支持 Claude Code、Codex、Kimi、Gemini 和 OpenCode,也可在画布中运行 shell、lazygit 和 tmux 终端。内置终端和会话面板、Git 状态与差异查看器,以及 Claude 和 Codex 用量跟踪。可通过应用界面管理工作,也可注册 termcanvas 和 hydra 命令行工具;Hydra 使用本地工作区文件协调终端中的代理工作。应用需安装到桌面运行,README 未说明其用量同步所需的具体订阅或服务费用。
用户从 Git 项目添加工作区后,TermCanvas 检测其 worktree,并允许在其中创建终端;新 worktree 会出现在画布上。用户可以平移、缩放、排列和标记终端,查看代理状态、会话记录、Git 状态、提交历史与差异。注册 CLI 后,可运行 termcanvas project add 添加项目,使用 termcanvas terminal create 创建 shell 或代理终端,并用 termcanvas telemetry get 查看遥测数据。Hydra 可用 hydra init-repo 将指引同步到 CLAUDE.md 和 AGENTS.md,再通过 hydra init、dispatch、watch 等命令管理工作区;工作状态和结果证据保存在项目内的 .hydra/workbenches/ 文件中。
- 同时运行多个 Claude Code 或 Codex 会话,并希望在画布上查看各自状态的开发者。
- 按 Git worktree 隔离分支任务、并需要快速查看各 worktree 状态的工程师。
- 想从同一工作区启动 shell、lazygit、tmux 和 AI 编码终端的个人开发者。
- 使用 Hydra 将任务分派给隔离终端工作者,并通过结构化结果文件检查进展的技术负责人。
- 需要回放 Claude 或 Codex 旧会话、并在同一界面查看 Git 差异的开发者。
如何安装或部署这个 Agent?
可从 GitHub Releases 下载桌面版本;README 列出 macOS、Linux 和 Windows,并说明 Apple Silicon Mac 应选择文件名含 arm64 的版本。也可从源码安装,仓库注明 pnpm-lock.yaml 是规范锁文件:
git clone https://github.com/blueberrycongee/termcanvas.git
cd termcanvas
pnpm install
pnpm dev首次运行后,在 Settings → General → Command line interface 中点击 Register,以安装 termcanvas 和 hydra 命令。源码安装步骤需要 Git 和 pnpm;README 未列出 pnpm 版本要求。
如何使用这个 Agent?
在应用中添加项目,或注册 CLI 后运行:
termcanvas project add ~/my-repo
termcanvas terminal create --worktree ~/my-repo --type claude --prompt "Audit the auth flow and fix the root cause"
termcanvas terminal status <id>如需 Hydra 工作区,先在项目目录运行 hydra init-repo,再初始化和分派任务:
hydra init-repo
hydra init --intent "Add OAuth login" --repo .
hydra dispatch --workbench <id> --dispatch dev --role dev --intent "Implement OAuth login" --repo .
hydra watch --workbench <id> --repo .这个 Agent 有哪些优点和局限?
- 用无限画布和项目 → worktree → 终端层级管理并行终端,而不是依赖标签页或分屏。
- 支持 Claude Code、Codex、Kimi、Gemini 和 OpenCode,并在终端卡片上显示代理状态。
- Hydra 以项目内工作区文件和经过验证的 result.json 作为机器判定依据。
- 内置会话回放、Git 状态和差异查看,以及 Claude 和 Codex 的用量面板。
- 需要安装 Electron 桌面应用;README 没有提供浏览器版运行方式。
- 源码构建要求 pnpm,且应用集成 Git worktree 工作流;未使用 Git 的项目不适配其核心组织方式。
- 用量同步需登录,但 README 未说明服务费用、账户要求或数据同步细节。
- CLI 注册还会安装 Claude/Codex skills 和生命周期钩子;需要了解这些集成行为的团队应先审查相关配置。
这个 Agent 与同类方案有什么区别?
相较于只用终端标签页或分屏的工作方式,TermCanvas 将终端放在可自由排列的无限画布上,并按项目和 Git worktree 组织。README 未指定可直接对比的同类产品。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| TermCanvas 终端画布 当前 | 45 · 缺口较多 | 桌面应用 | ★ 419 | 5 个月前 | TypeScript | Codex · Claude Code |
| Skiff | 72 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 20 | 今天 | Rust | Codex · Claude Code |
| NeuroSquad 终端控制台 | 80 · 表现良好 | 命令行工具免费 + 模型费 | ★ 90 | 26 天前 | TypeScript | Codex · Claude Code |
| Alethe 多智能体编码工作台 | 70 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 1.1k | 今天 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
代码包围绕终端、PTY、工作区状态、遥测和可选回调/Webhook,README 也说明注册 CLI 会写入 Codex 配置;这表明功能和外部影响较广,但摘录未给出足够的权限控制、确认流程、数据流说明、敏感数据保护、依赖审计或回滚细节,因此各项仅给 1。作者和仓库信息可追溯,但发布者身份未验证,且摘录未清楚说明维护和更新责任,故来源归属仅 1。
README、包配置和源码呈现了一个有 CLI、桌面端及 headless 服务的连贯产品,也展示了锁文件安装和失败日志;但 Hydra 文档存在不同工作流术语,且源码摘录对服务边界错误、依赖可用性和恢复行为支持有限,故各项为 1。
README 明确面向跨平台终端及 AI 编码代理用户,列出终端类型、快捷键、CLI 场景和安装方式,支持受众与环境适配得 2。权限边界说明不足,且部分技能的触发范围较宽或依赖用户措辞,能力边界仅 1、触发精度 2。
README 按功能组织,并提供安装、命令参考、工作流示例与用户指南入口;包配置给出稳定产品名和版本,发布工作流要求变更日志条目,MIT 许可证文本完整,因此信息架构、安装、示例和版本记录得 2,许可证得 3。摘录未充分说明已知限制、命名兼容政策或维护责任,相关项为 1。
画布终端管理、会话恢复、Git 面板及 Hydra 编排提供了清晰的产品价值;CLI 命令和结构化结果契约便于实际操作,但工作流复杂度较高,且摘录没有成本或资源权衡说明,因此输出可用性和边际价值为 2、成本效益为 1。
版本、命令和部分实现由 README、package.json 与源码互相印证,但多数功能和安全性主张仍来自 README,摘录中的测试也不足以覆盖这些主张。事实、产品描述与推断没有系统区分,故三个可验证性标准均为 1。
- README 说明可选回调、Webhook、遥测,以及 CLI 注册会写入 Codex 配置;使用前应核实网络目标、写入内容和所收集的数据。
- Hydra 技能会启动或协调代理终端,并包含重置、合并和清理操作;执行前应检查工作区与结果文件,避免误处理未提交工作。
- 源码摘录不足以确认依赖安全、所有错误路径或数据保护措施;本评估为低置信度静态审阅,不代表已运行或独立测试。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Fixed - Legacy Computer Use cleanup no longer removes user-managed Codex MCPs: Codex computer-use MCP entries are now removed only when they contain TermCanvas legacy signatures, preserving custom or third-party MCP servers that use the same generic name.在 GitHub 查看 ↗ -
发布说明摘录
Changed - TermCanvas no longer ships its own Computer Use stack: removed the unfinished helper, MCP server, settings page, CLI commands, launch injection, and packaging path so Codex sessions use the bundled OpenAI Computer Use plugin instead. Fixed - Legacy Computer Use MCP entries are cleaned up on skill install: TermCanvas now removes stale Claude and Codex MCP registrations from older builds, including orphaned Codex TOML args / env lines that could keep pointing agents at the retired TermCanvas server.在 GitHub 查看 ↗ -
发布说明摘录
Fixed - Unicode paths stay readable in Git-backed views: the file tree and Git diff now parse git ls-files output as NUL-separated records, so Chinese and other non-ASCII filenames render as real paths instead of escaped octal strings. - File tree refresh prunes stale empty directories: after tracked or ignored paths disappear, the file tree now removes empty ancestor folders that no longer exist in the refreshed path snapshot.在 GitHub 查看 ↗
常见问题
TermCanvas 是否免费?
可以不使用 Claude Code 或 Codex 吗?
Hydra 会接管代理会话吗?
需要联网或登录吗?
谢谢反馈,我们会据此改进页面。