先说一个我遇到的真实问题。
龙芯3A6000发布之后,性能确实上来了,LoongArch架构也逐渐成熟。但我日常在龙芯机器上写代码的时候,发现一个挺尴尬的事:缺少趁手的原生开发工具箱。
你想分析一个二进制文件?需要装 ImHex,虽然 ImHex 在安同的oma软件源有龙芯版本,但是看起来貌似无法正常显示GUI。想看 SQLite 数据库?DB Browser 也没有官方龙芯支持。想扫一下代码里的安全隐患?大部分工具都是 x86 独占。最后的结局往往是:打开终端,用命令行凑合。
我搜过 GitHub、GitCode、Gitee,也翻过很多龙芯社区帖子。粗略统计,和这些功能相关的开源/商业工具超过200个,但能直接在龙芯上跑的原生开发工具箱,确实没找到。
这就是我做 XinyuToolkit 的原因。
XinyuToolkit 是什么?
一个面向龙芯及国产平台的开发者工具箱,用 Rust + iced 写的原生GUI应用,不依赖 Electron,不依赖浏览器。目标是:一个应用,覆盖开发中常用的工具。
目前包含的功能:

| 工具 | 说明 |
|---|---|
| 代码编辑器 | 多标签页、语法高亮(20+语言)、minimap、书签 |
| Git 集成 | 状态查看、提交、diff、历史图形化 |
| 代码股市 | 把Git提交历史可视化为K线图,看代码库的"走势" |
| 二进制分析 | Hex查看、ELF/PE解析、字符串提取 |
| 项目健康分析 | 扫描代码中的龙芯兼容性问题和安全隐患 |
| YARA 扫描 | 纯Rust实现的启发式恶意软件特征检测 |
| 网络监听 | 本机端口查看 + 局域网端口扫描 |
| 系统监控 | CPU/内存/磁盘/网络实时监控,进程列表 |
| 数据库查看器 | SQLite可视化浏览、SQL查询 |
| 思维白板 | 无边画布,支持涂鸦/图形/导出SVG |
| 火焰图 | SVG火焰图解析与可视化 |
| 正则测试器 | 实时匹配测试 |
| 颜色选择器 | HSV/RGB/HSL/Hex多模式 |
| 模糊查找 / 全局搜索 | 类似fzf的文件查找和项目内搜索 |
说一些客观数据。
- 代码量:33,000+ 行 Rust
- 支持的架构:LoongArch64 原生,x86_64 兼容
- 国际化:中/英/俄/德/日 五种语言
- GUI框架:iced 0.14(Elm架构,非Electron)
- 许可证:木兰宽松许可证 v2(MulanPSL-2.0)
- 当前版本:v1.3.6
安全性方面,上个版本做了8项安全修复,包括SQL注入防护、shell命令注入防护、panic死锁修复、除零检查、非原子配置写入修复等。44个单元测试全通过。
两个比较独特的功能,多说几句。
代码股市:把Git提交历史用K线图的方式展示。每个文件是一支"股票",行数变化是股价涨跌,新增文件是IPO,删除文件是退市,文件夹是ETF,整个仓库是大盘指数。这个想法的来源是:看Git历史通常是用线性日志,但如果把代码增长当作一种"趋势",用K线来看会更直观。据我所知,目前没有其他工具做这个。
项目健康分析:扫描 Rust/Go/C/C++/C# 代码,检测两类问题。一是龙芯兼容性风险------比如代码里用了 x86_64 独占的内联汇编、SSE/AVX 指令、或者依赖了没有 LoongArch 移植的库。二是安全隐患------SQL注入、命令注入、panic处理不当、除零风险等。覆盖30多条检测规则。这个功能的出发点很简单:在龙芯上移植项目之前,先知道哪些代码可能会出问题。
怎么用?
从源码编译:
git clone https://gitcode.com/H076lik/XinyuToolkit.git
cd XinyuToolkit
cargo build --release
./target/release/xinyu-toolkit
需要 Rust 1.85+。龙芯平台上建议先安装 Noto Sans CJK 字体以获得最佳中文渲染效果。
不过龙芯用户如果使用的glibc版本大于2.36那直接下载发行版本(二进制可执行文件)即可。
现状和局限。
这个项目目前处于 v1.x 阶段,功能已经可用,但还有很多可以改进的地方。比如主题系统目前只有亮色模式,暗色模式的框架已经留好但还没实现。一些高级功能(比如LSP代码补全)之前有过实验,但为了保持轻量先移除了------定位是"工具箱"而不是"IDE",编辑器是入口,工具是核心。
如果你也在龙芯上开发,欢迎试试。有bug可以提issue,有功能需求也可以讨论。
GitCode: https://gitcode.com/H076lik/XinyuToolkit
最后。
做这个项目不是为了"填补空白"这种大话,而是因为我自己每天在龙芯上写代码,真的需要这些工具。既然200多个现有工具都不能直接用,那就自己动手写一个。如果你也有同样的痛点,希望这个工具能帮到你。