Skip to content

Repository files navigation

byte-link

本地优先的书签中枢 —— 统一管理浏览器书签,提供 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 鉴权
  • 主题 / 壁纸 / 动画自定义,明暗模式

安装

Desktop(Windows)

Releases 下载 msinsis 安装包。

源码构建

依赖:Rust(stable)、Node 20+、pnpm、Tauri 2 系统依赖

pnpm install
pnpm -C apps/desktop tauri build   # 桌面端产物
cargo build --release -p bs        # CLI 产物 target/release/bs

快速开始

Desktop

启动后默认书签管理页;顶栏入口进入沉浸式模式;设置在左下角(通用 / 数据 / 外观 / 关于)。

CLI(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

CLI 命令速查

命令 说明
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 / REST 集成

服务 端点 鉴权 说明
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/clibs)+ apps/desktop(Tauri + Vue3)。三端复用 byte-link-core,无业务逻辑重复。

License

MIT

About

Local-first bookmark hub — CLI / Desktop / HTTP (REST + MCP) over one shared SQLite, with LAN peer-to-peer sync / 本地优先的书签中枢——CLI、桌面端、HTTP(REST+MCP)三端共享同一份本地 SQLite,支持局域网对等同步

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages