termpilot

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Uyari
  • process.env — Environment variable access in .github/workflows/release.yml
  • process.env — Environment variable access in src/main/index.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

跨平台 SSH 终端。用户在本机登录后,Agent 通过 MCP 继续操作同一条会话。你的终端,助手可以接着用。

README.md
TermPilot

TermPilot

你的终端,助手可以接着用。

本机 SSH 终端。凭据保存在本机。用户在窗口中登录后,Agent 继续操作同一条未断开的会话。

release
Windows
macOS
Linux
license

下载

Windows · macOS · Linux

会话模型

下表比较同一次操作的中断点,不是功能清单。

登录 中途需要输入 继续下一步
独立远程终端 用户在软件中输入密码 菜单、安装向导和 sudo 密码只由用户操作 会话仍在,Agent 不能进入该窗口
Agent 自行连接 Agent 需要获得密码或私钥 本次调用结束后,提示符不再保留 经常重新连接,工作目录和正在运行的程序不一致
TermPilot 用户在窗口中登录,口令留在本机 Agent 的后续按键进入当前画面,用户可见 仍是同一终端,无需再次连接

删除或执行危险命令前,TermPilot 会暂停,并在窗口中等待用户确认。

交给 Agent

先打开 TermPilot,在设置中启用 Agent 连接。然后将下面这段话发给 Claude Code、Kimi Code、Codex、Cursor、WorkBuddy 或 CodeBuddy:

请安装 TermPilot 配套 skill:读取 https://raw.githubusercontent.com/xy200303/termpilot/main/skills/termpilot/SKILL.md 并安装到你的用户级 skills 目录,再读取本机 TermPilot 的 mcp.json(Windows 是 %APPDATA%\TermPilot\mcp.json),只把名为 termpilot 的 MCP 注册到你自己的配置里,其它服务器不要动;完成后用这个 skill 操作 TermPilot。

Agent 会安装使用说明并注册 TermPilot。之后直接说明目标主机和操作。连接口令写在本机 mcp.json 中,不进入代码仓库。

MCP 不可用时,可运行本机命令 termpilot。窗口未打开时,该命令会先启动 TermPilot。tools 列出工具,schema 查看参数,call 执行调用。优先读取文本;需要查看画面时再截图。已打开的终端继续使用,不为同一操作再打开一个。

Agent 工具

一共 25 个工具,分五族。调用只认编号:conn- 是连接,term- 是终端;名称和备注只用来认出它。连接有三种协议:SSH(全能:终端、exec 通道、SFTP、并发通道)、Telnet 和串口(只有终端字节流,term_exec 和 sftp_* 会返回能力说明,屏幕族工具三种协议行为一致)。

连接管理(6)

工具 做什么
connection_create 新建并保存一条连接(SSH / Telnet / 串口,密码 / 私钥口令加密存本机),返回 conn- 编号
connection_list 列出已保存的连接(不含密码),带 protocol 和 capabilities
connection_update 改连接参数、写备注
connection_delete 删连接(连带关掉它的终端)
connection_open 按 conn- 编号打开连接并新开一扇终端
connection_close 关掉某条连接下所有终端和文件通道

本机探路(1)

  • serial_list:列出本机可用串口(路径、厂商、序号),建串口连接前先探路。

跑命令(2)

  • term_exec:自动化主力。SSH exec 通道独立执行,不占终端画面、可并发、不用先开终端。返回结构化 JSON:stdout / stderr 分流(原始字节流,不折行、无回显)、协议级 exitCode、duration(秒)、timedOut、truncated。同名 session 承接 cd / export;prelude 在每次执行前注入固定环境(例如 source set_env.sh);timeout 最大 3600 秒;maxBytes 控制截断。
  • term_pty:把命令打进一扇已打开的共享终端,环境(cwd、已经 source 过的变量)在这扇终端里持续累积。输出是终端渲染结果(有回显、折行、颜色),适合交互和给人看,不适合程序解析。

终端画面与标签(10,只作用于 PTY)

  • term_write:发按键(方向键、回车、ctrl-c 等)和文字——TUI、菜单、安装向导都靠它
  • term_read:读终端最近输出(去掉 ANSI)
  • term_lines:按行号读缓冲(定位截图范围用)
  • term_screenshot:截当前屏或指定行号区间
  • term_screenshot_scrollback:把整个缓冲拼成长图
  • term_reconnect:断线后重连同一扇终端(编号、备注、已绘制的行保留)
  • term_list / term_update / term_close / term_open_local:列终端、写备注、关标签、开本机终端

文件传输(6,SFTP)

sftp_list / sftp_mkdir / sftp_upload / sftp_download / sftp_rename / sftp_remove。单文件 512MB 上限,几个 GB 的文件留在远端处理。

推荐用法

场景 用哪个
编译、跑测试、采集日志、输出要进脚本逻辑 term_exec
交互式操作、TUI、需要终端画面做材料 term_pty + term_screenshot
上传代码、下载结果 sftp_upload / sftp_download
服务器掉线恢复 term_list 看状态 + term_reconnect

功能

  • 支持密码或私钥登录。同一主机可保存多个账号,并按主机分组。无公网地址的主机可连回本机,且只接受本机连入。
  • 除 SSH 外还支持 Telnet 和串口连接(串口波特率、数据位、停止位、校验可配)。这两种协议只有终端字节流,没有 exec 通道和文件传输。
  • 本机终端与远程终端使用同一行标签。右键可复制、截图和粘贴。有选中文本时 Ctrl+C 为复制,无选中时为中断;Ctrl+V 为粘贴。
  • 远程文件按目录展开。双击文本文件进行编辑,Ctrl+S 写回服务器。
  • 可截取当前画面、指定行,或将滚动内容合成为长图。截图内容为窗口中已经显示的画面。
  • 在连接或终端上右键「复制为 Agent 提示词」,将该条事实发给 Agent。
  • 窗口配色与终端配色分开设置。

下载

最新安装包见 Releases。安装包未做代码签名。版本说明见 更新日志。

平台 文件
Windows x64 TermPilot.Setup.<version>.exe、TermPilot-<version>-win.zip
macOS(Apple Silicon) TermPilot-<version>-arm64.dmg、TermPilot-<version>-arm64-mac.zip
Linux x64 TermPilot-<version>.AppImage、termpilot_<version>_amd64.deb

<version> 与对应 Release 的版本号一致。

从源码运行

npm install
npm run dev

会话数据库位于 %APPDATA%\TermPilot\termpilot.db。

npm run typecheck
npm run build

推送到 main 会执行类型检查和构建。创建与 package.json 中 version 一致的标签(例如 v0.5.8)后,工作流在 Windows、macOS 和 Linux 上打包,并发布到 GitHub Release。发布说明来自 .github/release-body.md。提交说明、更新日志和开发约定见 AGENT.md。仅构建当前系统时使用 npm run dist:win、npm run dist:mac 或 npm run dist:linux。

许可

本软件以 MIT 协议 授权。参与开发请阅读 贡献说明。

Yorumlar (0)

Sonuc bulunamadi