Link Skill:一款 Windows 桌面端 symlink 批量管理工具
先放链接
背景
在 Windows 上管理 symlink 是一件麻烦事——mklink 命令需要管理员权限,每一条都要手动输入路径,没有批量创建的便利方式。尤其在管理多个技能包、插件或依赖库时,经常需要把几十个目录链接到不同位置。
Link Skill 就是为这个场景设计的。
技术选型
- Tauri 2.x:比 Electron 轻量三个数量级,Rust 后端性能优秀
- Vue 3 + Vite:前端响应式的扫描列表和 Profile 管理
- Rust:PowerShell 调用的文件系统操作,隐藏窗口批量执行
- WebView2:Windows 原生浏览器引擎,字体渲染和 OTS 校验的折腾大坑
核心功能
1. 批量创建 Symlink
选择源目录 → 自动扫描 → 勾选条目 → 填入目标路径 → 一键批量创建。后端将所有链接拼成一份 PowerShell 脚本一次执行,不会逐个弹窗。
2. 批量清除
支持按选中条目清除目标目录中的对应 symlink,也可一键清除全部。只操作 symlink,非链接的真实文件受到保护。
3. Profile 管理
常用路径组合可保存为 Profile,一键切换。存储在 JSON 文件中,跨会话保留。
4. 暗黑模式 & 主题
洛克魔法书(Rocom Grimoire)设计系统,羊皮纸亮色模式 + 暗黑模式,切换自带过渡动画。
5. 字体自定义
字重(细/中/粗)和字号(S/M/L)可调,全局 rem 缩放全部组件。字体为阿里妈妈方圆体(静态 OTF)。
6. 自定义标题栏
去掉原生 Windows 白条,深色自定义 TitleBar + 中/最大化/关闭按钮,窗口拖拽 + 圆角边角。
开发中的坑
OTS 字体校验
阿里妈妈方圆体是可变字体(Variable Font),Chromium 的 OTS(OpenType Sanitizer)拒绝解析内部变量表,导致字体无法加载。最终方案是用 fonttools 去掉 fvar/gvar 等变量表,生成静态 OTF 绕过校验。
PowerShell 弹窗
逐个创建 symlink 时每个链路都弹出一个 PS 窗口。改用 CREATE_NO_WINDOW + -WindowStyle Hidden + 批量脚本合并调用,彻底解决。
Tauri 自定义标题栏
decorations: false 后用 startDragging() API + capabilities 权限配置实现拖拽,按钮用独立区域避免事件冲突。
开源
Apache 2.0 协议。源码已推至 GitHub:yjkz/Link-Local-skill

评论 (0)
暂无评论,来抢沙发吧!