Skip to main content
ErisPulse TerminalAdapter

ErisPulse TerminalAdapter

The terminal is the chat — develop and test your Bot with zero platform setup.

A terminal adapter for ErisPulse. Each line you type in the terminal is emitted as a private message, and the bot's replies are printed back to stdout. Handy for developing and testing handlers without registering a real platform.

PyPI Python License Stars Downloads ErisPulse

English | 简体中文


English

Features

  • Zero config — no platform account or token needed, install and run
  • One line, one message — every line typed in the terminal becomes a private message that triggers command / module handlers
  • Replies printed to stdout — the bot's SendDSL replies are printed with a [Bot] prefix
  • Standard actions work — get_user_info / get_self_info / get_friend_list return mock data so framework standard actions keep working
  • Readable rendering — non-text segments (image / voice / file / mention ...) render as readable placeholders
  • i18n aware — welcome / goodbye / hint messages follow the framework's i18n language

Install

pip install ErisPulse-TerminalAdapter

Requires ErisPulse >= 2.7.0.

Configuration

config.toml:

[TerminalAdapter]
bot_id = "terminal_bot"
bot_name = "TerminalBot"
user_id = "terminal_user"
user_name = "User"
prompt = "> "
reply_prefix = "[Bot] "
echo_input = false
Field Default Description
bot_id terminal_bot Bot user ID
bot_name TerminalBot Bot nickname
user_id terminal_user Mocked user ID (the terminal user chatting with the bot)
user_name User Mocked user nickname
prompt > Input prompt
reply_prefix [Bot] Prefix prepended to each bot reply line (empty for none)
echo_input false Echo user input (useful for piped input)

The adapter registers under platform name terminal and exposes a single private-chat session (no groups).

Usage

After epsdk run, the terminal becomes the chat:

> Terminal adapter started. Type a message to chat with the Bot. Ctrl+C / EOF to quit.
> Use /help to list commands.

> /hello
[Bot] Hello, User!
> ping
[Bot] ...

You can also pipe input in, which is handy for automated testing:

echo "/hello" | epsdk run main.py

Non-text segments render as placeholders ([image: url], [voice: url], @user_id, ...). Group-related actions are unsupported (no groups in a terminal).

Notes

  • stdin is read in a worker thread, so on shutdown the reader only returns after the next line or EOF (Ctrl+D / Ctrl+Z).
  • Welcome / goodbye / hint messages follow the framework's i18n language setting.

简体中文

特性

  • 零配置即用 —— 不需要注册任何平台账号、不需要 token,装上就能跑
  • 一行一消息 —— 终端里每输入一行即一条私聊消息,直接触发命令 / 模块处理器
  • 回复即打印 —— Bot 通过 SendDSL 回复的内容带 [Bot] 前缀打印到 stdout
  • 标准动作可用 —— get_user_info / get_self_info / get_friend_list 等返回模拟数据,框架标准动作照常工作
  • 多段渲染 —— 非文本消息段(图片 / 语音 / 文件 / @ 等)渲染成可读占位符
  • i18n 跟随 —— 欢迎语 / 退出语跟随框架 i18n 语言设置

安装

pip install ErisPulse-TerminalAdapter

需要 ErisPulse >= 2.7.0。

配置

config.toml:

[TerminalAdapter]
bot_id = "terminal_bot"
bot_name = "TerminalBot"
user_id = "terminal_user"
user_name = "User"
prompt = "> "
reply_prefix = "[Bot] "
echo_input = false
字段 默认值 说明
bot_id terminal_bot Bot 的用户 ID
bot_name TerminalBot Bot 昵称
user_id terminal_user 模拟用户的 ID(与 Bot 对话的终端用户)
user_name User 模拟用户昵称
prompt > 输入提示符
reply_prefix [Bot] Bot 回复的行前缀(留空则不加前缀)
echo_input false 是否回显用户输入(管道输入场景下开启)

适配器注册的平台名为 terminal,只有一个私聊会话,没有群组概念。

使用

epsdk run 启动后,终端就是聊天窗口:

> 终端适配器已启动。直接输入消息即可与 Bot 对话,Ctrl+C 或 EOF 退出。
> 输入 /help 查看可用命令。

> /hello
[Bot] Hello, User!
> ping
[Bot] ...

也可以通过管道喂入,便于自动化测试:

echo "/hello" | epsdk run main.py

非文本消息段会渲染成占位符([image: url]、[voice: url]、@user_id 等)。群组相关操作不支持(终端无群组)。

说明

  • stdin 在独立线程中读取,关闭时需等到下一行或 EOF(Ctrl+D / Ctrl+Z)才会退出。
  • 欢迎语 / 退出语 / 提示语跟随框架 i18n 语言设置。

Related · ErisPulse · Documentation · Issues

Metadata

Release files for ErisPulse-TerminalAdapter 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ErisPulse-TerminalAdapter 1.1.0
File Size Uploaded
erispulse_terminaladapter-1.1.0.tar.gz 525.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ErisPulse-TerminalAdapter 1.1.0
File Interpreter ABI Platform
erispulse_terminaladapter-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 535.1 kB

Release files / erispulse_terminaladapter-1.1.0.tar.gz

Download URL erispulse_terminaladapter-1.1.0.tar.gz
Size 525.0 kB
Tags Source
SHA-256 checksum
How to use checksums
780d855a437c4a95bf63d6b9a5bd62bff179ba81521f629e6910f4ae775fade3
BLAKE2b-256 checksum
How to use checksums
9c72b1ba8f7a5b2f5d3255c0cf1b8dd2bc6cd03739c9cbf5c0058375030f7fc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / erispulse_terminaladapter-1.1.0-py3-none-any.whl

Download URL erispulse_terminaladapter-1.1.0-py3-none-any.whl
Size 10.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87033c414f746b05242207120e2688fe202a12b0004c8433d7a3f2a540d470ba
BLAKE2b-256 checksum
How to use checksums
ce669f528a3698558116233d65e30c68cfe0b4f34d026f043485d44f27710dfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page