文档

怎么装、有哪些命令、接口长什么样,以及笔记究竟存在哪。

快速开始

注册后选择你的 Agent,按安装引导添加官方插件、保存 API 密钥并检查连接。安装页会把刚生成的密钥直接填进对应命令。

1. 拿一个 API 密钥

注册后,前往 获取 API 密钥 页面选择你的环境并生成密钥。页面会把密钥嵌进 --apikey 命令;明文只显示这一次——服务端只存它的 SHA-256。

2. 装插件

/plugin marketplace add loadshine/keepnow-plugins
/plugin install keepnow@keepnow-plugins

在 Claude Code 内运行这两条命令。安装完成后使用 /keepnow。

3. 配置密钥并自检

/keepnow --apikey kn-...
/keepnow --status

在 Claude Code 内保存 API 密钥,再用 --status 确认账户、套餐和用量。

4. 保存第一篇笔记

继续在当前 Agent 会话里工作。当讨论出值得保留的结论后,用一句自然语言告诉 KeepNow 要整理什么:

/keepnow 整理这次排障的根因、无效尝试和最终修复方案

KeepNow 会利用当前会话的完整上下文生成并保存一篇 Markdown 笔记。Codex 中使用 $keepnow,后面的自然语言描述不变。

命令

三个环境提供同一组能力。Claude Code 和 Pi 使用 /keepnow,Codex 使用 $keepnow;下面的参数保持一致。

Claude Code / PiCodex作用
/keepnow$keepnow显示命令帮助。
/keepnow <description>$keepnow <description>按自然语言描述整理当前会话并保存。描述可以指定主题、范围、重点或格式。
/keepnow --find <description>$keepnow --find <description>搜索标题、摘要和关键词,并列出候选。
/keepnow --open <id|url>$keepnow --open <id|url>取回全文并读入当前上下文。
/keepnow --recent$keepnow --recent最近 10 篇。
/keepnow --status$keepnow --status登录邮箱、套餐、用量。装完后的自检。
/keepnow --apikey <key>$keepnow --apikey <key>把 API 密钥安全地保存到本机配置。环境变量 KEEPNOW_API_KEY 仍可覆盖它。

同一会话里重复保存

主题就是笔记的身份。在同一个会话里,跑 /keepnow d1 迁移,聊别的,再跑 /keepnow r2 预签名,会得到两篇;回头再跑一次 /keepnow d1 迁移,Agent 会取回本会话中对应的原文,融合新内容后整篇重写,而不是新建重复笔记。Codex 中把前缀换成 $keepnow 即可。

匹配只看本会话建过的笔记,绝不会去改历史笔记。同一主题在不同日子有多篇是正常的——这是刻意的设计,不是缺陷。

REST API

插件就是调这套接口。你也可以直接调,做自己的集成。认证走 Authorization: Bearer <key>,也接受 X-API-Key。

接口说明
GET /api/v1/me校验密钥,返回套餐与用量。
POST /api/v1/notes创建笔记。返回 id、slug 和 webUrl。
GET /api/v1/notes列表 / 搜索。不返回正文。
GET /api/v1/notes/:id单篇详情,含完整 Markdown。
PATCH /api/v1/notes/:id局部更新。传了 content 就产生一个新版本。
DELETE /api/v1/notes/:id删除笔记及其全部版本。
GET /api/v1/tags全部 tag 及各自笔记数。
curl -X POST https://keepnow.app/api/v1/notes \
  -H "Authorization: Bearer $KEEPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Remote D1 migration says table already exists",
    "summary": "drizzle-kit migrations fail on remote D1 ...",
    "keywords": "d1, drizzle-kit, migration, table already exists",
    "content": "# ...markdown...",
    "tags": ["cloudflare-d1", "drizzle"],
    "source": "claude-code"
  }'

错误码

失败时返回 { error, code }。code 是稳定的,可以拿来做分支。

状态code含义
401invalid_key密钥无效或已撤销。
402quota_notes笔记数达上限。
402quota_storage存储达上限,通常是历史版本占的。
404not_found笔记不存在。
413too_large笔记超过 256 KB。
429rate_limited请求过于频繁。

存储与版本

笔记正文存在对象存储里,数据库只放元数据和可检索字段。每次编辑都会写一个新版本,旧版本永久保留——agent 重写错了能翻回去。

两个配额维度算的不是同一样东西:笔记数按逻辑笔记算,一篇改十次仍然是一篇;存储按对象存储上的实际字节算,十个版本的体积都算在内。

删除笔记会连同它的全部历史版本一起删掉,不可恢复,没有回收站。版本保留是为了「改错了能翻回去」,不是为了「删错了能捞回来」。

隐私与凭据

笔记默认私有。单篇可以生成公开链接,正文由服务端渲染输出,存储地址不会暴露。

开发者的工作对话天然会带上密钥。三层防护:整理 prompt 要求 agent 逐行打码;服务端写入时扫一遍常见凭据模式并给笔记打标;把笔记切为公开时,如果带标就弹窗二次确认并高亮行号。

扫描命中不会阻断写入——丢掉你的笔记比存下一个密钥更糟。唯一强拦的是公开这一步,因为它收不回来。

每个设备用独立的密钥,泄露时可以单独撤销。撤销即时生效。