X岛匿名版的终端 TUI 客户端,基于 Rust 核心与 Python Textual 界面。
Project description
xdtui
X 岛匿名版的终端(TUI)客户端。基于 Rust 核心 + Python Textual 界面 的混合架构:Rust 核心负责网络请求、缓存、全文检索与本地数据库,Python 端提供终端交互界面,二者在本机通过 gRPC 通信。
功能特性
- 浏览版块 / 时间线,翻页、跳页与按 ID 跳串
- 串详情阅读:只看 Po、回复、引用跳转、引用列表、剧透揭示
- 发新串 / 回复 / 举报,多饼干(Cookie)切换与颜文字快捷插入
- 订阅(Feed)列表与「我的发言」本地记录
- 收藏(Favorites)与 Tips 酱 管理
- 本地全文检索(Tantivy,支持自定义梗词分词)
- 本地离线缓存(内存 + SQLite 分层存储)
- 图片浏览(缩略图 / 原图 / TUI 原生模式)
- 浏览历史(本地记录看过的串)
- 版规查看、存储管理(DB/索引统计、缓存清理、Tips 管理)与设置面板
- 深色主题、动态配色
- 核心服务崩溃自动重启
- 极简模式(隐藏多余 UI)
安装
需要 Python 3.12+。
pip install xdtui
安装后直接运行:
xdtui
系统依赖
支持平台:Windows、Linux(x86_64 / aarch64)。
- Windows:开箱即用,二维码解码库(zbar)已随包附带,无需额外安装。
- Linux:需系统提供 zbar 库,否则扫码功能会报错:
- Debian/Ubuntu:
sudo apt install libzbar0 - Fedora:
sudo dnf install zbar
- Debian/Ubuntu:
键盘快捷键
全局
| 按键 | 功能 |
|---|---|
Ctrl+Q / q |
退出 |
z |
极简模式(隐藏多余 UI) |
主界面(版块 / 串列表)
| 按键 | 功能 |
|---|---|
j / ↓ |
下一项 |
k / ↑ |
上一项 |
h / ← |
上一页 |
l / → |
下一页 |
Enter |
打开当前串 / 版块 |
s |
跳页 |
r |
刷新本页 |
b |
版块侧栏 |
/ |
搜索 |
n |
发新串 |
m |
我的发言 |
S |
订阅列表 |
Alt+H |
浏览历史 |
Alt+T |
跳串(按 ID) |
Alt+G |
版规 |
Alt+R |
引用列表 |
版块侧栏内:r 重新加载、e 全部展开/收缩、Esc 返回列表。
串详情界面
| 按键 | 功能 |
|---|---|
Esc |
返回 |
o |
只看 Po |
p |
回复 |
P |
引用回复 |
a |
订阅 |
f |
星标(收藏) |
R |
举报 |
发帖 / 回复 / 举报 弹窗
| 按键 | 功能 |
|---|---|
Esc |
取消 |
Ctrl+G |
快捷插入(颜文字) |
搜索
| 按键 | 功能 |
|---|---|
Enter / Ctrl+S |
搜索 |
Esc |
关闭 |
其他界面
订阅、历史、我的发言、设置、存储管理、图片查看等界面均以 Esc 关闭 / 返回。
模态窗口(除发串/回复窗口外)均可以通过点击空白处关闭。
数据与日志位置
应用数据(配置 config.toml、本地数据库 data.db、全文检索索引)统一存放在:
- Windows:
%APPDATA%\xdtui\xdtui\config\ - Linux:
~/.config/xdtui
运行日志 app.log 位于:
- Windows:
%APPDATA%\xdtui\xdtui\config\cache\app.log - Linux:
~/.config/xdtui/cache/app.log
许可证
本项目以 MIT 许可证 发布。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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 xdtui-0.1.16-cp312-abi3-win_amd64.whl.
File metadata
- Download URL: xdtui-0.1.16-cp312-abi3-win_amd64.whl
- Upload date:
- Size: 14.4 MB
- Tags: CPython 3.12+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b356faad48bac392dc0210b428b96eeffc8a04df3496fea6c7763dc285bc257
|
|
| MD5 |
b6163ce1d17535361af3899169c28b5f
|
|
| BLAKE2b-256 |
b63a1f9aeaeedbe2a8b036af0ea1a18a72909b82a0b60474bceb066251e38e7b
|
File details
Details for the file xdtui-0.1.16-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: xdtui-0.1.16-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 15.7 MB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c9e7622d8376e0c782adff168f8fdbdf8aec754cb3053646335f482cb41e62d
|
|
| MD5 |
a59e35d247025e44b784a316b4ce6e51
|
|
| BLAKE2b-256 |
5e8f556aae3cfe3cd60d1a3af0c7369be94082c5603040b535aa4b893214e6a8
|
File details
Details for the file xdtui-0.1.16-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: xdtui-0.1.16-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 14.9 MB
- Tags: CPython 3.12+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6976508ce36f265554c70eb5d70c80ee2b8830ac9308365888e393e157a6efc
|
|
| MD5 |
b7c5ef929ac844070b9a91e22103d1f9
|
|
| BLAKE2b-256 |
fa7e25728e722fb403ac953dd28bbf77ffc434f55ceaef46beeff4a79e4a9843
|