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

No.69092642 - 无标题 - 技术宅


回应模式
No.69092642
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2026-07-20(一)22:29:31 ID:dJv5Q9g [举报] [订阅] [只看PO] 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-31(五)17:16:29 ID:dJv5Q9g (PO主) [举报] No.69154451 管理
更新了0.1.22版本:
1.自动清理策略现在可以按天数/按数量独立切换清理策略了,在每次策略修改和应用启动时会自动清理
2.调整“设置”/“本地存储管理”页面的对齐排版
3.修复0.1.21版性能优化引入的,一些串的链接识别失效的问题
4.代码小优化
无标题 无名氏 2026-07-31(五)17:39:27 ID:YdWBvB8 [举报] No.69154663 管理
感觉键盘交互的逻辑好怪,有一种在用浏览器的感觉( ゚∀。)我觉得可以参考下yazi/broot之类的UX
无标题 无名氏 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(日)14:25:07 ID:YdWBvB8 [举报] No.69165838 管理
>>No.69154899
先谢谢po回复(・ω・)

首先是岛公告那里只能用tab选择按钮,不能直接按“Y”/“N”之类的。
然后板块列表最好可以按右箭头展开,我觉得这个也是比较符合直觉的。
高亮显示也确实,因为我更喜欢用pgup,pgdown翻页(*´ω`*)然后焦点就根本不知道在哪了。
无标题 无名氏 2026-08-02(日)14:30:54 ID:YdWBvB8 [举报] No.69165875 管理
>>No.69106727
其实我感觉还是缺点更明显,python性能虽然拉但是对应这种场景绰绰有余了,网络IO的时间得是计算的好几倍,tantivy也是有现成的python binding的。那点性能差距相较于网络延迟完全可以忽略不计。然后python要拉一整个runtime性能占用(尤其是内存)还是挺高的。


>>No.69097106
分发也确实是一个问题,比如我是 aarch64-pc-windows (つд⊂)
无标题 无名氏 2026-08-02(日)14:57:05 ID:6iKZZus [举报] No.69165998 管理
方便摸鱼了|∀` )
无标题 无名氏 2026-08-02(日)15:18:12 ID:sVpgYkZ [举报] No.69166104 管理
卧虎藏龙岛(´゚Д゚`)
无标题 无名氏 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(一)10:52:13 ID:YdWBvB8 [举报] No.69171418 管理
>>No.69170294
好耶,现在体验好多了| ω・´)

>>No.69170365
了解了,那确实挺合理的

转译的话主要是需要把python也换成x64的,因为pypi没标记这个包支持arm64,uv会拒绝安装。

至于rust编译,msvc去vs installer里面把arm64的c++生成工具装上应该就可以直接交叉编译了(*゚ー゚)
无标题 无名氏 2026-08-03(一)11:37:30 ID:KV58Jai [举报] No.69171688 管理
popo真棒!(ノ゚∀゚)ノ
无标题 无名氏 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,我嫌太大没装(つд⊂)
无标题 无名氏 2026-08-03(一)22:15:38 ID:YdWBvB8 [举报] No.69175246 管理
>>No.69172152
可以用了,谢谢po(ゝ∀・)

UP主: