Metadata-Version: 2.4
Name: xdtui
Version: 0.1.16
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: betterproto2[all]>=0.2.1
Requires-Dist: orjson>=3.11.9
Requires-Dist: pillow>=12.3.0
Requires-Dist: pyzbar>=0.1.9
Requires-Dist: rich>=15.0.0
Requires-Dist: textual>=8.2.7
Requires-Dist: textual-autocomplete>=4.0.6
Requires-Dist: textual-fspicker>=1.0.1
Requires-Dist: textual-image>=0.13.2
Requires-Dist: textual-slider>=0.2.0
License-File: LICENSE
Summary: X岛匿名版的终端 TUI 客户端，基于 Rust 核心与 Python Textual 界面。
License-Expression: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# xdtui

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

## 功能特性

- 浏览版块 / 时间线，翻页、跳页与按 ID 跳串
- 串详情阅读：只看 Po、回复、引用跳转、引用列表、剧透揭示
- 发新串 / 回复 / 举报，多饼干（Cookie）切换与颜文字快捷插入
- 订阅（Feed）列表与「我的发言」本地记录
- 收藏（Favorites）与 Tips 酱 管理
- 本地全文检索（Tantivy，支持自定义梗词分词）
- 本地离线缓存（内存 + SQLite 分层存储）
- 图片浏览（缩略图 / 原图 / TUI 原生模式）
- 浏览历史（本地记录看过的串）
- 版规查看、存储管理（DB/索引统计、缓存清理、Tips 管理）与设置面板
- 深色主题、动态配色
- 核心服务崩溃自动重启
- 极简模式（隐藏多余 UI）

## 安装

需要 **Python 3.12+**。

```powershell
pip install xdtui
```

安装后直接运行：

```powershell
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` / `→` | 下一页 |
| `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 许可证** 发布。

