with one click
ssh
// SSH/服务器操作助手。用于远程服务器、user@host、SSH 配置、上传下载、部署、跳板机、隧道、端口转发、服务器命令执行等任务;以 ~/.ssh/config 的 Host 别名为唯一服务器清单,优先密钥认证,通过本 skill 的 Python 脚本封装 OpenSSH 操作。
// SSH/服务器操作助手。用于远程服务器、user@host、SSH 配置、上传下载、部署、跳板机、隧道、端口转发、服务器命令执行等任务;以 ~/.ssh/config 的 Host 别名为唯一服务器清单,优先密钥认证,通过本 skill 的 Python 脚本封装 OpenSSH 操作。
双向交互终端会话工具,用于串口终端、SSH 交互 Shell、本地 Shell、设备控制台、AT/CLI 菜单、需要保持上下文的交互式调试;当用户提到交互终端、串口终端、SSH 终端、打开 shell、发送命令后继续读输出、保持会话、登录后操作、菜单式命令行时触发,也兼容 /terminal 显式调用。
嵌入式 CAN / CAN-FD 调试工具,用于扫描接口、监控报文、发送测试帧、记录日志、数据库文件解码和总线统计。 当用户提到 CAN、CAN-FD、DBC 解码、总线抓包、USB-CAN 联调、报文发送、总线统计、 PCAN、Vector、slcan、CAN 接口扫描、CAN ID 过滤、ASC 日志、BLF 文件时自动触发, 也兼容 /can 显式调用。即使用户只是说"看看 CAN 报文"、"发一帧试试"或"解码一下 DBC", 只要上下文明确提到 CAN 总线通信的操作或问题就应触发此 skill。
GCC 嵌入式工程构建工具(CMake + arm-none-eabi-gcc),用于扫描 CMake 型嵌入式工程、 列出预设、配置、编译、重建、清理和分析 ELF 大小。当用户提到 GCC、arm-none-eabi、 CMake 嵌入式编译、Ninja 构建、ELF 大小分析、arm-gcc、交叉编译、cmake --build、 cmake --preset 时自动触发,也兼容 /gcc 显式调用。即使用户只是说"编译一下"或 "看看固件多大",只要上下文涉及 CMake 嵌入式 GCC 工程就应触发此 skill。
J-Link 下载与在线调试工具,用于探测设备、烧录固件、读写内存、查看寄存器、复位目标、读取 RTT/SWO 日志, 以及在线调试(暂停/恢复/单步/断点运行/调用栈/变量查看)。 当用户提到 J-Link、JLink、RTT、烧录固件、写内存、读内存、寄存器查看、目标复位、探针连通性检查、 在线调试、单步、断点、调用栈时自动触发,也兼容 /jlink 显式调用。 即使用户只是说"烧录一下"、"看看 RTT 输出"或"调试一下",只要上下文涉及 J-Link 探针就应触发此 skill。
Keil MDK 工程构建工具,用于扫描 .uvprojx/.uvmpw 工程、枚举 Target、执行 build/rebuild/clean 并解析构建日志,返回可供 jlink/openocd 复用的产物路径。 flash 子命令仅作为兼容入口保留。当用户提到 Keil、MDK、uVision、UV4、 Target 枚举、编译、重建、清理、烧录、下载固件、flash 时自动触发,也兼容 /keil 显式调用。 即使用户只是说"编译一下"或"烧录到板子上",只要上下文涉及嵌入式 Keil 工程就应触发此 skill。
嵌入式网络调试工具,用于发现接口、抓包、分析 pcap/pcapng、做连通性测试、端口扫描和流量统计。 当用户提到 Wireshark、tshark、Npcap、抓包、网络联调、端口扫描、连通性排查、pcap 分析、 网络接口、ping 测试、traceroute、流量统计、Modbus TCP、EtherNet/IP 等网络协议调试时自动触发, 也兼容 /net 显式调用。即使用户只是说"抓个包看看"、"扫一下端口"、"网络通不通"或"分析一下这个 pcap", 只要上下文中出现具体工具名(tshark、Wireshark、Npcap)、协议名(Modbus TCP、EtherNet/IP、ICMP 等)、 调试动作(抓包、端口扫描、连通性测试、ping、traceroute、流量统计、pcap 分析)或网络接口操作,就应触发此 skill。
| name | ssh |
| description | SSH/服务器操作助手。用于远程服务器、user@host、SSH 配置、上传下载、部署、跳板机、隧道、端口转发、服务器命令执行等任务;以 ~/.ssh/config 的 Host 别名为唯一服务器清单,优先密钥认证,通过本 skill 的 Python 脚本封装 OpenSSH 操作。 |
这是一个轻量 SSH 操作网关。它不维护独立服务器数据库,默认只读取和写入标准 OpenSSH 配置:
~/.ssh/config
核心原则:
Host 别名标识服务器,不直接记忆 IP/密码。scripts/ 脚本执行 SSH、SCP、配置检查和隧道操作。~/.ssh/config 前必须自动备份。当用户提到以下任务时使用本 skill:
user@hostProxyJump、内网访问~/.ssh/config、新增/查找服务器别名不要用于本机 localhost、当前目录、本地文件操作或普通网络概念解释。
优先从当前 skill 目录调用脚本。脚本目录为:
scripts/
命令示例均以当前 skill 目录为基准。
ssh_exec.py、ssh_transfer.py、ssh_tunnel.py 均支持:
--accept-new-host-key
--known-hosts-file <临时known_hosts路径>
首次连接已确认可信的新开发板时,可显式追加 --accept-new-host-key。测试时如不想写入全局 known_hosts,可追加 --known-hosts-file <临时known_hosts路径>。
python scripts/ssh_config.py list
python scripts/ssh_config.py find <关键词>
python scripts/ssh_config.py show <别名>
写入前脚本会自动备份 ~/.ssh/config:
python scripts/ssh_config.py add <别名> --host <IP或域名> --user <用户> --port 22 --key ~/.ssh/id_ed25519
可选:
--description "说明"
--tags tag1,tag2
--location "位置"
--proxy-jump <跳板机别名>
python scripts/ssh_exec.py <别名> "命令" --timeout 30
脚本输出 JSON,包含 success、exit_code、stdout、stderr。
python scripts/ssh_transfer.py upload <别名> "<本地路径>" "<远程路径>"
python scripts/ssh_transfer.py download <别名> "<远程路径>" "<本地路径>"
python scripts/ssh_tunnel.py <别名> --local-port <本地端口> --remote-host 127.0.0.1 --remote-port <远程端口>
隧道命令会前台运行。需要后台长期保持时,先向用户说明影响和停止方式。
推荐配置:
# description: 开发板
# tags: embedded,linux
# location: lab
Host 1380-P904
HostName 192.168.137.76
User root
Port 22
IdentityFile ~/.ssh/id_ed25519
跳板机:
Host bastion
HostName bastion.example.com
User root
IdentityFile ~/.ssh/id_ed25519
Host internal-dev
HostName 10.0.1.20
User root
IdentityFile ~/.ssh/id_ed25519
ProxyJump bastion
允许保留注释元数据:
descriptiontagslocation不要在配置中写入真实密码、Token、私钥内容或其他敏感信息。
~/.ssh/config 前,脚本必须创建备份。ssh/scp,优先使用本 skill 的脚本;只有在脚本不可用或用户明确请求时,才说明原因并使用回退命令。优先检查:
python scripts/ssh_config.py show <别名>ssh -G <别名> 是否能解析 HostName/User/PortProxyJump 别名是否也在 ~/.ssh/config--accept-new-host-key如果脚本失败,保留真实 stderr,不要吞掉错误。