mcpField
T
Termany

Termany

已认证精选本地服务
termany.sh开发工具4905 天前更新

关于 Termany

Termany 是面向同时运行多个编码 Agent 的终端,将会话、文件差异、Worktree、端口和远程主机集中在一个窗口中。它还提供 Bot 对话、Git 审查和用量查看。

主要功能

  1. 01在窗口中管理多个持久会话
  2. 02标记需要关注的会话
  3. 03启动多种编码 Agent 与 Bot
  4. 04查看文件、Git 差异和对话
  5. 05管理 Worktree、SSH 和端口转发
  6. 06查看 Agent 用量与资源活动

适用场景

  1. 01并行运行多个编码 Agent
  2. 02在多个 Worktree 间检查和恢复会话
  3. 03通过 SSH 在本地与远程主机工作
  4. 04查看 Agent 对话用量和模型统计

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Termany

一个可同时运行多个编码 Agent 的终端。

Termany 可在一个窗口中管理大量 Agent 会话,告诉你哪个会话需要你的关注,并将这些会话相关的工作放在同一处:差异、工作树、端口、远程主机和 Token 费用。

网站:termany.sh — 下载、文档和发行说明。

Termany

适合你吗

如果你符合以下情况,Termany 会特别有用:

  • 同时运行五个或更多 Agent 会话
  • 在同一个代码仓库中使用 Claude、Codex 和其他 Agent
  • 同时打开一个项目的多个工作树,并遇到它们之间的端口冲突
  • 将长时间任务转移到开发机上,让它们在笔记本电脑休眠时仍能继续运行

如果你不是这样工作,Termany 仍可作为普通终端使用,提供分屏、主题和内嵌文件查看器。

在一个窗口中管理多个会话

面板最多可嵌套三层:工作区(最左侧栏,一个上下文,例如某个客户或产品)、页面(左侧边栏,一个项目或区域)和标签页(顶部栏,每个对应一个 shell)。每个面板都可以使用 ⌘D 和 ⇧⌘D 再次分屏。每个标签页都是持久会话:即使切换到后台,也会继续运行并保留滚动内容。

Termany 会为每个面板标记为工作中、已完成或需要关注。它会读取面板的前台任务和屏幕上的变化,而不是 shell 提示符,因此即使 Agent 使用自己的界面,这些标记也同样有效。带标记的面板会显示在页面树上方的 ACTIVE 区域中,这样你无需打开二十个标签页来找到已停止的那个。

⌘P 可按名称搜索命令、页面、标签页和面板。⌘M 可在暗化的背景上最大化单个面板。在桌面端,⌥⌘N 可在相同工作区中打开第二个窗口。

从右侧栏可在任意面板中启动 Agent。内置支持 Claude、Codex、Gemini、Grok Build、OpenClaw、FastClaw、Hermes、OpenCode、Cursor、Kimi 和 OMP。Claude、Codex 和 OpenClaw 默认启用;其他 Agent 可通过一个开关启用。在 Settings → Agents 中,可指定其他二进制文件,或添加自己的 Agent。Detect 会探测你的设备并列出发现的内容。

Claude 和 Codex Bots 使用本地安装并已完成身份验证的官方 CLI。如果缺少其中任何一个,Termany 会在 Settings → Agents 中提供其官方安装程序的链接。Termany 内置了运行该程序所需的轻量 ACP bridge 和 Node 运行时,因此 Bot 对话无需单独安装系统级 node 或 npx。

一个标签页中的四个面板:Agent、shell、活动监视器和聊天面板

协同工作的 Bot

为每个 Bot 添加描述,并从一个可搜索的选择器中选择其技能。 Termany 会发现 ~/.agents/skills、~/.claude/skills、当前生效的 Codex 技能目录以及自己的下载库。在设置 → 技能中添加或禁用搜索目录。 重复的位置和相同的软件包会合并显示; 已有绑定仍保留其原始位置。你的 CLI 中其他全局技能仍可使用。

技能详情会在专用视图中打开;返回时会保留搜索内容、滚动位置和所选项。使用选择器顶部的 GitHub 条目,粘贴仓库、tree/<ref>/<directory> 或 blob/<ref>/<directory>/SKILL.md URL。成功导入的技能会显示在当前导入列表中,并自动选中;确认选择后,即可将其应用到 Bot 表单。

本地技能会从原位置读取。公开的 GitHub 技能会下载到 ~/.termany/skills;来源元数据和绑定信息存储在 SQLite 中。下载使用有大小限制的归档;对于指向超大仓库中特定位置的链接,则会使用有大小限制、仅获取目录的回退方式。重新导入相同来源时,会更新所有绑定该来源的 Bot 所使用的当前副本。没有版本选择器。迁移时会保留现有的精确快照绑定,并将旧的补充说明合并到描述中。迁移前会保存一致的数据库备份。

提示词包含已绑定技能的名称、描述和读取说明,而不包含完整的技能正文。每个绑定都包含 SKILL.md 的绝对路径;所选 Agent 会使用自己的文件工具读取该入口文件及其引用内容。Termany 不会安装技能 MCP 服务,也不会注入用于读取技能的函数。 ACP 会在首次使用、恢复或配置变更时发送完整配置快照;配置未变的轮次则会携带简短的恢复指针。无法以可移植的方式检测未报告的自动压缩。

配置适用于私聊回复、问候语、群成员回复和 Bot 间投递。群组内部路由仅使用成员摘要。 更新会在下一次请求时生效,不会清除对话历史记录。ACP 会将其作为提示词上下文接收,而不是可移植的系统提示词覆盖;普通终端窗格不会自动继承 Bot 的配置。

将 Agent 转变为可复用的 Bot,并为其设置独立的名称、头像、角色、模型和工作文件夹。 你可以直接与它对话,也可以将多个 Bot 加入群聊。带头成员会协调对话、委派工作并汇总结果;使用 @ 提及可将消息路由给特定成员。话题可将不同任务分开,避免共用一份冗长的对话记录,同时每个 Bot 在对话中都保持清晰的身份。

如果 Agent 支持恢复会话(loadSession,或适用于不重放对话记录而恢复上下文的 Agent 的 sessionCapabilities.resume),空闲的 ACP Bot 进程会在五分钟后释放。发送另一条消息会重启 Agent 并加载同一段对话;首次回复可能需要稍长时间才能开始。正在进行的回复和权限请求会继续运行。不支持会话恢复的 Agent 会将对话保留在内存中;仅为发现设置而启动、未使用的进程仍可释放。这不会停止终端会话。

一群编码 Bot 在共享话题中协同玩游戏

在同一窗口中审阅

任何窗格都可以从 shell 切换到其他视图。⌘E 可循环切换视图:

  • 文件 — 文件树。点击文件即可就地编辑(CodeMirror、语言检测,按 ⌘S 保存)或阅读。Markdown、HTML、图片、视频、音频、PDF、DOCX、XLSX 和 PPTX 均可内嵌预览。
  • Git 差异 — 已暂存、未暂存和未跟踪的更改。将工作树与其他基准进行比较。也可在同一面板中切换到同一仓库的其他工作树。
  • 对话 — 基于 ACP 的聊天窗格,带有自己的模型选择器。
  • 浏览器 — Web 视图。当窗格开始提供端口服务时,Termany 会询问是否打开它。

Agent 在一个窗格中运行,其差异会在旁边的窗格中打开。

一个窗格中显示文件树和编辑器

工作树和远程主机

  • 每个窗格可单独配置 SSH。 每个窗格都可以选择自己的连接,因此一个标签页中可以同时使用本地 shell 和两个远程主机。添加连接时,可设置显示名称、可选端口,以及自动、密码或身份文件验证方式。测试连接可在实际使用前检查连接。会话断开后,按 Enter 即可重新连接。远程窗格开始提供端口服务时,点击一次即可通过回环地址打开 SSH 转发,从而在本地打开远程 URL。
  • 跨工作树的会话历史记录。 按 ⇧⌘H 可查看持有当前焦点窗格的仓库中的历史 Agent 对话。会话按分支分组,并涵盖该仓库的所有工作树。目录已不存在的会话会显示在已删除的工作树下,并从主检出目录恢复。任何会话都会在新窗格中恢复,并已 cd 到对应项目目录。
  • 活动监视器。 按 ⇧⌘M 可查看 CPU、内存、交换空间和内存压力,以及按程序分组的进程列表。在搜索框中输入端口号即可查找占用该端口的进程,然后可在同一行中终止它。

左侧的 Agent 和右侧的工作树差异

活动监视器及各进程占用的端口

Agent 费用

Termany 会读取 Agent 对话记录并生成使用情况视图(⇧⌘U):预估费用、输入、输出和缓存令牌数、每日图表,以及按模型和项目划分的明细。

目前,使用情况和会话历史记录仅读取 Claude 和 Codex 的对话记录。其他 Agent 会显示为不受支持。

Agent 使用情况仪表板

外观与快捷键

内置 18 款主题。主题会重新设置整个窗口的样式,而不只是终端配色:侧边栏、标签栏、每个窗格之间的间距和圆角,以及窗格下方的阴影,都由主题决定——效果足够彻底,能让 Windows 98 的斜面边框和海军蓝标题栏重现。使用 ⌥⌘. 和 ⌥⌘, 切换主题,或使用 ⌥⌘T 打开选择器。

Codex 主题:白色画布,窗格平整并延伸至边缘
Codex
浅色 · 默认
Default Dark 主题
Default Dark
深色
Daylight 主题
Daylight
浅色
Charcoal 主题
Charcoal
深色
Meadow 主题
Meadow
浅色
Solarized Dark 主题
Solarized Dark
深色
Gruvbox Dark 主题
Gruvbox Dark
深色
Gruvbox Light 主题
Gruvbox Light
浅色
Rosé Pine 主题
Rosé Pine
深色
Rosé Pine Dawn 主题
Rosé Pine Dawn
浅色
Aurora 主题
Aurora
深色
Horizon 主题
Horizon
浅色
Phosphor 主题:绿色 CRT,平整并延伸至边缘
Phosphor
深色
Windows 98 主题:灰色斜面边框、海军蓝标题栏和黑色 VGA 控制台
Windows 98
浅色
Windows XP 主题:光泽蓝色 Luna 边框、绿色选区,以及叠加在原始山丘风景上的黑色控制台
Windows XP
浅色
Aqua 主题:拉丝银色边框、简洁的源列表、细条纹标题、蓝色凝胶标签和白色终端
Aqua
浅色
Blue Screen 主题:扁平蓝色表面、白色文字和一个大大的悲伤表情
Blue Screen
深色
Spreadsheet 主题:绿色功能区标签、公式栏,以及白色单元格网格上的黑色终端文字
Spreadsheet
浅色

安装的任何 CodexThemes 主题包都会连同配图显示在“设置 → 外观”中,并可一键应用,与上面的 18 款主题并列。

所有约 60 个操作都可在“设置 → 键盘”中重新绑定。右侧栏可隐藏你不使用的工具。界面提供 21 种语言。

安装

从 termany.sh 下载构建版本,或从源代码运行。

从源代码运行

npm install          # builds node-pty natively (needs Xcode CLT on macOS)
pnpm dev:web         # dev PTY server (:5175) + web (:15173) — open http://localhost:15173
pnpm dev:desktop     # the same, plus the badged Tauri Dev app

在 macOS 上,桌面脚本会验证所选 SDK 和链接器是否兼容。如果独立的 Command Line Tools 更新与其 SDK 不一致,Termany 会在本次运行中自动使用已安装的 Xcode 工具链,而不会更改系统范围的 xcode-select 设置。

桌面客户端使用 Tauri 封装 apps/web,并随附 Node PTY/API 服务(捆绑的 Node 运行时和 node-pty),因此无需单独安装即可离线运行。

构建安装程序

安装程序通过 CI(.github/workflows/)生成,每个操作系统对应一个任务:

  • macOS(build.yml)——已签名并公证的 .dmg,附加到 GitHub 草稿 Release。需要 APPLE_* 仓库机密。
  • Windows(build-windows.yml)——NSIS .exe,作为构建工件上传。 无需机密(未签名)。

两者都依赖 scripts/bundle-server.mjs,该脚本会在 Tauri 构建前为主机平台组装 Node 服务。要在本地构建 macOS DMG,请参阅 scripts/release-mac.sh。

配置

模型提供商采用 BYOK(自带密钥)模式。在应用运行时添加提供商;其配置会存储在本地的 ~/.termany/termany.db 中。本仓库中不存储任何密钥。可选环境变量:

变量默认值用途
TERMANY_PORT5174 release / 5175 devPTY/API 服务端口
TERMANY_HOST127.0.0.1服务绑定的接口。任何非环回地址都会在没有身份验证的情况下将 Shell 暴露到网络
TERMANY_ALLOWED_ORIGINS—允许调用服务的额外浏览器来源,以逗号分隔(Tauri 和环回页面始终允许)
TERMANY_PASTE_DIRsystem temp粘贴的图片写入位置
VITE_PTY_URLws://localhost:5174 release / :5175 devWeb 客户端 → PTY WebSocket
VITE_API_URLfollows VITE_PTY_URLWeb 客户端 → REST API
快捷键

以下是初始快捷键设置。所有快捷键都可在“设置” → “键盘”中重新绑定。

按键操作
⌘T新建标签页
⌘N新建页面
⇧⌘N新建工作区
⌥⌘N新建窗口(桌面端)
⌘W关闭窗格 / 标签页
⌘D / ⇧⌘D向右 / 向下拆分
⌘M最大化 / 还原窗格
⌘E / ⇧⌘E循环切换窗格视图 / 窗格布局
⌘P搜索页面、标签页和窗格
⌘F在滚动缓冲区中查找
⌥⌘GGit 差异
⇧⌘HAgent 会话历史记录
⇧⌘UAgent 令牌用量
⇧⌘M活动监视器
⌥⌘ ← ↑ ↓ →在窗格间移动焦点
⌃⌘ ← ↑ ↓ →调整焦点所在窗格的大小
⌘B / ⇧⌘B切换侧边栏 / 右侧栏
⌘K清除窗格

桌面应用还可以通过系统范围的快捷键,在任何应用中显示或隐藏窗口。 默认情况下,此功能处于关闭状态,因为大多数实用的组合键都已被占用(Spotlight、启动器、IME、媒体键),因此请在“设置” → “键盘” → “系统范围”中自行选择快捷键。

构建方式

本地优先,为云端做好准备。如今,同一界面既可作为 Web 应用运行,也可作为桌面客户端运行;将来还可作为云服务运行,只需替换一项:后端。

┌──────────────────────────────────────────────┐
│  apps/web   React + xterm.js                   │  ← shared UI
│   Workspace ▸ Page ▸ Tab ▸ Pane                │
├──────────────────────────────────────────────┤
│  packages/core   ITerminalBackend              │  ← the ONE seam
│    WebSocketBackend   (web / cloud)            │
│    LocalPtyBackend    (desktop, TODO)          │
├──────────────────────────────────────────────┤
│  apps/server   node-pty over WebSocket         │  ← local now; container-per-session later
└──────────────────────────────────────────────┘

ITerminalBackend 以上的所有内容都由 Web、桌面和云端共享。要适配新环境,只需再编写一个后端。界面无需更改。

后续路线图

  • 会话重连:页面重新加载后仍能继续使用(服务端 PTY 持久化)。
  • LocalPtyBackend:用于桌面端的进程内 PTY 后端。目前,桌面应用通过本地 WebSocket 与捆绑的服务端通信。
  • 云端:为 apps/server 添加身份验证,并为每个会话提供独立的容器沙箱。

贡献

开发环境设置和 PR 指南请参阅 CONTRIBUTING.md,报告漏洞请参阅 SECURITY.md。

贡献者

感谢所有为 Termany 做出贡献的人:

贡献者

许可证

AGPL-3.0 © 2026 ThinkAny, LLC。通过网络提供服务也属于分发:如果你将修改后的版本作为服务运行,就必须向用户提供其源代码。有关 AGPL 之外的商业许可事宜,请联系 [email protected]。


termany.sh 由 ShipAny 构建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。