Sermo 言浪 CLI
Sermo 言浪的命令行客户端。它直接接入 sermo-backend API,适合在终端里快速查看会话、发送文字消息和检查好友信息。
当前版本覆盖日常终端使用:
- 支持进入空间并保存登录状态。
- 支持查看当前账户、空间成员、聊天列表、好友列表、好友申请。
- 支持查看聊天记录、发送文字消息、持续刷新新消息、监听全局新消息。
- 默认提供不清屏的局部窗口选择器,会话、好友、成员和申请列表只展示光标附近 5 项。
- 保留
sermo tui全屏终端聊天界面,会话列表、消息流和输入框集中展示。 - 支持好友申请处理、好友邀请链接、私聊打开、群聊创建和成员管理。
- 支持账号资料、联系方式绑定、通知偏好、空间创建和管理员基础操作。
- 图片、视频、语音、文件等多媒体消息在终端中展示为
[图片]、[视频]、[语音]、[文件];也支持上传发送图片、视频和语音文件。 - 暂不展示头像。
安装
开发环境下可以直接运行:
python -m sermo_cli --help
也可以安装为本地命令:
pip install -e .
sermo --help
从 PyPI 安装:
pip install sermo
sermo --help
API 地址
默认 API 地址是:
https://api.sermo.jyonn.space
可以用环境变量或参数覆盖:
SERMO_API_BASE=http://localhost:8000 python -m sermo_cli chats
python -m sermo_cli --api http://localhost:8000 chats
常用命令
登录 / 进入空间:
sermo login --space yuanmeng --name 软糖大啾咪
如果昵称需要访问密码,CLI 会自动提示输入密码。
查看当前账户:
sermo me
查看聊天列表:
sermo chats
终端中会显示光标附近 5 个会话。使用 ↑/↓ 选择、Enter 打开、Esc 返回;也支持 j/k 和 Ctrl+N/Ctrl+P。
直接输出完整列表,适合管道和脚本:
sermo chats --list
调整局部窗口行数:
sermo chats --window 7
打开 TUI:
sermo tui
在 TUI 里:
Tab/Shift+Tab在会话、消息和输入框之间切换焦点。- 会话焦点下使用
↑/↓或j/k切换会话。 - 消息焦点下使用
↑/↓滚动,PageUp/PageDown翻页,滑到顶部自动加载历史。 - 查看历史时不会强制跳到底部;标题会提示新消息数量,
End回到最新消息。 - 输入框支持左右移动、
Home/End、退格与 Delete,并按会话保存草稿。 - 发送消息会立即展示“发送中”;失败后保留消息,在消息焦点按
r重试。 Enter发送,F5手动刷新,Ctrl+U清空输入。Esc或F10退出。
会话焦点还支持:
/按会话名称或最后一条消息搜索。u只看未读会话,x清除全部筛选。i查看当前会话资料。- 连续五分钟内同一用户的消息自动合并显示昵称与时间。
- 终端宽度不足 86 列时自动切换为单栏布局。
消息与输入增强:
Ctrl+K打开可搜索的命令面板。- 消息焦点按
v进入选择模式,使用↑/↓选择消息。 - 选择消息后按
q引用、c复制、d删除,删除前会二次确认。 - 引用摘要会显示在输入框上方,按
Esc取消引用。 - 输入框按
Ctrl+O插入换行,最多展示 4 行;Enter仍用于发送。
打开聊天:
sermo chat 1
在聊天界面里:
- 直接输入文字并回车即可发送。
- 输入
/refresh刷新新消息。 - 输入
/quit退出。
只发送一条消息:
sermo send 1 你好
持续刷新聊天:
sermo chat 1 --follow
查看好友:
sermo friends
好友、空间成员、好友申请和群聊邀请使用同一套局部窗口交互:
sermo friends
sermo users
sermo requests
sermo group invites
这些命令也都支持 --list 和 --window。
查看好友申请:
sermo requests
接受/忽略好友申请:
sermo friend accept <user_id_or_name>
sermo friend ignore <user_id_or_name>
打开私聊:
sermo direct <user_id_or_name> --open
监听所有新消息:
sermo watch
加载更早消息:
sermo chat 1 --before <message_id>
群聊:
sermo group create 12 34 --title 周末计划
sermo group add 1 56
sermo group rename 1 新群名
sermo group leave 1
发送媒体消息:
sermo message media 1 ./photo.jpg
sermo message media 1 ./voice.m4a --kind audio --duration 8
好友邀请链接:
sermo invite token --permanent
sermo invite redeem <token>
账号与通知:
sermo account password
sermo account name 新昵称
sermo account welcome "欢迎来找我聊天"
sermo contact code email you@example.com
sermo contact bind email you@example.com 123456
sermo notify list
sermo notify set bark --enabled on --threshold 1 --hide-content on
空间与管理员:
sermo space email-code --slug yuanmeng
sermo space admin-login --space yuanmeng --email admin@example.com --code 123456
sermo admin dashboard
sermo admin users
sermo admin settings --square off --member-limit 100
sermo admin official-ticket
退出:
sermo logout
登录状态
登录状态默认保存到:
~/.sermo-cli/config.json
可以用 SERMO_CLI_CONFIG 指定其他路径,便于测试或多账号切换。
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sermo-0.7.0.tar.gz.
File metadata
- Download URL: sermo-0.7.0.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b29598d90f7a7e91cf4d065de584c8e7080805d027e01bf0e9e2f834a2d9f06a
|
|
| MD5 |
f3d5363ac453f579dc27acae5756f44a
|
|
| BLAKE2b-256 |
9b2126998fa510e85dc511701e455fdc8fd6f038ca9fb31aaabd5b0229842e5c
|
File details
Details for the file sermo-0.7.0-py3-none-any.whl.
File metadata
- Download URL: sermo-0.7.0-py3-none-any.whl
- Upload date:
- Size: 34.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee3d169e8d4758bdf934405c157db40d8386497e9759775305e7a9c7ba4788c6
|
|
| MD5 |
a6d4f8ae458ec570f8d0a87d0b3094b8
|
|
| BLAKE2b-256 |
061c2feb6c3e68800c87aa8c43f35bb90bb79538274302bf923d9bbaeaefaf6c
|