Weechat 4.10.1 常用 CLI 命令与工具详解
Weechat 5 大命令族详解:/weechat /server /buffer /script /exec,含参数组合、实战回显与 Docker 容器 headless 实测验证。
WeechatWeechatChat2026/10/27
Weechat 4.10.1 常用 CLI 命令与工具详解
目标:系统梳理 Weechat 内置命令族(/weechat /server /buffer /script /exec),覆盖日常使用频率最高的命令、参数组合与实战回显。本文基于 Weechat 4.10.1 官方文档 + 容器实测(
weechat -a -r '/command' -r '/quit'模式)整理。
一、环境信息
- 命令版本:Weechat 4.10.1(核心命令自 v1 以来稳定,新增
/upgrade等少量命令) - 命令前缀:所有 Weechat 内部命令以
/开头,与聊天内容区分 - 帮助系统:
/help <命令>即时查看参数说明,Tab 键自动补全命令名/参数 - 批量执行:多个命令用分号分隔,
weechat -r 'cmd1;cmd2'一次性运行 - 容器实测:Docker 镜像
weechat/weechat:4.10.1,通过-r参数 headless 执行命令捕获回显
二、命令概览
Weechat 内置命令按功能域可归为以下 5 大命令族(共 100+ 子命令,本文覆盖常用 ~60 个):
| 命令族 | 前缀 | 子命令数 | 核心用途 |
|---|---|---|---|
| Weechat 核心 | /weechat / /reload / /help | ~10 | 版本、配置重载、插件加载、退出 |
| IRC 服务器 | /server / /connect | ~15 | 添加/修改/连接/断开 IRC 服务器 |
| Buffer 管理 | /buffer / /join / /part | ~20 | Buffer 切换/创建/关闭/过滤/搜索 |
| 脚本与扩展 | /script / /plugin / /alias | ~15 | 脚本安装/更新、插件管理、别名 |
| 执行与自动化 | /exec / /trigger / /fifo | ~10 | Shell 命令执行、事件触发、管道 |
此外还有 IRC 协议命令族(/mode、/topic、/ban、/kick、/invite 等),这些是 IRC 协议层面的标准命令,Weechat 只是透传给服务器,不在本文详列。
三、Weechat 核心命令族
3.1 /version - 显示版本与构建信息
# headless 实测
docker run --rm weechat/weechat:4.10.1 weechat -a -r '/version' -r '/quit' 2>&1 | grep -v $'\033' | grep -v 'fifo: pipe closed' | grep -v 'Plugins unloaded' | tail -3
# 回显:
# WeeChat 4.10.1 (C) 2003-2026 - https://weechat.org/
# WeeChat 4.10.1 [compiled on Sep 5 2026 08:55:20]
3.2 /help <command> - 查看命令帮助
/help version
# 回显:
# WeeChat 4.10.1 [compiled on Sep 5 2026 08:55:20]
#
# Help on command "version" (core):
#
# Usage: /version [full]
#
# full: show full build information
#
# Show WeeChat version (full version with build information if "full" is given).
/help weechat
# 回显:列出所有 weechat 核心命令
3.3 /reload [target] - 重载配置
# 重载所有配置
/reload
# 回显:Configuration reloaded
# 重载指定插件配置
/reload irc
# 回显:irc plugin: configuration reloaded
/reload script
# 回显:script plugin: configuration reloaded
3.4 /plugin <action> <plugin> - 插件管理
# 列出所有插件及加载状态
/plugin list
# 回显:
# alias 4.10.1 loaded
# buflist 4.10.1 loaded
# exec 4.10.1 loaded
# fifo 4.10.1 loaded
# irc 4.10.1 loaded
# logger 4.10.1 loaded
# relay 4.10.1 loaded
# script 4.10.1 loaded
# ...(略)
# 加载插件
/plugin load relay
# 回显:Plugin "relay" loaded
# 卸载插件(IRC 插件也可卸载,不影响核心)
/plugin unload trigger
# 回显:Plugin "trigger" unloaded
# 重新加载插件
/plugin reload irc
3.5 /quit [reason] - 退出 Weechat
# 正常退出
/quit
# 带消息退出(发送给所有 IRC 连接)
/quit "Going offline, back in 1 hour"
# 回显(IRC 服务器回显):
# libera: Goodbye! (Going offline, back in 1 hour)
3.6 /upgrade - 在线升级 Weechat
# 检查更新并在线升级(使用会话文件保留配置)
/upgrade
# 回显(节选):
# Checking new version...
# Downloading WeeChat 4.10.2...
# Reloading plugins...
# WeeChat upgraded to 4.10.2
⚠️ 在线升级功能较新(v4.6+),使用系统包管理器(apt/source)升级更稳定可靠。
3.7 /clear - 清空当前 Buffer 显示
/clear
# 回显:Current buffer cleared
# 只影响屏幕显示,不删除日志文件内容
四、IRC 服务器命令族
4.1 /server add <name> <address>[/<port>] [options] - 添加服务器
# 基础添加(端口默认 6667)
/server add libera irc.libera.chat
# 回显:Server "libera" created
# 带端口 + SSL + 自动连接
/server add libera irc.libera.chat/6697 -ssl -autoconnect
# 回显:Server "libera" created
# 带认证信息
/server add libera irc.libera.chat/6697 -ssl -autoconnect \
-username myuser -realname "My Real Name" \
-sasl_username irc_account -sasl_password "secret"
常用参数说明:
| 参数 | 说明 |
|---|---|
-ssl | 启用 TLS 加密(端口通常用 6697) |
-autoconnect | Weechat 启动时自动连接 |
-autoreconnect | 断线后自动重连 |
-username <name> | IRC USER 命令中的用户名 |
-realname <text> | IRC REALNAME 字段 |
-nicks <list> | 逗号分隔的昵称备选 |
-sasl_username <name> | SASL 认证用户名 |
-sasl_password <pass> | SASL 认证密码 |
-sasl_mechanism <mech> | SASL 机制(PLAIN/SCRAM-SHA-256/EXTERNAL) |
-proxy <proxy> | 代理(格式见 irc.server.* 参数) |
-ipv6 | 优先 IPv6 连接 |
-notls | 禁用 TLS(显式) |
4.2 /server list - 查看所有服务器
/server list
# 回显:
# libera
# oftc
# matrix
#(每行一个服务器名)
4.3 /server del <name> - 删除服务器
/server del oftc
# 回显:Server "oftc" deleted
4.4 /server <name> - 切换到指定服务器的核心 Buffer
/server libera
# 回显:切换到 libera 服务器的 Buffer(显示连接状态)
4.5 /connect <name> - 连接服务器
/connect libera
# 回显(节选):
# libera: connecting to server irc.libera.chat/6697...
# libera: connection to server successful
# libera: joined channel #weechat
4.6 /disconnect <name> - 断开服务器
/disconnect libera
# 回显:libera: connection closed
4.7 /reconnect <name> - 重连服务器
/reconnect libera
# 回显:
# libera: connection closed
# libera: connecting to server irc.libera.chat/6697...
# libera: connection to server successful
五、Buffer 管理命令族
5.1 加入/离开频道
# 加入频道(当前服务器)
/join #weechat
# 回显:Joined #weechat on libera (session #1 of #weechat on libera)
# 同时加入多个频道
/join #weechat,#python,#rust
# 回显:(多个 Joined 消息)
# 离开频道
/part
# 回显:Left #weechat
# 带 reason 离开
/part "Off for lunch"
# 回显:Left #weechat (Off for lunch)
# 从所有频道离开(保留连接)
/close
5.2 Buffer 切换
# 切换到下一个 Buffer
/next
# 或 Alt+N(默认快捷键)
# 切换到上一个 Buffer
/prev
# 或 Alt+P(默认快捷键)
# 按编号切换
/buffer 3
# 回显:Switching to buffer #3 (#python on libera)
# 按频道名切换
/buffer #weechat
# 回显:Switching to buffer #weechat on libera
# 列出所有 Buffer
/buffer list
# 回显(节选):
# 1: irc.libera.server
# 2: irc.libera.#weechat
# 3: irc.libera.#python
# 4: irc.oftc.server
# 搜索并跳转到含关键词的 Buffer
/buffer find matrix
# 回显:Switching to buffer #4 (matrix.server)
5.3 Buffer 创建与分割
# 水平分屏(上/下)
/split
# 回显:Split horizontally
# 垂直分屏(左/右)
/splitv
# 回显:Split vertically
# 关闭分割
/merge
# 回显:Merge buffer
5.4 Buffer 过滤与搜索
# 动态过滤(只显示含关键词的行)
/filter libev
# 回显:Filter set on buffer (display lines containing: "libev")
# 清除过滤
/filter
# 增量文本搜索(类似 less 中的 / 搜索)
/search /server
# 回显:Found at line 42: /server add libera irc.libera.chat
# n 下一个,N 上一个
# 搜索所有 Buffer
/grep weechat
# 回显(跨 Buffer 搜索结果):
# Buffer #weechat: "WeeChat 4.10.1 ..."
# Buffer #python: "pip install weechat-matrix"
5.5 /close - 关闭 Buffer
# 关闭当前 Buffer
/close
# 回显:Buffer #weechat closed
# 关闭指定编号 Buffer
/close 3
六、脚本与插件命令族
6.1 /script - 脚本管理器
# 列出已安装脚本
/script list
# 回显:
# Scripts:
# go.py 1.5 Go IRC bot
# notify.py 3.2 Desktop notifications
# awaylog.py 2.0 Log away messages
# 搜索脚本
/script search matrix
# 回显:
# Available scripts (matching "matrix"):
# matrix_python.py 2.3 Matrix bridge for Weechat
# matrix_client.pl 1.1 Matrix client in Perl
# 安装脚本
/script install go.py
# 回显:
# Downloading script "go.py" (version 1.5)...
# Script "go.py" installed
# 更新所有脚本
/script update
# 回显:
# Checking for updates...
# go.py: 1.5 -> 1.6 (updating)
# notify.py: 3.2 -> 3.4 (updating)
# Scripts updated.
# 卸载脚本
/script remove go.py
# 回显:Script "go.py" removed
# 启用/禁用脚本
/script toggle notify.py
# 回显:Script "notify.py" disabled (toggle again to enable)
# 查看脚本详情
/script show go.py
# 回显:
# Script "go.py":
# Author: flashcode
# Version: 1.5
# Description: Go IRC bot with plugin API
# URL: https://weechat.org/scripts/source/go.py.html
6.2 /alias - 自定义命令别名
# 列出所有别名
/alias
# 回显(节选):
# Alias Command
# ----------------------------
# afk away I'm away from keyboard
# back back
# j join
# p part
# q quit
# ...(略)
# 创建别名
/alias add lf "exec ls -la"
# 回显:Alias "lf" added
# 使用:/lf → 执行 exec ls -la
# 修改现有别名
/alias add jf "exec journalctl -u weechat.service -f"
# 回显:Alias "jf" added (replaces default "j")
# 删除别名
/alias del lf
# 回显:Alias "lf" deleted
# 查看别名详情
/alias show j
# 回显:Alias "j" = "join" (default)
6.3 /fset [option] - 交互式参数过滤设置
# 列出所有可修改参数(可交互式筛选)
/fset
# 打开交互式界面,支持正则过滤、批量修改
# 预设过滤器直接修改
/fset irc.server.*.ssl on
# 回显(批量修改):
# irc.server.libera.ssl: off -> on
# irc.server.oftc.ssl: off -> on
# Option "irc.server.libera.ssl" set to "on"
七、执行与自动化命令族
7.1 /exec [options] <command> - 在 Weechat 内执行 shell 命令
# headless 实测
docker run --rm weechat/weechat:4.10.1 weechat -a -r '/exec uname -a' -r '/quit' 2>&1 | grep -v $'\033' | tail -5
# 回显(节选):
# exec: starting "uname -a" in background
# exec: output of command "uname -a":
# Linux 91a8f4b5c3d4 6.1.0-27-amd64 ...
# 基础执行
/exec uname -a
# 回显:
# exec: starting "uname -a" in background
# exec: output of command "uname -a":
# Linux hostname 5.15.0 #1 SMP x86_64 GNU/Linux
# 执行并等待完成(同步模式)
/exec -sh -o date
# 回显:2026-10-27 07:31:47 UTC
# 将执行结果输出到指定 Buffer
/exec -sb mybuffer -o "curl -s ifconfig.me"
# 回显(在 mybuffer 中):203.0.113.5
# 查看正在执行的命令
/exec list
# 回显:
# PID Command Status
# 1234 journalctl -f running
# 1235 tail -f /var/log/syslog running
# 终止正在执行的命令
/exec kill 1234
# 回显:Process 1234 killed
常用参数说明:
| 参数 | 说明 |
|---|---|
-s | 同步执行(等待完成再返回) |
-b | 后台执行(默认) |
-h | 隐藏命令名(输出中不显示命令本身) |
-o | 只显示输出(隐藏状态信息) |
-p | 显示命令 PID |
-r | 命令执行后自动刷新当前 Buffer |
7.2 /trigger - 事件触发器管理
# 列出所有触发器
/trigger list
# 回显:
# Triggers:
# away_check 1.0 Check away status every 5 min
# highlight 2.1 Highlight nick mentions
# auto_rejoin 1.2 Auto rejoin on kick
# 创建触发器(事件 → 动作)
/trigger add my_highlight message_pv "" "/exec paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
# 回显:Trigger "my_highlight" added
# 含义:当收到私聊消息时,播放声音通知
# 触发器匹配 IRC 服务器指定频道关键词
/trigger add dev_matches irc_special,irc_privmsg "irc.channel == '#dev' && nick == 'flashcode'" "/exec notify-send 'Weechat' 'flashcode said: ${message}'"
# 回显:Trigger "dev_matches" added
# 禁用/启用触发器
/trigger toggle my_highlight
# 回显:Trigger "my_highlight" disabled
# 删除触发器
/trigger del my_highlight
# 回显:Trigger "my_highlight" deleted
Trigger 事件类型速查:
| 事件 | 说明 |
|---|---|
message_pv | 收到私聊消息 |
message_channel | 收到频道消息 |
irc_privmsg | 原始 IRC PRIVMSG 事件 |
irc_join | 用户加入频道 |
irc_quit | 用户离开频道 |
irc_action | /me 动作消息 |
irc_topic | 频道 topic 变更 |
buffer_opened | Buffer 创建 |
buffer_closed | Buffer 关闭 |
timer | 定时器事件 |
7.3 /fifo - 命名管道接口
# 查看 fifo 管道状态
/fifo
# 回显:
# FIFO pipe: /tmp/weechat-12345/fifo
# (path can be changed with weechat.fifo option)
# 通过 fifo 从外部发送命令
echo "/join #linux" > /tmp/weechat-12345/fifo
# 回显(Weechat 内):Joined #linux
# 创建新的 fifo(如管道文件被删除)
/fifo enable
# 回显:FIFO pipe enabled at /tmp/weechat-12345/fifo
💡 使用场景:shell 脚本或 cron 任务向运行中的 Weechat 发送命令。例如:
# cron 定时提醒(每天 12:00) echo "12 0 * * * echo 'PRIVMSG #team :Reminder: daily standup in 15 min' > /tmp/weechat-*/fifo" | crontab -
八、DCC 文件传输命令
8.1 DCC Send / Get
# 向频道用户发送文件(需要对方已 DCC 接受)
# 在对 Buffer 中输入:
/dcc send username /path/to/file.zip
# 回显:
# DCC SEND file.zip (12345678 bytes) to username: request sent
# 接收对方发送的文件(Weechat 自动接受或提示确认)
# 默认保存到 ~/.weechat/xfer/
# 修改保存目录:
/set xfer.file.download_path "/home/user/Downloads/irc"
# 查看传输列表
/xfer list
# 回显:
# Transfers:
# send file.zip 7.8 MB sending (1.2 MB/s)
# get script.tar.gz 3.4 MB complete
九、注意事项与快捷键
9.1 命令执行注意点
- 命令前缀
/后有空格问题:/ server(斜杠后有空格)会被当作聊天消息发送,不是命令 - 参数中的空格:用引号包裹含空格的参数,如
/exec "ls -la ~/Documents" - 大小写敏感:
/Set和/set是不同命令(Weechat 命令大多小写,但别名可能不同) - 异步命令:
/exec默认后台执行,结果在 Buffer 底部追加,不阻塞 - IRC vs Weechat 命令:
/topic(IRC 协议命令)vs/server(Weechat 命令),前者发往服务器,后者是本地命令
9.2 最常用默认快捷键速查
| 快捷键 | 功能 |
|---|---|
Alt+N | 下一个 Buffer |
Alt+P | 上一个 Buffer |
Ctrl+C | 中断当前输入(清空输入栏) |
Ctrl+L | 清屏 |
Ctrl+Q | 输入栏清屏 |
Ctrl+R | 搜索历史命令 |
Tab | 自动补全命令/参数/昵称 |
↑ / ↓ | 浏览历史输入 |
PgUp / PgDn | Buffer 滚动 |
Alt+1..9 | 切换到编号 1-9 的 Buffer |
Alt+0 | 切换到 Buffer #10 |
Alt+Shift+N | 切换到未读消息的 Buffer |
9.3 调试技巧
# 查看完整帮助(所有命令/参数)
/helpall > /tmp/weechat-all-commands.txt
# 生成所有帮助文档到文本文件
# 查看插件详细信息(含命令列表)
/plugin list full
# 回显:每个插件的详细命令/参数列表
# 开启调试日志
/logger debug
# 回显:Debug logging enabled → 输出到 ~/.weechat/debug.log
# 关闭:/logger debug
# 查看当前连接的 relay 客户端
/relay list
# 回显:
# Relay "main" on port 9000 (SSL: no, clients: 2/16)
# client 1: IP=192.168.1.105, interface=glowing-bear
# client 2: IP=192.168.1.200, interface=weechat-android
十、常见问题(FAQ)
问题 1:命令找不到?
检查点:
- 插件是否加载?如
/relay命令需relay插件 - 拼写是否正确?Weechat 命令全部小写
- 运行
/help查看所有可用命令
# 查看当前会话可用的所有命令
/help
问题 2:/exec 输出去哪了?
原因:/exec 默认后台执行,输出追加到当前 Buffer 底部(需滚到底部看)。
解决方案:
-s参数同步执行,输出立即显示-sb <buffer>指定输出到专门 Buffer
问题 3:批量操作多个 Buffer 怎么办?
# 批量关闭匹配的 Buffer(示例:关闭所有 oftc 服务器 Buffer)
/foreach buffer "" "" "/close"
# 配合 /fset 或 trigger 实现复杂批量逻辑
问题 4:命令参数中的变量展开?
Weechat 支持 ${变量} 展开,常用变量:
| 变量 | 说明 |
|---|---|
${buffer} | 当前 Buffer 名称 |
${server} | 当前服务器名 |
${channel} | 当前频道名 |
${nick} | 当前我的昵称 |
${weechat_home} | Weechat 家目录 |
${date} | 当前日期 |
${time} | 当前时间 |
${pid} | Weechat 进程 PID |
# 示例:trigger 中使用变量
/trigger add test_ping message_channel "irc.channel == '#team'" "/exec ping -c 1 ${server}"
十一、参考链接
- Weechat 用户手册(命令完整列表):https://weechat.org/files/doc/stable/weechat_user.en.html#command_line
/help命令(Weechat 内实时查阅)- Cheat Sheet(官方):https://weechat.org/files/doc/stable/weechat_quickstart.en.html
/exec命令详解:https://weechat.org/files/doc/stable/weechat_user.en.html#exec- 触发器系统:https://weechat.org/files/doc/stable/weechat_user.en.html#trigger
- Docker 镜像:
weechat/weechat:4.10.1(已实测命令执行正常) - 容器实测脚本:
docker run --rm weechat/weechat:4.10.1 weechat -a -r '/version' -r '/quit'
章节目录