惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
G
Google Developers Blog
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
小众软件
小众软件
月光博客
月光博客
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
The Cloudflare Blog
博客园_首页
美团技术团队
大猫的无限游戏
大猫的无限游戏
B
Blog
IT之家
IT之家
Jina AI
Jina AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

V2EX - 技术

Local-first 软件收录站 从 X 上搬运来的白嫖 GPT Plus 教程 阿里云百炼 Coding Plan Pro 套餐 新增当日 token 限制 大家的 Claude 弹了 kyc 嘛 现在 Google 的 Gemini 和 AI 模式降智的厉害啊 用的 TAG 家的 T, ip 跳变是否影响使用 claude 同一 apple 账户能给不同 claude 账号充值么 做了个 Go 的 MCP Server 框架,一行代码把 Gin API 接入 AI 请教各位,想回归技术,如何系统学习 Agent? OpenAI GPT-IMAGE-2 提示词合集 你是说, claude opus4.6 写代码的能力不如 gpt5.4? 关于智谱 Max 套餐要不要升级续费呢? App → CLI → App ? Github 账号被 404 了,现在没法恢复,求各位大佬指点 cursor 的次数套餐以后应该都用不了新模型了 openrouter 使用国外模型 买了咸鱼低价 Gemini pro,账号差点被盗。突然发现国内诈骗成本为零 Gemini 手机版客户端登陆总是在此国家/地区无法使用 gemini 感觉 gpt 这些低价渠道要爆了 claude code 和 codex 在 vibe coding 还有质的区别吗? 阿里 Coding Plan 一天三变, Lite 版本到期不能续费了 RAG 难以让人满意啊 2026 年了,这个世界还存在互联网精神🥹 两个账号阵亡,尼区 Claude Pro 订阅 分享下最近低价 GPT Codex 的来源(源头) OpenAI 发布 Codex 重大更新:支持自动操作电脑与长期任务自动化 使用 claude 从 0 开始开发一个校友会系统可行吗 同一个 appleid 可以给不同 chatGPT 账号订阅 plus 吗? 自动驾驶项目开发建议 终于, 降智几天之后, opus4.7 出来了
做了个 SSH 终端 TermCat,支持 AI 命令和 AI 运维操作,最近...
imchen · 2026-04-29 · via V2EX - 技术

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

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

app 截图 1 app 截图 2

大概是个什么东西

简单说就是 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% 的"看日志、查进程、查端口、查配置"的重复活,确实能省不少时间。

模式分三种:

  • Ask:上下文感知的问答,知道你连的是什么服务器
  • Agent:自主多步运维,上面这个例子的模式
  • Claude Code:集成 Claude Code SDK ,复杂远程开发调试

模型不绑定。服务端模式是积分计费,本地插件模式可以填自己的 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 在干什么)

  • 当前 Drive Mode 显示在最上面,可以一键循环切换 default / acceptEdits / plan / bypassPermissions( claude 在跑就走 /permission-mode slash ,没在跑就改 settings.json )
  • 按时间倒序列出当前 session 的每条 prompt
  • 展开任意一条看详细调用:用了哪些 builtin tool 、Skill 、MCP 、Sub-agent ,加载了哪些规则文件
  • 一键 /rewind 回滚到任意 prompt
  • 多 tab 各跑一个 claude 互不干扰,切 tab 面板内容跟着切

Preset 管理(一键切环境)

  • 维护多套配置:ANTHROPIC_API_KEY / AUTH_TOKEN / BASE_URL / MODEL / MAX_TOKENS / 任意自定义 env
  • 切 preset 自动写 active.env( POSIX )或 active.ps1( Windows ),点 launch 一键起 claude
  • 如果只是改 model ,直接给运行中的 claude 发 /model <name>,不用重启
  • 涉及 token / endpoint 变化会提示先 exit 再用新配置重起

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

  • 零侵入:只读 ~/.claude/ 文件,不装 hook 、不改 settings 、不监听网络端口
  • 填入不回车:除了 launch 按钮(明确"立刻启动"的手势),其他注入只把命令填到输入行,要你按 Enter 才执行
  • 跨平台:Mac / Linux 走 lsof + ps ,Windows 走 PowerShell + CIM 探测进程(因为 wmic 在 Win11 22H2+ 被移除了)

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

三、性能上做了一些事

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

  • 多 tab 不重新挂载——所有 tab 同时挂载,靠 z-index + opacity 切换,切 tab 没有重建开销
  • Vite 分包 + React.lazy——主包目前 ~413KB ( gzip ~132KB ),首屏只加载核心组件; Settings / Extensions / Payment / HostConfig / 5 个内置插件全懒加载
  • xterm.js 高频输出requestAnimationFrame 合并刷新
  • localStorage 写入 300ms 防抖,避免每次 state 变更都同步落盘
  • 启动 API 并行——Promise.allSettled 同时发,单个失败不阻塞
  • 本地字体——@font-face 引本地 woff2 ,禁用外部 CDN
  • Main 进程禁用同步 I/O——fs.readFileSync 一律走 fs.promises

其实没什么神奇的,就是 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 没法做——一个折中。

其他基础设施:

  • 内置插件商店,可以一键装服务端发布的插件
  • 本地 .tgz 包直接拖到设置页装上
  • Main 进程加载 + 权限沙箱,插件 manifest 声明 permissions
  • 跨平台一致,TypeScript 写一次三个平台都跑

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

关于和其他终端的区别

  • iTerm2 / Windows Terminal / Tabby:纯终端管理,没有 AI 模块,各自有自己的强项。如果你的诉求只是"管理 SSH 连接 + 漂亮",这些已经很够用了。
  • Warp:AI 命令补全做得很流畅,订阅制 $15/月/seat ,目前 Mac/Linux 。如果你喜欢"输入更快"的方向,Warp 是更成熟的选择。
  • TermCat:方向不一样,我做的是"让 AI 替你执行"和"看见/管理 Claude Code"。

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

下载

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

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