SelectBridge

English | 简体中文

SelectBridge 是一个轻量的桌面工具,可将受支持的桌面应用中选中的文字转发到可配置的 URL 目标。Windows 使用原生系统托盘应用,Windows、macOS 和 Linux 也支持 headless 宿主。默认目标通过 `goldendict://` 打开 GoldenDict-ng 查询弹窗。 ## 功能 - 将全局选中的文字转发到可配置的 URL 目标。 - 通过 [selection-hook](https://github.com/0xfullex/selection-hook) 监听全局文本选区。 - 支持暂停选区钩子,并从 Windows 托盘切换剪贴板回退。 - 支持立即、修饰键、自定义快捷键、图标和圆点触发方式。 - 支持打开 [GoldenDict-ng](https://github.com/xiaoyifang/goldendict-ng) 查询弹窗或任意自定义 URL 模板。 - 提供轻量的 Windows 原生托盘宿主和跨平台 headless 宿主。 - Windows x64 与 ARM64 均提供 Setup 和 Portable 包。 - 防止重复选区、快速连续触发和过长文本。 SelectBridge 本身不提供词典或翻译服务,只会将选中文本转发到你配置的目标应用或服务。 ## 安装 ### Scoop ```powershell scoop bucket add hoarfrost https://github.com/k4if3ng/hoarfrost scoop install hoarfrost/select-bridge ``` 更新已有的 Scoop 安装: ```powershell scoop update select-bridge ``` ### Windows 发布包 从 [GitHub Releases](../../releases/latest) 下载与系统架构匹配的包 ## 使用 1. 启动 SelectBridge。 2. 在受支持的桌面应用中选中文字。 3. SelectBridge 根据当前触发方式转发文本。 默认 `immediate` 模式会自动转发;修饰键和自定义快捷键模式等待配置的组合键。Windows native 模式还支持可点击或悬浮触发的 `icon` 和 `dot` 指示器。 ## Windows 托盘设置 ![](assets/tray.png) 左键或右键点击托盘图标都会打开同一个菜单。菜单第一项会根据当前状态在“暂停转发”和“恢复转发”之间切换。菜单还可用于选择查询目标、触发方式、指示器大小和触发动作、界面语言、开机启动、更新检查及配置操作。 完整的 Windows 行为说明和排障信息见 [Windows 指南](docs/WINDOWS.md)。 ## 自定义 URL 模板 通过“查询目标 → 设置 URL 模板…”配置其他应用或服务。模板必须: - 以合法 URI scheme 开头; - 必须且只能包含一个 `{text}`; - 不包含空白或控制字符; - 不超过 2048 个字符。 选中文本经过 `encodeURIComponent` 编码后替换 `{text}`。保存有效模板后会立即选中“自定义 URL”。 ## 配置和更新 配置文件位置: - 安装版:`%APPDATA%\select-bridge\config.json` - Portable:`<便携目录>\data\config.json` - 其他平台:`$XDG_CONFIG_HOME/select-bridge/config.json` 或 `~/.config/select-bridge/config.json` 可通过 `SELECT_BRIDGE_CONFIG` 指定其他配置路径。配置项 `enableClipboardFallback` 控制 selection-hook 是否允许在原生无障碍接口无法取词时发送模拟复制快捷键,默认值为 `true` 以保持兼容性,也可从 Windows 托盘切换。通过“设置 → 检查更新…”将当前安装版本与 GitHub 最新稳定版进行比较。SelectBridge 不会自动下载或安装更新。 ## 常见问题 ### 为什么在终端选词时会出现 `^C`,甚至中断当前命令? 剪贴板回退默认开启。当 Windows 无障碍接口无法读取选区时,它可能发送模拟 `Ctrl+C`;终端通常会把该组合解释为中断。取消勾选“设置 → 剪贴板回退”可以禁止模拟复制,但依赖剪贴板取词的应用可能不再产生选区。详细说明见 [Windows 常见问题](docs/WINDOWS.md#FAQ)。 ## 开发 ```shell pnpm install pnpm build pnpm build:native pnpm test ``` 环境准备、原生构建、测试和打包见[开发说明](docs/DEVELOPMENT.md)。 文档: - [架构](docs/ARCHITECTURE.md) - [Headless 宿主](docs/HEADLESS.md) - [开发说明](docs/DEVELOPMENT.md) - [Windows 指南](docs/WINDOWS.md) - [更新记录](CHANGELOG.md) ## 开源致谢 全局文本选区监听由 [selection-hook](https://github.com/0xfullex/selection-hook) 提供,默认查询体验则通过 [GoldenDict-ng](https://github.com/xiaoyifang/goldendict-ng) 的 `goldendict://` 协议实现。感谢这些项目及其维护者,让 SelectBridge 得以成为现实。 ## 友情链接 - [LINUX DO](https://linux.do/) — 开发者与技术爱好者社区。 ## 许可证 [MIT](LICENSE)