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 退出。

打开聊天:

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.5.0.tar.gz (28.7 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.5.0-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file sermo-0.5.0.tar.gz.

File metadata

  • Download URL: sermo-0.5.0.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for sermo-0.5.0.tar.gz
Algorithm Hash digest
SHA256 d6a8a108516170cee97893cd10a63d77c7a8e0caa18675061b4f7349a00bd4ca
MD5 64c2ad1cec5eef288bc485de9b55bc7b
BLAKE2b-256 0de287579145d365b0b3c5f3325ba2c4d30edce444ecbcd2c5789623d1f6cadb

See more details on using hashes here.

File details

Details for the file sermo-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: sermo-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for sermo-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8ca4c39c2d08269b097d99bd182ea523c2cc3953b99b6de8578ef0cf6d01f70
MD5 c4525329a7984f7c41e68db4bb9738ee
BLAKE2b-256 e16c1f03e77306c43f2ed45847076b6013efa7ca373dab7a06da195d1428270a

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