做了个 SSH 终端 TermCat,支持 AI 命令和 AI 运维操作,最近加了 Claude Code 插件面板,求各位 V 友拍砖(补截图)

4 月 29 日
 imchen

各位 V 友好,潜水多年,发个帖求点反馈。

因为自己对操纵系统命令不熟悉,很多工具不知道怎么配置,于是想开发一个工具帮我实现系统的命令操作。 于是实现了一个终端管理工具叫 TermCat ,主要是 SSH + AI 运维。最近用 Claude Code 用得多了,顺手写了一个监控插件叫 Claude Code Power ,把 Claude Code 的运行状态和多套环境配置塞进了 TermCat 的右侧边栏。今天把整个工具一起聊聊,看看大家有没有用得上的场景,或者哪里设计得不对的。

大概是个什么东西

简单说就是 SSH 终端 + AI 运维助手 + 一套插件系统。底层 Electron 28 + React 18 + xterm.js ,中间一层 Go 做 WebSocket 转发和认证,AI 推理在 Python 服务里跑。macOS / Windows / Linux 都有包。

终端管理本身永久免费——多 tab 、分屏、SFTP 文件浏览、系统监控、主机分组、跳板机这些都有。AI 部分需要点积分或者用自己的 API Key (下面会细讲)。

下面按四个我自己觉得相对有点意思的点说一下。

一、AI Agent 帮你做运维

这部分不是命令补全。命令补全 Warp 已经做得很好,我没必要重做。

我的方向是:你描述一个目标(比如"排查 Nginx 502"、"清理 /var/log 下超过 30 天的日志"),AI 自己规划步骤、逐步执行命令、读输出、根据结果调整下一步。每一步执行前要你点确认。高风险命令(重启、删除、改配置)会做二次提醒。

举个真实场景:半夜服务器 502 ,告诉它"排查 Nginx 502",差不多 2 分钟后它告诉我是上游 Node 应用挂了,建议重启 myapp 并配 PM2 防止复发。整个过程我点了 6 次"确认"。当然——它也不是每次都对,复杂业务 bug 它经常抓不到,遇到不熟的服务也会瞎猜。但日常那 80% 的"看日志、查进程、查端口、查配置"的重复活,确实能省不少时间。

模式分三种:

模型不绑定。服务端模式是积分计费,本地插件模式可以填自己的 API Key ( DeepSeek / Claude / OpenAI 都行)。Agent 能力包是 ¥69 一次买断,没有月费。

二、Claude Code Power 插件(这次新做的)

我自己用 Claude Code 用得比较多,遇到两个不太顺的点:

  1. 看不到它在干什么。当前 session 处于什么 Drive Mode 、刚才那条 prompt 调了哪些 tool / Skill / MCP / Sub-agent 、加载了哪些规则文件,全都藏在 ~/.claude/projects/<hash>/*.jsonl 里。要看就得再开个终端 tail ,或者手动翻文件。
  2. 多套配置切换比较烦。一会儿用官方 API ,一会儿换第三方代理,一会儿换个 model 比较输出,每次都要 export 一堆环境变量再重启 claude 。

所以做了这个插件。它会自动检测 TermCat 终端里跑的 claude 进程,在右侧边栏注入面板。功能其实不复杂,分两块:

实时面板(看 Claude Code 在干什么)

Preset 管理(一键切环境)

设计上有几条自己比较在意的约束:

不复杂,但是自己用着比裸用顺一些。也许对同样 Claude Code 多 session 、多模型来回切的同学有点用。

三、性能上做了一些事

终端工具卡顿就没法用。性能这块没什么巧思,就是把该做的事做了:

其实没什么神奇的,就是 Electron 的常规优化都做了一遍。bundle-report 跟着 npm run build 一起出,每次加依赖都看一眼有没有进错 chunk 。

交互细节方面:分屏拖拽、终端拖到分屏自动迁移会话、跨 tab 终端会话保留、中/英/西三语 i18n 、5 种 UI 主题 + 5 种终端配色。

四、插件系统

这个其实是整个项目里我自己最满意的部分,但也最容易讲错——因为说"全插件架构"听起来像 buzzword 。具体一点说:

TermCat 自己用的几个面板( AI 运维、文件浏览器、系统监控、快捷命令库、传输管理)不是 hardcode 进客户端的,是用插件 API 写的,和外部插件走完全相同的接口。这意味着如果某天我想干掉某个面板,删一行注册就行;想加一个,新建目录写一个 index.ts 就行。

机制上有个稍微有意思的设计:插件不直接渲染 React 组件,而是输出声明式的 SectionDescriptor[],宿主按模板(header / select / list / msg-viewer / table / chart / form 等 20+ 种)渲染。也就是说插件作者基本不用懂 React ,照着模板填数据结构就行。代价是模板没覆盖到的 UI 没法做——一个折中。

其他基础设施:

目前实现的插件:claude-code-power(本文重点)、local-ops-aiagent(本地 API Key AI )、ai-opsfile-browsermonitoring-sidebarcommand-librarytransfer-manager。如果有同学想自己写插件,文档还在补,但代码已经稳定,可以来 issue 区交流。

关于和其他终端的区别

适合谁:日常 SSH 比较多 + 用 Claude Code 写代码 + 不想被订阅锁死的同学。

下载

注册送的 50 积分够直接试一下 AI Agent 。。

独立开发,反馈我都看。设计上肯定还有不少坑,欢迎拍砖。加用户群加微信(主页下方二维码)。

1451 次点击
所在节点    程序员
15 条回复
onedge
4 月 29 日
挺好的,现在平时是 ssh 上去,开个 opencode ,这样更一体化一些,还没细看体验,是否支持集成使用自己的 AI 订阅?
imchen
4 月 29 日
可以的,ssh 链接到服务器,就可以使用本地 Agent 或者 claude code 操作,比较方便,不需要提示语告诉 agent 如何操作远程服务器。(配置 key 和 baseurl 就可以)。 目前本地插件要购买,种子用户可以联系我,免费开通。
bigha
4 月 29 日
挺好的,我也写了一个差不多的,不过后端是纯 go ,wails 打包出来 exe 也就 9M

我是主打极简风格 就是 ssh + sftp (断点续传)+AI 助手 + 三端同步
onedge
4 月 29 日
@imchen 好的,我给你点个 star ,为什么是 electron ,而不是其他的 flutter tauri 之类,我理解打包体积会小很多,还有本地是否可以用 rust 更好?
imchen
4 月 29 日
@bigha 谢谢啊,你的项目链接多少? 我下载使用,多交流交流。
imchen
4 月 29 日
@onedge 谢谢啊。 主要考虑 electron 的组件生态比较成熟,另外插件开发也更简单,另外考虑这个 app 在移动端的交互是不一样的,所以没考虑和移动端服用。 感谢你的建议,我有另外一个项目做多端适配,目前是用 flutter 来做。
bigha
4 月 29 日
@imchen 没链接 目前我主要是自己和朋友使用 可以贴张图

比如一台服务器,连接上之后,输入这一句话,一会就自动给你装好了,这是全自动模式

另外也支持手动模式,出一条命令,确认后执行


https://img.imgdd.com/e5fb2780-0fef-45cb-aad2-4733084faf25.jpg
bigha
4 月 29 日
补一张图 我觉得 AI+终端 真的是很好用 不只是排查问题和安装软件 带来的效率提升也是几何级

大概 AI 和任何一个细分行业结合 都会产生这种效果

imchen
4 月 29 日
@bigha 很不错👍,和我做的也比较类似。
loop00
4 月 29 日
GitHub 无法登录,提示:
Be careful!

The redirect_uri is not associated with this application.

The application might be misconfigured or could be trying to redirect you to a website you weren't expecting.
imchen
4 月 29 日
@loop00 我平时用 google 登陆,github 登陆测试没做好,谢谢提醒。我尽快修改。
imchen
4 月 29 日
@loop00 已经修复好了,再次感谢帮忙发现问题。🌹
imchen
4 月 29 日
种子用户可以加入群联系我,我给大家免费开通本地 Agent ,这样就可以配置自己的大模型使用了。
AsuraTG
4 月 29 日
@imchen 如何成为种子用户
imchen
4 月 29 日
@AsuraTG 主页下方有二维码,加入群即可成为种子用户了。😃

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1209271

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX