本地优先的书签中枢 —— 统一管理浏览器书签,提供 CLI / Desktop / HTTP(REST + MCP) 三端集成,共享同一份本地 SQLite。
本地优先、数据自持:不联网、不上云。所有数据落在本地一个目录,可用文件同步工具或 git 自行备份。
- 书签 CRUD + 一级分类 + 自由多标签 + 全文搜索(FTS5,中文友好)
- favicon 自动抓取与缓存(离线可用,多服务商可选)
- 一键浏览器打开 + 访问计数
- 双模式桌面端:普通管理页 + 沉浸式 macOS 风格书签墙(专属主题 / 壁纸 / 动画)
- 系统托盘常驻 + 全局快捷键(
CmdOrCtrl+Shift+B显隐) - JSON / 浏览器 HTML(Netscape)导入导出,可与 Chrome / Firefox / Edge 互通
- MCP(供 AI 工具检索)+ REST API(供第三方对接),本地绑定 + API Key 鉴权
- 主题 / 壁纸 / 动画自定义,明暗模式
从 Releases 下载 msi 或 nsis 安装包。
依赖:Rust(stable)、Node 20+、pnpm、Tauri 2 系统依赖。
pnpm install
pnpm -C apps/desktop tauri build # 桌面端产物
cargo build --release -p bs # CLI 产物 target/release/bs启动后默认书签管理页;顶栏入口进入沉浸式模式;设置在左下角(通用 / 数据 / 外观 / 关于)。
bs bookmark add --url https://github.com --title "GitHub" --tags dev,git
bs bookmark list --json
bs bookmark search "rust 异步"
bs bookmark open <id> # 浏览器打开并 +1 访问
bs bookmark import bookmarks.html # 从浏览器导入
bs backup -o ~/byte-link-backup.zip| 命令 | 说明 |
|---|---|
bs bookmark add/list/get/open/update/delete/tag/search/import/export |
书签管理 |
bs bookmark check <id> / --category <名> / --all |
死链检测(内网 / 非 http 自动跳过) |
bs category ... |
分类管理 |
bs backup / bs restore |
备份 / 恢复(zip,含 WAL 一致性检查) |
bs sync serve / pair / now / status / remove / pause / resume / discover |
局域网同步(对等 mesh,默认端口 8330) |
bs mcp |
启动 MCP HTTP 服务(默认端口 8217) |
bs api |
启动 REST API 服务(默认端口 8318) |
bs --help 查看全部子命令与参数。
| 服务 | 端点 | 鉴权 | 说明 |
|---|---|---|---|
| MCP | http://127.0.0.1:8217/mcp |
X-API-Key |
5 工具:search / list / get / stats / delete(删入回收站,可恢复;list 支持 kind / unread 过滤) |
| REST | http://127.0.0.1:8318/api/v1 |
X-API-Key |
全 CRUD + 搜索(kind / unread / 死链状态过滤、offset 翻页)+ 批量导入(POST /bookmarks/import)+ 导出(GET /bookmarks/export?format=json|html,html 为 Netscape 浏览器格式)+ 打开计数(POST /bookmarks/{id}/open);Swagger 文档 /docs |
- 默认仅监听 127.0.0.1(本机);若绑定
0.0.0.0(对外暴露),强制启用 API Key。 - API Key 在
config/config.toml(首次启动自动生成;Unix 下文件权限 0600 仅属主可读,备份不含 config),可在桌面端「设置」查看 / 修改。
默认 ~/.cicbyte/apps/byte-link/(Windows:%USERPROFILE%\.cicbyte\apps\byte-link\;可用环境变量 BYTE_LINK_HOME 覆盖):
config/config.toml # 配置 + API Key(位置固定)
data/db/byte-link.db # SQLite + WAL
data/favicons/ # 图标缓存(data/ 可在设置页自定义到任意路径)
- 备份:
bs backup或 桌面端「设置 → 数据 → 导出备份」(zip)。 - 也可直接用文件同步工具(OneDrive / 坚果云 / Syncthing)同步数据目录,或用 git 管理。
- 沉浸式模式:顶栏入口,全屏 macOS 风格书签墙,专属主题 / 壁纸 / 图标样式 / 动画。
- 局域网同步:多台电脑的书签库经局域网自动收敛一致(对等 mesh,无中心服务器)。侧栏「局域网同步」页配对(6 位码 / mDNS 自动发现),顶栏图标显示同步状态;CLI
bs sync serve可作无头节点。冲突确定性解决(LWW),彻底删除有 7 天宽限期(期间恢复即全网复活),同一网址跨设备自动归一。 - 托盘:常驻。左键切换主窗口显隐,右键菜单(显示 / 隐藏 / 退出);关闭窗口默认最小化到托盘(设置 → 通用可关)。
- 全局快捷键:
CmdOrCtrl+Shift+B显隐主窗口(可在 设置 → 通用 修改,自动检测冲突)。
- Windows:提供预构建安装包。
- macOS / Linux:CI 已配置 dmg / app / deb / appimage 构建产物(打
v*tag 自动出包上传草稿 Release);未做代码签名 / 公证(macOS dmg 首次打开需在「系统设置 → 隐私与安全性」放行,Windows 可能弹 SmartScreen 警告),也可源码构建运行。
pnpm install
pnpm -C apps/desktop tauri dev # 桌面端开发(前端 dev 端口 51420)
cargo test -p byte-link-core # 核心单元测试Windows 开发环境体检 / 清理孤儿进程(测试二进制挂住、构建锁竞争排查):
python scripts/dev_env.py status # 列出并分类 cargo/测试二进制/应用进程(含 CPU)
python scripts/dev_env.py clean # 只清测试进程(tauri dev 与应用不动);--all 连带清理架构为 Cargo workspace:crates/core(领域层 + SQLite + MCP/REST)+ apps/cli(bs)+ apps/desktop(Tauri + Vue3)。三端复用 byte-link-core,无业务逻辑重复。
MIT