Skip to main content

xdtui

X岛匿名版(xdnmb)的终端(TUI)客户端。基于 Rust 核心 + Python Textual 界面 的混合架构:Rust 核心负责网络请求、缓存、全文检索与本地数据库,Python 端提供终端交互界面,二者在本机通过 gRPC 通信。

功能特性

  • 浏览版块 / 时间线,翻页、跳页与按 ID 跳串,查看最新回复
  • 串详情阅读:只看 Po、回复、引用跳转、引用列表、防剧透黑幕
  • 发新串 / 回复 / 举报,多饼干(Cookie)切换与颜文字快捷插入
  • 订阅(Feed)列表与「我的发言」本地记录
  • 星标串(Favorites,支持备注,主要是清理豁免)
  • 屏蔽串(折叠不想看的串,支持备注)
  • 「Tips 酱」语录收集
  • 本地全文检索(Tantivy + 仓颉分词,支持自定义分词列表)
  • 本地离线缓存(内存 + SQLite 分层存储)
  • 图片浏览(缩略图 / 原图查看器)
  • 浏览历史(本地记录看过的串)
  • 版规查看、存储管理(DB/索引统计、缓存清理、Tips 管理)与设置面板
  • 多种主题、动态配色
  • 核心服务崩溃自动重启
  • 极简模式(隐藏多余 UI)

安装与更新

需要 Python 3.12+。

推荐方式(uv)

推荐使用 uv 进行隔离全局安装,兼顾依赖隔离与全局命令调用的便利:

# 安装
uv tool install xdtui

# 更新
uv tool upgrade xdtui

# 卸载
uv tool uninstall xdtui

传统方式(pip)

# 安装
pip install xdtui

# 更新
pip install -U xdtui

# 卸载
pip uninstall xdtui

安装后直接在终端运行:

xdtui

系统依赖

支持平台:Windows、Linux(x86_64 / aarch64)。

  • Windows:开箱即用,二维码解码库(zbar)已随包附带,无需额外安装。
  • Linux:需系统提供 zbar 库,否则扫码功能会报错:
    • Debian/Ubuntu:sudo apt install libzbar0
    • Fedora:sudo dnf install zbar

键盘快捷键

全局

按键 功能
ctrl+q / q 退出
z 极简模式(隐藏多余 UI)

主界面(版块 / 串列表)

按键 功能
j / ↓ 下一项
k / ↑ 上一项
h / ← 上一页
l / → 下一页
space 首页(回到第 1 页并刷新)
enter 打开当前串 / 版块
s 跳页
r 刷新本页
b 版块侧栏
/ 搜索
n 发新串
m 发言
f 订阅
B 展开/折叠屏蔽
alt+h 浏览历史
alt+t 跳串(按 ID)
alt+g 版规
alt+r 引用列表
t 看图(仅含图卡片可用;无图模式或配置缺失时禁用)

版块侧栏内:↑/↓(或 k/j)移动焦点,←/→(或 h/l)展开/折叠组节点(在版块或时间线叶子节点上按 Enter / → / l 均可直接加载该版块);r 重新加载侧栏、e 全部展开/折叠、esc 返回列表。

串详情界面

按键 功能
esc 返回
/ 搜索
o 只看 Po
p 回复
P 引用回复
f 订阅
S 星标
B 屏蔽
R 举报
t 看图(仅含图楼层可用;无图模式或配置缺失时禁用)

发串 / 回复 / 举报 弹窗

按键 功能
esc 取消
ctrl+g 快捷插入(颜文字)
ctrl+enter 快捷回复

模态窗口 / 确认弹窗

所有带明确确认/取消或关闭按钮的模态窗口(如二次确认、跳页、岛公告、选择饼干、选择订阅 UUID、版规、帮助、关于等):

按键 功能
y 快捷确认 / 同意 / 知道了
n 快捷取消 / 拒绝 / 关闭
esc 取消 / 关闭

注:含有文本输入框的弹窗(如发串/回复、搜索输入框、星标备注)在焦点处于输入框时优先响应文本输入,不影响字符输入。

引用弹窗

在串详情中点击某条引用(或按 alt+r 打开引用列表后选中某条)弹出的引用查看窗口。此外,串详情中每条「最新回复」的单行文本也可直接点击,以同样方式弹出该条回复的完整图文(零延迟本地渲染)。

按键 功能
g 跳转到被引用的原串
esc 关闭

历史界面

按键 功能
c 清空浏览历史
esc 返回

搜索

按键 功能
enter / ctrl+s 搜索 / 重新搜索(焦点在结果卡片时回车打开串或回复)
/ 聚焦搜索栏
← / h 上一页
→ / l 下一页
space 首页
s 跳页
r 刷新本页
esc 关闭

其他界面与鼠标快捷操作

  • ESC 返回:订阅、历史、我的发言、设置、存储管理、图片查看以及各类模态弹窗均支持按 esc 返回 / 关闭。
  • 全屏中键快捷返回:在系统设置中开启「中键返回」(默认开启)后,在所有支持 esc 返回的界面及弹窗中,在全屏任意位置点击鼠标中键(滚轮按下)均等价于按 esc;在各类 y/n 确认弹窗中中键等价于「取消」。
  • 主界面中键表现:在无 esc 返回的主界面中,鼠标中键保持原始行为(与左键/右键一致;若已聚焦版块树时中键等价于按 esc 聚焦回串列表)。
  • 空白处关闭:模态窗口(除发串编辑器外)均支持点击遮罩空白处直接关闭。

数据与日志位置

应用数据(配置 config.toml、本地数据库 data.db、全文检索索引)统一存放在:

  • Windows:%APPDATA%\xdtui\xdtui\config\
  • Linux:~/.config/xdtui

运行日志 app.log 位于数据目录下的 cache/ 子目录:

  • Windows:%APPDATA%\xdtui\xdtui\config\cache\app.log
  • Linux:~/.config/xdtui/cache/app.log

许可证

本项目以 MIT 许可证 发布。

Metadata

Release files for xdtui 0.1.49

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

Built distributions (wheels)

Table of built distributions (wheels) for xdtui 0.1.49
File
xdtui-0.1.49-cp312-abi3-win_arm64.whl CPython 3.12 abi3 Windows ARM64 Details
xdtui-0.1.49-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
xdtui-0.1.49-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details
xdtui-0.1.49-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details

Total release size: 55.6 MB

Release files / xdtui-0.1.49-cp312-abi3-win_arm64.whl

Download URL xdtui-0.1.49-cp312-abi3-win_arm64.whl
Size 13.2 MB
Tags CPython 3.12 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
ca6ea90180197e3fd9d314cf7a8936183f3ef1e104d2995b29e49ec7a7e606c2
BLAKE2b-256 checksum
How to use checksums
2b4bbd83a48b4a8a51c12deb1e5fe5a2b7bc37530ad7ca3d745819060a00eeba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / xdtui-0.1.49-cp312-abi3-win_amd64.whl

Download URL xdtui-0.1.49-cp312-abi3-win_amd64.whl
Size 13.5 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
5f0e64501f42bcde95b62d9549fa9ab59b7edd9c320e73a39b0c7c5e2dfc39f8
BLAKE2b-256 checksum
How to use checksums
14fad1c8c93155b2cae056a32989d4780b1a7fb562959c7267a0d9e947b22623
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / xdtui-0.1.49-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xdtui-0.1.49-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.8 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
334f2aa7ec164084ab9f0cdd6f518e450d934362af0ea5a24435816be210ba90
BLAKE2b-256 checksum
How to use checksums
2a85811d6e6b3e042a833edfc2b0717e793122582e4b4e046df7f688fd43671c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / xdtui-0.1.49-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xdtui-0.1.49-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 14.1 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
818e16b0c6d401f4be4fbf2f204a9bae3b432d912446a15d5c6320db456152a1
BLAKE2b-256 checksum
How to use checksums
03a1f8fdfad8bb698a082f0e70830ebf91054a5499aa529a81654e1ddf35358c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.49 This release

4 release files

0.1.44

4 release files

0.1.43

4 release files

0.1.42

4 release files

0.1.41

4 release files

0.1.40

4 release files

0.1.39

4 release files

0.1.38

4 release files

0.1.37

4 release files

0.1.36

4 release files

0.1.35

4 release files

0.1.34

4 release files

0.1.33

4 release files

0.1.32

4 release files

0.1.23

3 release files

0.1.22

3 release files

0.1.21

3 release files

0.1.20

3 release files

0.1.19

3 release files

0.1.18

3 release files

0.1.17

3 release files

0.1.16

3 release files

0.1.15

3 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