写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

[只看PO]No.69092642 - 无标题 - 技术宅


•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2026-07-20(一)22:29:31 ID:dJv5Q9g [举报] [订阅] [返回主串] No.69092642 [回应] 管理
请感兴趣的肥肥,来体验
我鼓捣的一款X岛命令行终端界面/TUI客户端demo:xdtui
(=゚ω゚)=

以下是一些主要功能特点介绍:

支持鼠标/键盘快捷键操作(推荐鼠标),q或者ctrl + q退出,顶上的标题栏和底下的快捷键都是可以点击的

支持了比较完善的X岛文本样式显示:彩色文本、骰子、链接、删除线、引用(像>>No.50000001这样的引用文本可以鼠标点击的哦)等,还包括[h] [/h]防剧透标签也可以显示并鼠标互动揭开(`ヮ´ )

支持终端图片显示(需要你的终端模拟器支持,我主要用Windows Terminal,像WezTerm性能可能更好些?另外如果在Vscode等IDE内嵌终端使用,需要在设置里打开“终端图片”的开关;会自动猜测并选择终端适合的图片渲染方式,而且在应用设置里有无图模式和单独给主界面使用的半块图形显示开关)

比较有特色的是,支持对本地缓存的数据内进行全文搜索哦。就是因为网页搜索功能目前还缺乏,我做了一个本地全文搜索作为补充,数据就是你平时使用这个客户端浏览时自然获取、缓存到本地数据库的;客户端会对新加数据进行分析、分词、索引,让你可以使用搜索功能来检索关键词或者句子,并查看结果,搜索功能也在界面上支持一些具体选项。同时支持一些高级搜索语法,可以看搜索窗口的帮助按钮;同时可以在配置文件里指定自定义词的列表(让它尽量不分词,提高搜索命中率)

支持浏览、发串、回复、举报。有版面树,可查看版规;可以直接跳串;浏览实现了页边缘滚动/方向键的无限滚动方式,并有上下翻页、跳页、刷新本页的功能,在版块串列表第1页往上翻可以刷新、在串详情最后一页贴边往下也可以刷新或加载下一页;发串和回复页可以快速插入颜文字(我还补充了一些!)到文本框,包括大型颜文字(感谢@xdcmd (`・ω・))

支持初级的订阅列表(可以有多个订阅ID)、发言记录、历史浏览记录(串详情)、饼干管理(可以用用户系统那个二维码导入)和设置项,对应于实体的配置文件。对了,会自动检查你本地的饼干,在浏览时对发言记录进行关联补全

支持本地数据存储管理,有比较完整的数据统计显示,支持自动清理串/回复数据和索引,额外加了一个星标串功能,可以星标标记某些串,让它豁免于数据清理;也支持手动清理数据库数据和重建全文搜索索引

支持api端点配置、日志配置等等
…
无标题 无名氏 2026-07-25(六)22:57:35 ID:dJv5Q9g (PO主) [举报] No.69120972 管理
更新到了0.1.14-0.1.15版本,本版本已经上传到pypi上了,后面可以一键安装和更新了,注意目前最新版是0.1.15

前置要求:
Python >= 3.12
Linux 需安装依赖库:sudo apt install libzbar0(Windows一般自带)

pip 安装:
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install xdtui
(Windows 激活虚拟环境用:.venv\Scripts\activate)

uv tool 安装(推荐),装完系统全局可用:
uv tool install xdtui
升级:uv tool upgrade xdtui
锁定版本:uv tool install xdtui@0.1.15

uv 虚拟环境安装:
uv venv
source .venv/bin/activate
uv pip install xdtui
uv run xdtui


安装完在虚拟环境(如果是虚拟环境安装)或系统全局(如果是uv tool安装),使用xdtui命令即可启动使用

备注:
首次运行会启动 Rust 核心子进程并初始化本地数据库和搜索索引
默认配置、数据、日志目录:
Windows:%APPDATA%\xdtui\xdtui\config
Linux:~/.config/xdtui/xdtui/config
…
无标题 无名氏 2026-07-26(日)10:19:45 ID:dJv5Q9g (PO主) [举报] No.69122641 管理
>>No.69122406
你好,首先可以通过类似https://pastebin.com的网站,粘贴一下显示路径的日志内容(可以点击报错窗口的复制按钮得到文本和路径),记得抹掉可能的隐私信息

然后,可以直接把"C:\Users\26440\AppData\Roaming\xdtui\xdtui\config"全部删除,再尝试打开

另外,强烈建议安装Windows Terminal运行本应用,可以在Microsoft Store(微软商店)里面找到并安装,界面会美观很多哟,我看有些emoji显示是方块,安装 Windows Terminal 会自带等宽字体Cascadia Mono
…
无标题 无名氏 2026-07-26(日)12:37:05 ID:dJv5Q9g (PO主) [举报] No.69123178 管理
>>No.69122406
确实是个bug,数据库迁移文件存储的换行符是CRLF,迁移程序读取会有错误,我已经更新了0.1.16版本解决。请删除刚才说的config文件夹(可选),使用以下命令直接更新(取决于你的安装方式):

pip:
python -m pip install --upgrade xdtui

uv(pip 模式:uv pip install xdtui):
uv pip install --upgrade xdtui

uv tool(uv tool install xdtui):
uv tool upgrade xdtui
…
无标题 无名氏 2026-07-26(日)13:04:16 ID:dJv5Q9g (PO主) [举报] No.69123260 管理
应用的config文件夹内容如下:

./config/cache/app.log:应用日志
./search_index:全文搜索索引,在应用设置里可以重建
./data.db: 可能还有data.db-shm和data.db-wal,都是数据库文件,存储你浏览的版块、串内容,在应用设置里可以清理
./config.toml:应用配置文件,存储应用设置、订阅ID、饼干之类的,可以打开看看

注意其他都可以删除(数据库/索引),应用打开会重新建立和缓存;但是config.toml里的订阅id请注意保存或备份,删除config.toml就丢失了
…
无标题 无名氏 2026-07-27(一)17:43:04 ID:dJv5Q9g (PO主) [举报] No.69130366 管理
更新了0.1.17-0.1.18版本:
1.应用支持多实例运行,但是“搜索”功能会因为搜索索引的写锁独占,导致除第一个实例外的实例搜索不可用;新的修改引入了搜索功能的降级,现在第二个乃至更多实例,“搜索”功能会降级为“只读模式”或“搜索不可用”,在“搜索”窗口右下角的副标题显示。
在降级的只读模式下,此实例的浏览数据不再写入索引,只能按照现有索引搜索。只有获取到索引写锁的第一个实例有权力写入,其他实例可以检索到第一个实例新增的内容
2.修复饼干管理相关问题,增删会和配置对齐
…
无标题 无名氏 2026-07-27(一)23:11:14 ID:dJv5Q9g (PO主) [举报] No.69132188 管理
更新了0.1.19版本:
1.“我的发言”页面会记录和显示图片信息了
2.串详情主贴会显示版块信息了
3.修复订阅 / 浏览历史 / 我的发言等状态栏页数显示和翻页、跳页问题
…
无标题 无名氏 2026-07-28(二)21:15:43 ID:dJv5Q9g (PO主) [举报] No.69137442 管理
更新了0.1.20版本:
1.解决“我的发言”页面可能会显示重复条目/错误饼干的问题(遗留错误条目会主动修正)
2.发串/回复,以及饼干图片导入的文件选择窗口,可以选择过滤文件类型,以及可以预览图片了
3.大图显示窗口会显示图片文件名了,同时也支持查看选择图片
…
无标题 无名氏 2026-07-29(三)23:49:10 ID:dJv5Q9g (PO主) [举报] No.69145125 管理
更新了0.1.21版本:
1.统一“系统设置”窗口的界面样式,且在“系统设置”按 ESC 返回会自动保存配置了
2.饼干图片导入时可以预览图片了(上一版漏了)
3.串列表性能小幅优化
…
无标题 无名氏 2026-07-31(五)17:16:29 ID:dJv5Q9g (PO主) [举报] No.69154451 管理
更新了0.1.22版本:
1.自动清理策略现在可以按天数/按数量独立切换清理策略了,在每次策略修改和应用启动时会自动清理
2.调整“设置”/“本地存储管理”页面的对齐排版
3.修复0.1.21版性能优化引入的,一些串的链接识别失效的问题
4.代码小优化
…
无标题 无名氏 2026-07-31(五)18:03:50 ID:dJv5Q9g (PO主) [举报] No.69154899 管理
>>No.69154663
唔,首先推荐鼠标操作,textual对鼠标的支持是一流的,然后键盘快捷键作为功能补充。至于键盘翻页操作嘛,具体说说哪里感觉怪呢?

毕竟这是会有大量样式文本和图片混排卡片显示的客户端嘛,和文件管理器不太一样(文件管理器文件列表只需要显示一行文本)。主要是想模仿手机客户端,搞一个“无限滚动”的列表。实际上因为性能原因,“无限滚动”的页面窗口只会保留3页(前中后),而鼠标滚轮或者键盘翻页的“高亮”项(即有高亮边框的卡片)是独立的,但都会在抵达页面边缘再继续前进时,触发加载新页、销毁旧页。当然,如果做成一页一页的翻页显示那就会简单很多。

另外如果“高亮”项在视口之外,按方向键或者jk键上下移动时,会从视口顶端/底端的一个卡片重新选为“高亮”,是不是你觉得怪的地方?
…
无标题 无名氏 2026-08-01(六)01:10:44 ID:dJv5Q9g (PO主) [举报] No.69157812 管理
更新了0.1.23版本:
1.修复多个列表刷新/翻页的边缘bug
2.在原“高亮”在视口之外或根本没有高亮的情况,键盘上下操作,选择新的边缘“高亮”卡片会更加自然,不会再额外滚动了
3.状态栏提示文本优化
…
无标题 无名氏 2026-08-01(六)01:12:13 ID:dJv5Q9g (PO主) [举报] No.69157823 管理
>>No.69157812
4.触底时,当前页码显示会更准确
…
无标题 无名氏 2026-08-02(日)22:28:50 ID:dJv5Q9g (PO主) [举报] No.69168826 管理
更新了0.1.24版本:
1.设置里新增“代理”和“加密DNS”选项,支持读取系统代理/设置自定义代理,预设的加密DNS选单/自定义DNS路径。用以改善网络,方便某些在网络不好或者有DNS污染地区的肥肥(=゚ω゚)=。我观察到腾讯DOT好像会超时,你们可以试试。
2.许多模态窗口支持y / n来确认和取消了,同时保留esc作为取消键
3.设置页布局调整(esc返回会自动保存,如果不想保存当前配置修改,可以点击“取消”按钮)、异常显示优化、点击卡片时间复制的响应区域收缩到文本区域等
…
无标题 无名氏 2026-08-03(一)02:05:58 ID:dJv5Q9g (PO主) [举报] No.69170255 管理
更新了0.1.25版本:
1.修复“我的发言”里点击回复可能跳转失败的bug
2.版块列表现在在获取焦点时边框为醒目的强调色。支持方向键左键收缩、右键展开,且在叶子节点(即某个时间线/版块)按方向键右键,会和回车一样加载版块。方向键上下到边缘也会循环导航了。e键全部展开/收缩的功能也做了修改,现在收缩时(包括方向键左键收缩),会正确的把选择退回父节点。若选中的项在展开后脱离了视口,会滚动到其可见的位置
3.发串/回复模态窗口增加简单的字数统计,增加快捷回复的快捷键(Ctrl+Enter/J)
4.取消了很多模态窗口按钮上的(Y)/(N)显示,实际按键有效;但若窗口有诸如输入框等控件,且焦点在其之上,因为需要正常输入y、n字母,所以y/n快捷键是无效的
5.封面图片点开大图的响应区域修正为图片本身的范围
…
无标题 无名氏 2026-08-03(一)02:11:57 ID:dJv5Q9g (PO主) [举报] No.69170275 管理
其实很多文本显示区域,比如串里每一楼的卡片,鼠标可以自然地按住左键选中正文,然后按ctrl+c就能复制了;
对于一些不可选中的文本,也可以通过按住shift键,同时按住鼠标左键拖动,可以按单元格进行选中,然后复制;
点击卡片的饼干可以复制饼干、点击时间可以复制时间(需要终端模拟器支持OSC52剪贴板指令)
点击串号可以快捷产生一个引用并回复
…
无标题 无名氏 2026-08-03(一)02:18:41 ID:dJv5Q9g (PO主) [举报] No.69170294 管理
>>No.69165838
很多有确认/取消的模态窗口加上了y/n键的映射
版块列表做了修改,现在支持左右方向键收缩/展开和右方向键加载版块,上下循环导航
高亮显示保持不变,上次的修改里我去掉了高亮选择后的滚动,现在会更加自然了
pageup、pagedown就相当于鼠标滚轮滚动、移动滚动条,和高亮无关,这是textual的机制。也和翻页无关,在列表用左右方向键可以翻页
…
无标题 无名氏 2026-08-03(一)02:39:37 ID:dJv5Q9g (PO主) [举报] No.69170365 管理
>>No.69165875
这个嘛,我说过一开始的思路就是搞一个rust核心出来,这样换一个前端显示就很方便,如果都交给python就是强绑定
这个思路下各类网络io和计算/索引等都集中交给rust处理是很自然的嘛,grpc的本机通信延迟完全够用,换成ffi会复杂得多,但性能并没有太大优势,再说x岛客户端真的有那么大的数据流吗
python的性能确实很拉,就算用tantivy现成的python binding等,最后的内存占用也只会比现在更高,更别说起一个rust子进程根本不担心它的内存安全问题

至于分发嘛,这个aarch64-pc-windows有点刁钻,我本地环境试了下不太行;换aarch64-pc-windows-gnullvm是可以编译核心,但PyO3又不支持,所以就不折腾了,你那边应该可以转译执行吧
…
无标题 无名氏 2026-08-03(一)13:23:38 ID:dJv5Q9g (PO主) [举报] No.69172152 管理
>>No.69171418
光装这个还不行,aws-lc-sys还需要装clang编译器,否则会报错;
总之已经编好上传aarch64-pc-windows的版本力,你试试uv tool install xdtui看吧(`・ω・)
…
无标题 无名氏 2026-08-03(一)13:26:02 ID:dJv5Q9g (PO主) [举报] No.69172165 管理
>>No.69171418
昨天不知道为什么Visual Studio Installer预估安装空间要占用6.7个G,我嫌太大没装(つд⊂)

UP主: