termpilot
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.
跨平台 SSH 终端。用户在本机登录后,Agent 通过 MCP 继续操作同一条会话。你的终端,助手可以接着用。
TermPilot你的终端,助手可以接着用。 本机 SSH 终端。凭据保存在本机。用户在窗口中登录后,Agent 继续操作同一条未断开的会话。 |
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。
许可
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi