AI SSH 运维助手 V13.0内部版七项私有新特性全解

密钥认证 · 每日巡检报告 · 密钥健康巡检 · 趋势图 · 知识沉淀 · SecureCRT 同步 · 告警策略

internal 分支自用主线,不公开发布

master 商业线冻结于 V12.7

2026 年 10 月 13 日

目 录

[第一章 V13.0 总览:内部版的起点](#第一章 V13.0 总览:内部版的起点)

[第二章 主机密钥认证:告别密码管理](#第二章 主机密钥认证:告别密码管理)

[第三章 每日巡检报告:每天一封运维日报](#第三章 每日巡检报告:每天一封运维日报)

[第四章 密钥健康巡检:让密钥信任可度量](#第四章 密钥健康巡检:让密钥信任可度量)

[第五章 监控历史趋势图:看得见的容量曲线](#第五章 监控历史趋势图:看得见的容量曲线)

[第六章 知识沉淀:排障经验自动入库](#第六章 知识沉淀:排障经验自动入库)

[第七章 SecureCRT 双向同步:会话资产打通](#第七章 SecureCRT 双向同步:会话资产打通)

[第八章 告警邮件三层策略:该响的响,该静的静](#第八章 告警邮件三层策略:该响的响,该静的静)

[第九章 工程复盘:sqlite3.dll 打包修复](#第九章 工程复盘:sqlite3.dll 打包修复)

第一章 V13.0 总览:内部版的起点

2026 年 10 月 13 日起,AI SSH 运维助手正式转入「自用内部版」开发模式:新功能一律在 internal 分支开发,私有使用、不发表;以前发布的内容一概不动,master 分支冻结在 V12.7 作为商业发布线,官网、公开 Release 与 CSDN 文章均停留在商业版本。两边的版本号从此各自独立:internal 自 V13.0 起记,master 永远停留 V12.7。

授权体系零改动:license gate、试用层、Web 试用徽章全部保留,本机 license.key 校验通过(订阅授权至 2036-09-23),自用不受任何限制。

V13.0 集中交付了七项私有新特性,覆盖主机接入、日常巡检、监控分析、经验管理与告警降噪五个维度,并以 sqlite3.dll 打包修复完成了内部版双 exe 的自用构建。总体能力对比如下。

|--------------|------------------------|--------------------------|
| 能力维度 | V12.7(商业线) | V13.0(内部版新增) |
| 主机认证 | 密码登录,凭据散落在会话中 | Ed25519 密钥一键配钥,验证通过后清理密码 |
| 日常巡检 | 打开面板人工查看 | 每日定时 AI 巡检报告,邮件送达 |
| 密钥可信 | 无法度量 | 密钥健康巡检,异常早知道 |
| 监控分析 | 实时仪表盘 + 即时告警 | 48 小时至 7 天历史趋势图 |
| 经验管理 | 排障经验随对话流失 | 知识沉淀自动入库,脱敏 + 只读挂载 |
| 会话资产 | agent 与 SecureCRT 各自维护 | SecureCRT 会话双向同步 |
| 告警降噪 | 邮件全量即时送达 | 免打扰 + 冷却 + 最小间隔三层策略 |
| 交付形态 | 商业版安装包 | 自用双 exe(CLI + Web)+ 打包修复 |

后续章节按「解决什么问题、怎么设计的、怎么用」的顺序逐项展开。所有功能均已在真机环境验证,其中密钥认证与知识沉淀还经历了完整的安全边界评审。

第二章 主机密钥认证:告别密码管理

密码认证的痛点在主机数量上来之后急剧放大:定期改密要逐台更新、hosts.yml 里长期存着密码凭据、会话记录里还可能带出明文。V13.0 把「一键切密钥」做成了标配能力:agent 持有自有 Ed25519 密钥对(存于 config/ssh/ 目录,已加入 gitignore 不入库),添加主机时自动触发配钥。

整条链路设计成「验证通过才切换,任一步失败保持原状」,共五步:

  1. 生成 agent 级 Ed25519 密钥对(全主机共用一对,管理成本最低);
  2. 用现有密码连接主机,幂等推送公钥(逐行追加 || exit 1 防止 && 链中断后误标记成功);
  3. 断开密码连接,改用纯密钥重新登录验证;
  4. 验证通过才把该主机认证方式切换为 key,密码从此不再参与登录;
  5. 提醒用户清理 agent 侧密码,消除明文凭据。

安全边界经过明确拍板:所谓「删密码」仅删除 agent 侧存储,sshd 配置永远不动,SecureCRT 的密码登录完全不受影响;hosts.yml 中保留 password_env 回退通道,极端情况下仍可手工恢复。

三个入口覆盖不同场景:AI 对话中直接说「给这台主机配密钥」(工具 setup_key_auth,清理密码走 clear_host_password 且需要二次确认);Web 界面主机列表的「配钥」按钮与密钥徽章;以及命令行批量操作:

全部主机批量补跑配钥

python -m ai_agent.keysetup --all

指定主机

python -m ai_agent.keysetup web1 db1

整条链路幂等:重跑已配钥主机会直接走 already 分支,不会重复推公钥。真机验证在 yum-server(10.10.10.10)完成,现已稳定运行密钥认证,公钥计数为 1,重跑确认无副作用。

第三章 每日巡检报告:每天一封运维日报

值守告警解决「出事马上知道」,每日巡检报告解决「没出事也要心里有数」。V13.0 新增定时日报:每天固定时间自动采集全部主机快照,汇总过去 24 小时的告警事件,可选叠加 AI 总结,生成一封结构化日报直接送达邮箱。

数据链路分四层:值守告警发生时同步落盘到 logs/monitor_events.jsonl(JSON 行格式,超过 5MB 自动轮转 .old,重启不丢);生成报告时按 24 小时窗口过滤事件;再叠加引擎实时快照(值守未开启时自动降级为仅快照);最后经 mailer 直发邮件,不走告警限流队列,确保日报必达。

配置集中在 config/report.yml,也可全部在 Web 设置面板完成,支持「立即生成」按钮即时预览:

enabled: true

time: "08:30"

to: ops@example.com

ai_summary: true

防重发由 last_sent_date 落盘保证:当天重启进程也不会重复发送。集群剧本(K8s、OpenStack 等角色探针的输出)随日报一并输出,一台邮件看完整个内网。AI 总结开启时,日报开头会有一段「今天最值得关注的事」的自然语言摘要,重点前置。

第四章 密钥健康巡检:让密钥信任可度量

第二章把登录信任交给了密钥,新的问题随之而来:密钥会不会悄悄失效?对端重装、sshd 重配、known_hosts 变更都可能让昨天还好好的密钥今天失联,而失联往往在真正要连机器的那一刻才暴露。

V13.0 给出两道答案。其一,每日巡检报告集成密钥健康段:send_report 时对全部密钥认证的 Linux 主机串行执行真实密钥登录验证,日报新增逐台结果与健康/失败计数,AI 总结的输入也带上异常清单------「哪台主机的密钥出问题了」会主动出现在日报摘要里。

其二,新增只读工具 verify_key_health(AI 工具总数增至 28),随时可查、不产生任何变更;发现失败时明确提示用 setup_key_auth 重推公钥修复,形成「检测---修复」闭环。真机实测单台验证约 9 秒(含环境加载),对日常使用无感。

第五章 监控历史趋势图:看得见的容量曲线

实时仪表盘能看到「现在」,容量规划需要看到「最近这几天」。V13.0 新增趋势视图:监测引擎每轮采集后同步写入本地 SQLite(logs/metrics.db,WAL 模式加模块锁,写入失败静默跳过,绝不拖慢监测主链路),查询接口按窗口长度分层返回。

|--------------|--------------|---------------------|
| 查询窗口 | 数据粒度 | 说明 |
| 48 小时以内 | 30 秒原始点 | 看精细抖动,定位短时毛刺 |
| 48 小时以上 | 小时平均值 | 看趋势与容量,数据量不膨胀 |
| 自动清理 | ------ | 超过 7 天的数据自动删除,库体积可控 |

前端在左侧导航新增「趋势」视图,特性包括:

  • 24 小时 / 7 天两档窗口切换,CPU、内存、磁盘、Swap 四项指标切换;
  • ECharts 完整内嵌本地(约 1MB),断网环境照常渲染;
  • dataZoom 拖拽缩放 + 滚动图例,多主机曲线并存;
  • 设备没有的指标自动不输出(如华为 VRP 设备无磁盘、Swap 数据),不留空洞。

网络设备(华为 VRP)与 Windows 主机的采集同样进入趋势库,异构主机的曲线在同一视图里对齐时间轴。

第六章 知识沉淀:排障经验自动入库

AI 运维助手最值钱的能力之一是陪跑排障,但对话结束经验就流失了。V13.0 新增 save_kb_note 工具(AI 工具总数增至 29):对话里说一句「帮我把刚才的排障沉淀进知识库」,AI 会结合会话上下文生成结构化笔记落盘到 knowledge-notes/ 目录。

每篇笔记遵循固定结构:现象、排查、根因、修复、预防,文件名带日期前缀与标题 slug,重名自动加序号,frontmatter 记录日期、标签与来源会话,天然可检索、可归档。

安全是这个功能的头等设计,两道红线缺一不可:

  • 落盘前全局脱敏:会话中登记过的密码一律不会出现在笔记文件里;
  • 绝不写入知识库挂载根:知识库挂载目录保持永久只读,笔记目录是独立空间,AI 的写权限到此为止。

首次沉淀时自动把 knowledge-notes/ 挂载为知识库的「运维笔记」只读根(复用既有的挂载校验:同名冲突或超出上限时笔记照常落盘、挂载优雅跳过并给出原因,不阻断主流程)。此后 AI 对话即可直接检索历史笔记,「上次那个问题是怎么修的」变成一句提问。

第七章 SecureCRT 双向同步:会话资产打通

多年运维积累了几百个 SecureCRT 会话,agent 的主机清单却是另一套账。V13.0 提供双向同步,两边资产互通:

  • push(agent → SecureCRT):以现有会话为模板生成缺失 Linux 主机的 .ini 文件,保留用户原有偏好,仅替换主机名、SSH 端口、用户名三处;模板里加密保存的密码一律剥离,不复制凭据。--update 仅增量同步这三行,不碰其余配置;
  • pull(SecureCRT → agent):扫描 Sessions 目录全部 .ini 解析出主机、端口、用户名,报告清单外会话;--import 把结果写入 hosts.yml。SecureCRT 的密码无法反向导出,导入的主机密码留空,补上密码后即可走第二章的配钥链路切换密钥认证;
  • import(静默导入):pull 加 --import 的组合动作,一键把 SecureCRT 会话资产收编进 agent。

agent 主机生成 SecureCRT 会话(增量更新三行)

python -m ai_agent.securecrt push --update

扫描 SecureCRT 会话并导入 agent

python -m ai_agent.securecrt pull --import

真机验证规模:246 个既有会话全部正确解析(UTF-8 BOM + CRLF 格式),其中 11 个匹配 agent 主机清单、233 个识别为清单外资产,边界清晰无误伤。

第八章 告警邮件三层策略:该响的响,该静的静

值守告警接通邮件后,新的烦恼是「半夜恢复抖动连发三封」「已知问题每 30 秒提醒一次」。V13.0 给邮件通道加了三层降噪策略:

|---------------------------|----------------------|-----------------------|
| 策略参数 | 默认行为 | 解决问题 |
| quiet_hours 免打扰时段 | 配置 HH:MM-HH:MM,支持跨午夜 | 深夜不打扰;配置错误时保底不静默,告警照发 |
| cooldown_minutes 恢复冷却 | 恢复后 N 分钟内再告警不发送 | 服务抖动导致的告警---恢复来回刷信 |
| min_interval_minutes 最小间隔 | 同一主机同一指标 N 分钟内只发一次 | 已知问题持续告警的重复轰炸 |

策略边界刻意收窄:只压邮件通道。Web 横幅、报警音、事件落盘、每日巡检报告全部保持原有行为------降的是「打扰」,不是「感知」,任何该知道的事仍然全部可见可查。

三个参数全部在 Web 邮件面板配置,保存即热生效,重启服务状态(恢复基线、上次发送时间)不丢失,不会因重启重置而突发重复告警。

第九章 工程复盘:sqlite3.dll 打包修复

V13.0 双 exe 打包时踩了本版本唯一一个工程坑,记录于此作为内部版的工程底账。

现象:首次打包后 CLI exe 启动即报 ImportError: DLL load failed while importing _sqlite3,连 --help 都进不去;Web 侧同链路接口同样会失败。

根因:趋势图模块首次引入 sqlite3。Python 层的标准库模块正常进包,但其依赖的原生 sqlite3.dll 位于嵌入式 Python 环境的 Library/bin 目录下------PyInstaller 的依赖分析扫描不到这种非标准布局,静默不收集,构建全程无任何告警。这与此前 rich、openai 等「环境被清理后缺包」是同族问题的另一种形态:缺的是原生 DLL 而非 Python 包。

修复:在 build_exe.py 的 DLL 显式收集元组中补入 sqlite3.dll(该元组本就为此机制存在,已收录 ffi、liblzma、libbz2、libexpat 四个成员),重新打包后全部验证通过。由此固化一条打包规则:项目每新增一个带原生依赖的模块(sqlite3、cryptography、pillow 等),打包后必须实测对应运行链路,不能只看 --help------本次冒烟专门加入了趋势接口探活,一次验证到位。

至此 V13.0 内部版的七项特性与工程修复全部交付完毕:源码在 internal 分支,自用双 exe 在 dist 目录,CHANGELOG 已登记内部版条目。后续新功能将在此版本线上继续迭代。

相关推荐
Dawson Zhu1 小时前
大模型拒答率与错误率平衡术:五步构建可落地的安全与体验最优解
人工智能·语言模型·架构·aigc·agi
nap-joker1 小时前
脑衰老的多模态特征:从描述性分析到基于机器学习的整合
人工智能·机器学习·多模态
啥都鼓捣的小yao1 小时前
Transformer深入浅出
人工智能·深度学习·transformer
lisw051 小时前
大语言模型时代的可复现性:当“同一道题”给出不同答案
人工智能·机器学习·语言模型
吴建旭 智宅焕1 小时前
智能家居全国交付中异地高并发管理带宽的系统架构与AI半自动化实现
人工智能·系统架构·智能家居
天蓝蓝的本我1 小时前
ollama外部无法访问.ollama.service 文件无法写入.ollama外部无法访问.
运维·网络
打工仔折腾 AI1 小时前
260+异构同步链路实战:如何用语义化自动翻译破解CDC DDL同步痛点
人工智能·后端·python·自然语言处理·性能优化·langchain·机器翻译
帷幕落秋1 小时前
经典命令场景与软硬链接
linux·运维
Eloudy1 小时前
ASTRA-sim 3.0:通过高保真GPU和基础设施建模进行下一级分布式机器学习模拟
人工智能·分布式·机器学习