部署到 Vercel
这是 Previously 的推荐形态:同一颗内核跑在你自己的 Vercel 项目里,记忆后端是你自己的私有 GitHub 仓库——没有数据库,文件还是那些文件,只是躺在你的仓库里。你得到一个随时随地(包括手机浏览器)都能打开的标签页,以及完整的云端执行能力(耐久运行、断线续跑,见云端的一回合)。
不想部署任何东西的话,本机 npm 客户端是可选的另一条路,见快速开始。
单用户产品,没有登录系统。 云端内核没有账号体系:任何拿到你部署链接的人都能使用你的实例、读到你的记忆。保管好链接,必要时设置 ACCESS_SECRET(见下文「防线」)。
步骤
- 建私有仓库。 在 previously-lab/agent 点 Use this template 创建副本,务必设为私有——它将存储你的记忆数据。
- 建 token。 创建 GitHub 细粒度个人访问 token,范围只选这个仓库,权限给 Contents: Read and write。
- 部署到 Vercel。 导入仓库,配好环境变量,点 Deploy。
GITHUB_TOKEN=github_pat_... # 第 2 步的 token
GITHUB_REPO_OWNER=your-username
GITHUB_REPO_NAME=your-private-repo
# 主模型的提供商 key(OPENAI_API_KEY / ANTHROPIC_API_KEY / …任选一家)
DEEPSEEK_API_KEY=sk-... # 驱动搜索同事的 web 检索
# ACCESS_SECRET= # 可选:非浏览器调用方的 access key
云端的大脑只有一种:你自己的 provider API key。设了哪家的 key,哪家的模型就会出现在设置页——这是体验最完整的方式。DEEPSEEK_API_KEY 专门给搜索同事(webSearch 的 provider 检索)使用,与聊天模型无关。
本机形态里写在 ~/.previously/config.json 的那些机器层事实(端口、后端、大脑),在云端由这些环境变量承担;而记忆层的偏好(memory/user/config.json、profile.md)两种跑法完全一样——它们本来就活在仓库里,见配置。
防线
变更端点有同源守卫:你自己浏览器里的调用自动放行;curl、脚本这类非浏览器调用方在设置了 ACCESS_SECRET 后需要带 x-access-key 头。只在自己浏览器里用的话可以不设。守卫背后的执行模型见云端的一回合。
升级
升级跟着 GitHub 走:实例设置页里的 Sync from upstream 会把上游更新作为一次正式合并并入你的仓库,Vercel 随即重新部署。同步只碰代码,永远不覆盖 memory/ 里的数据。