Skip to main content

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/kCtrl+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 清空输入。
  • EscF10 退出。

会话焦点还支持:

  • / 按会话名称或最后一条消息搜索。
  • 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

sermo-0.7.0.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sermo-0.7.0-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

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

Hashes for sermo-0.7.0.tar.gz
Algorithm Hash digest
SHA256 b29598d90f7a7e91cf4d065de584c8e7080805d027e01bf0e9e2f834a2d9f06a
MD5 f3d5363ac453f579dc27acae5756f44a
BLAKE2b-256 9b2126998fa510e85dc511701e455fdc8fd6f038ca9fb31aaabd5b0229842e5c

See more details on using hashes here.

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

Hashes for sermo-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee3d169e8d4758bdf934405c157db40d8386497e9759775305e7a9c7ba4788c6
MD5 a6d4f8ae458ec570f8d0a87d0b3094b8
BLAKE2b-256 061c2feb6c3e68800c87aa8c43f35bb90bb79538274302bf923d9bbaeaefaf6c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page