AI 驱动的智能书签管理系统
简体中文
TMarks 是一个现代化的智能书签管理系统,结合 AI 技术自动生成标签,让书签管理变得简单高效。
# 1. 克隆项目
git clone https://github.com/ai-tmarks/tmarks.git
cd tmarks
# 2. 安装依赖
cd tmarks
pnpm install
# 3. 创建数据库并迁移
wrangler d1 create tmarks-prod-db --local
pnpm db:migrate:local
# 4. 启动开发服务器
pnpm dev
# 访问 http://localhost:5173
# 1. 安装依赖
cd tab
pnpm install
# 2. 启动开发模式
pnpm dev
# 3. 加载扩展
# Chrome: chrome://extensions/ → 开发者模式 → 加载已解压的扩展程序 → 选择 tab/dist
# Firefox: about:debugging → 临时载入附加组件 → 选择 tab/dist/manifest.json
完整部署教程视频: 点击观看
跟随视频教程,3 分钟完成部署。
前置要求: - Cloudflare 账号 - GitHub 账号
部署步骤:
Fork 本仓库到你的 GitHub
创建 Cloudflare Pages 项目
tmarkspnpm install && pnpm build:deploy.deploy保存并部署(首次部署会失败,继续下一步配置)
创建 D1 数据库和 KV 命名空间
在配置项目之前,需要先创建必要的资源:
a. 创建 D1 数据库:
- 进入 Cloudflare Dashboard
- 左侧菜单选择 Workers & Pages → D1 SQL Database
- 点击右上角 Create database 按钮
- 数据库名称输入:tmarks-prod-db
- 点击 Create 创建数据库
b. 创建 KV 命名空间(可选但推荐):
💡 说明: 两个 KV 命名空间都是可选的,不创建也能正常运行,但会影响性能和安全性: -
RATE_LIMIT_KV: 用于 API 访问频率限制。不创建时将关闭速率限制,可能导致 API 被滥用 -PUBLIC_SHARE_KV: 用于缓存公开分享页面。不创建时每次访问都查询数据库,响应较慢推荐: 生产环境建议创建这两个 KV,开发测试可以跳过
RATE_LIMIT_KV重复上述步骤,创建第二个 KV 命名空间(推荐):
PUBLIC_SHARE_KV在项目中绑定资源
进入你的 Pages 项目 → 设置:
a. 绑定 D1 数据库:
- 设置 → 函数 → D1 数据库绑定 → 添加绑定
- 变量名:DB
- D1 数据库:选择刚才创建的 tmarks-prod-db
- 点击 Save 保存
b. 绑定 KV 命名空间(如果创建了KV):
- 设置 → 函数 → KV 命名空间绑定 → 添加绑定
- 第一个 KV(如果创建了 RATE_LIMIT_KV):
- 变量名:RATE_LIMIT_KV
- KV 命名空间:选择刚才创建的 RATE_LIMIT_KV
- 点击 Save 保存
- 点击 添加绑定 继续添加第二个 KV(如果创建了 PUBLIC_SHARE_KV):
- 变量名:PUBLIC_SHARE_KV
- KV 命名空间:选择刚才创建的 PUBLIC_SHARE_KV
- 点击 Save 保存
💡 提示: 如果跳过了 KV 创建,可以跳过此步骤,应用仍可正常运行
c. 配置环境变量:
- 路径:项目设置 → 环境变量 → 生产环境
- 建议添加以下业务配置(括号为推荐值,可按需调整):
- ALLOW_REGISTRATION:是否允许新用户注册,推荐 "true"(设为非 "true" 的任意值——包括 "false" 或留空——都会关闭注册;推荐的关闭方式是直接删除该变量,避免多处配置造成混淆)
- ENVIRONMENT:当前运行环境,生产环境请设为 "production"
- JWT_ACCESS_TOKEN_EXPIRES_IN:访问 Token 有效期,推荐 "365d"
- JWT_REFRESH_TOKEN_EXPIRES_IN:刷新 Token 有效期,推荐 "365d"
- ⚠️ 敏感环境变量(务必通过 Dashboard 配置,不要写入代码仓库):
- JWT_SECRET:JWT 签名密钥,建议使用至少 48 位随机字符串
- ENCRYPTION_KEY:数据加密密钥,建议使用至少 48 位随机字符串
- 本地或自托管部署时,可参考 tmarks/wrangler.toml.example 中的 [vars] 示例配置(业务配置可直接照抄,敏感密钥仅在 Dashboard 中填写真实值)。
数据库创建后需要执行 SQL 脚本初始化表结构:
tmarks-prod-db 数据库tmarks/migrations/d1_console_pure.sql 文件等待执行完成,确认所有表都创建成功
重新部署
后续更新: - 直接推送代码到 GitHub,Cloudflare 会自动构建部署 - 所有配置都保存在 Dashboard 中,不会被代码更新影响
本项目采用 MIT License 开源协议。
$ claude mcp add tmarks \
-- python -m otcore.mcp_server <graph>