内容
博客↗ Network101↗
游戏
明日方舟→ 明日方舟:终末地→ 绝区零→ 原神→ 洛克王国→ 重返未来:1999→ 我玩过的其他游戏→
日常
虚拟主播↗ 摸了↗
作品
Motty 网络设备特化→ Quick Reference↗ OpenClaw 教程↗ 同一条路↗ 塔娅娅档案↗ 栖屿 Ember↗
更多
关于我→

Motty 网络设备特化

MOTTY NETWORK CLI · 开源二开

项目档案

一个 fork,一份克制:把 motty 的 AI Agent 带进网络设备 CLI,同时不碰上游的任何执行路径。

上游 motty 项目 README 头图
上游motty:SSH、SFTP、端口转发、VNC/RDP 与 AI 助手同窗的原生桌面终端
01
项目名称 Motty · 面向网络工程与网络设备的特化版本
02
上游项目 t8y2/motty — Go 原生桌面终端,AI Agent 能力的来源
04
技术底座 Go + Viva 原生渲染,没有 Electron、没有内嵌浏览器
05
核心新增 network_cli 执行模式 · 独立的 internal/netcli 包
06
适用对象 华为 VRP · H3C Comware · Cisco IOS/IOS-XE · 锐捷 RGOS · 迈普等信创设备
07
获取方式 GitHub Releases — Windows / macOS / Linux 安装包
08

为什么 fork

上游很好,但我的工作场景是网络设备,不是 Linux shell。

我是 motty 的忠实用户。Go + Viva 原生渲染,没有 Electron、没有内嵌浏览器,启动快,而且在同样的场景下,它比 XShell、MobaXterm 多适配了 AI Agent。

但我日常面对的是华为 VRP、H3C Comware、Cisco IOS/IOS-XE、锐捷 RGOS 这类设备 CLI,还有迈普这种国产信创设备。motty 的 AI Agent 问答没有问题,可在代理执行模式下,到了网络设备上就完全跑不起来:它默认把命令包进一层 POSIX 捕获 wrapper 去拿真实退出码,设备收到的是类似 { display version }; printf ... 的东西,直接回语法错误。

所以我 fork 了一份,做了网络设备方向的二次开发,并完整开源。

原版 AI Agent 在网络设备上返回语法错误
01原版代理执行模式在网络设备上的翻车现场:POSIX wrapper 直接触发语法错误

network_cli 改了什么

核心是新的 internal/netcli 包——98% 以上的 AI Agent 能力与策略,依然来自上游原版 Motty。

01
原始命令直达设备
不再套 shell wrapper。主机可自选执行模式(shell / network_cli)与设备平台;Telnet、串口会话默认 network_cli,SSH 与本地终端保持原 shell 行为。
02
用提示符判断命令结束
记录命令执行前捕获到的设备提示符,再配合静默窗口确认,替代 POSIX 退出码捕获。
03
自动翻页
自动处理 ---- More ---- / --More-- 分页提示,翻页键来自已验证的平台表。
04
超时与取消不碰设备
命令超时或被取消时,不会向设备发送 Ctrl+C,避免打断设备上的其他会话状态。
05
审批门适配设备 CLI
display / show / ping / tracert 这类只读命令自动放行,配置读取单独定级;任何不在已知只读清单里的命令,必须人工审批后才会下发。
06
内置平台表 + Net CLI 超时
内置华为 VRP / H3C Comware / Cisco IOS·IOS-XE / 锐捷 RGOS 平台表,未知平台走保守的 Generic 表;AI 助手行为里新增 Net CLI 超时设置,等待时间可调。
编辑主机:命令执行模式选择
01主机可选执行模式(自动 / Shell / 网络 CLI),与设备平台联动
选择 shell 模式保持原版逻辑
02选择 shell 时保持原版逻辑,上游用户迁移配置后行为不变
审批门适配设备 CLI
03审批门适配:只读命令自动放行,清单外命令必须人工审批
内置平台表
04内置平台表驱动提示符识别与翻页,未知平台走保守 Generic 表
AI 助手 Net CLI 超时设置
05AI 助手新增 Net CLI 超时设置:30 / 60 / 120 / 300 秒可选
fork 分支结构
06分支结构:fork 特有改动全部收在独立分支与 netcli 包内

已知限制

如实说明,不藏着掖着。

受上游审批策略与 AI 智商影响,部分设备的 AI 不会主动进入特权模式(enable),锐捷、迈普大概率需要手动进入。下图是「未进入特权模式导致无法查看详细接口配置」的实际对比,以及另一个网络设备特化终端原型识别特权模式的效果。

未进入特权模式无法查看详细接口配置
01未进入特权模式:无法查看详细接口配置
部分设备 AI 不会进入特权模式
02部分设备 AI 不会进入特权模式(enable),需要人工介入
原型识别特权模式 界面一
03另一个网络设备特化终端原型:可识别并进入特权模式(一)
原型识别特权模式 界面二
04另一个网络设备特化终端原型:可识别并进入特权模式(二)

二次开发不影响上游稳定性

这是做这个 fork 的第一原则。

01
不改上游执行路径 fork 特有逻辑全部收在独立的 internal/netcli 包里,shell 模式行为保持原样,上游用户配置迁移过来行为不变。
02
可追溯的版本基线 持续同步上游 release,发布版本名直接标注所基于的上游基线(如 v0.3.0-netcli-build.4-arknights,前半段就是上游版本号)。
03
fork 身份明确 应用内更新检查默认关闭;About 和设置页明确标注这是 fork;Motty 名称与 logo 归属上游。
04
能力归功上游 98% 以上的 AI Agent 能力与策略来自上游原版 Motty,本 fork 只补齐网络设备这一块拼图。
About 页标注 fork
01About 页明确标注 fork 身份
设置页标注 fork
02设置页同样标注,应用内更新检查默认关闭

试用与反馈

如果你没有网络设备 CLI 的需求,请直接用上游 motty,那才是原汁原味。

RELEASE NOTES · 更新日志 v0.3.2-netcli-build.5-arknights 7 个版本 · 最近更新 2026-11-05 查看更新日志 返回首页 ←
已复制