内容
# 粘贴笔记(Claude 代码插件)
[](https://www.npmjs.com/package/stickies-mcp)
[](https://registry.modelcontextprotocol.io)
[](LICENSE)
[](https://nodejs.org)
**适用于 Claude Code 的持久性粘贴笔记。** 你可以固定一个笔记——一个决定、一个阻塞器、一个待办事项——
它会在会话重置、`/clear` 和关闭终端后仍然存在。下次你在该项目中打开 Claude 时,
仍然会显示仍然重要的笔记。
**粘贴笔记不是一个记忆系统,它也不试图成为一个。** 它不会监视你的会话并决定要记住什么。
它恰恰相反:少数几个你(或 Claude,应要求)有意写下的笔记,它们会自动过期,你可以阅读、修剪和信任。
没有向量,没有 LLM 摘要,没有云服务。如果你想要一个可以自动记住所有内容的 AI,请使用
[Claude Code 内置的记忆](https://code.claude.com/docs/en/memory)——它默认启用。
粘贴笔记适用于你想要的少数几个重要笔记,并且你希望它们过期。
---
## 快速入门(60 秒)
你需要 **Node ≥ 22.5**(`node -v` 检查——用于内置 SQLite)。
```sh
claude plugin marketplace add dumbspacecookie/stickies
claude plugin install stickies@stickies --scope user
```
重启 Claude Code。就这样——只需安装一次,它就可以在每个项目中使用。现在试试:
- **让 Claude 记住某件事情:** *"固定一个 P1 待办事项:修复身份验证漏洞后再发布。"*
Claude 会写下来;它会在你下次会话时等待你。
- **查看你的笔记:** 在 Claude Code 中输入 `/stickies`。喜欢 shell 吗?`npm i -g stickies-mcp`
会给你一个 `stickies` 命令——然后 `stickies list`。
- **在浏览器中打开面板:** `/stickies dashboard` → `http://127.0.0.1:4317/`。
没有任何内容会离开你的机器。所有内容都是本地 SQLite 文件,直到*你*启用可选的 git 同步。
---
## 它在哪里工作
笔记属于**项目**,而不是你所在的应用程序——一个本地数据库,按项目范围划分。
不同表面之间变化的是自动发生的事情有多少。
| 表面 | 你得到什么 | 如何 |
|---|---|---|
| **终端** (Claude Code CLI) | ✅ 完整的循环——自动捕获、会话开始摘要、`/stickies`、状态行、仪表板 | 安装插件 |
| **Claude 桌面版** (聊天应用程序) | ✅ 通过 MCP 工具读写(无钩子;传递项目路径) | 将 MCP 服务器添加到 `claude_desktop_config.json` |
| **iPhone / 网页** (远程控制) | ✅ 完整的循环——手机驱动在你的机器上运行的会话 | 在你的机器上运行 `claude remote-control` |
| **iPhone / 网页** (云沙盒) | ✅ 通过**仓库模式**的完整循环——笔记提交到仓库 | `stickies init-repo`(参见 [仓库模式](#repo-mode-cloud--mobile)) |
| **任何 MCP 客户端** | ✅ 读取/写入 | 它在 [MCP 注册表](https://registry.modelcontextprotocol.io) 上作为 `io.github.dumbspacecookie/stickies` |
| **任何地方,只读** | ✅ 查看你的面板 | Discord 摘要/面板卡 |
---
## 其他两件事情你不会在其他地方找到
- **零延迟捕获。** Claude 通过在其回复中写入一行来固定一个笔记——`!!sticky todo P1 :: 修复身份验证漏洞`
——并且停止钩子会使其持久化。无需额外的工具调用,无需额外的回合,无需在往返中花费令牌。(参见 [自动捕获](#auto-capture)。)
- **重要性分级注入。** 会话开始摘要根据重要性降低,而不是按位置:
P1 完整,P2 精简,P3 一个裸计数。它永远不会在 N 行处简单地截断列表。
---
## 流程面板
如果你的项目计划在 `.planning/ROADMAP.md` 中工作(GSD 计划约定),粘贴笔记还会为你提供一个
**实时 Kanban 面板**,直接从该路线图中派生——待办/进行中/完成——并将你的粘贴笔记交叉链接到它们所属的阶段。
这是您计划的投影,根据需要派生,因此它永远不会与计划脱节。
**四个地方可以看到同一个面板,选择最适合你的地方:**
| 哪里 | 命令 | 适合 |
|---|---|---|
| **在 GitHub / 您的手机上** | `stickies board` → 提交 `BOARD.md` | 从手机浏览器快速查看进度——`BOARD.md` 在 github.com 上原生渲染,无需服务器,无需应用程序 |
| **在浏览器中** (本地) | `stickies dashboard` → 打开 `/board` | 交互式 Kanban;`/graph` 显示计划的依赖 DAG |
| **在 Discord 上** | `stickies board --discord` | 可推送的概览卡 - 进度、列计数、每个阶段的状态 |
| **在您的状态栏中** | (参见 [状态栏](#statusline)) | 一个小的、始终在线的 `📋 ▶2 ☐1 ✓2` (正在进行/待办/完成) |
```sh
stickies board # 在项目根目录中写入 BOARD.md(提交它 → 在 GitHub 上查看)
stickies board --out docs/BOARD.md # 在其他地方写入
stickies board --discord # 将面板发布到您的 Discord webhook
```
每个阶段都会显示其进度(`3/4`)、它的波浪、是否已发货(`✓ 已发货 4/4`)以及是否被阻止(`⛔`)。
在没有 `.planning/` 的云/移动会话中,一个提交的 `.flow/` 快照使面板保持自给自足——与存储库模式相同的想法。
---
## 每天的命令
**在 Claude Code 中** (`/stickies` 斜杠命令):
| 命令 | 做什么 |
|---|---|
| `/stickies` | 列出此项目的活动笔记(+ 全局) |
| `/stickies all` | 列出每个项目的笔记 |
| `/stickies add <text>` | 手动添加笔记 |
| `/stickies dismiss <id>` | 清除笔记(待办事项在被忽略时为“完成”) |
| `/stickies dashboard` | 打开本地网页面板 |
| `/stickies sync` | 通过 git 仓库同步(如果配置) |
**在任何 shell 中** (CLI - 相同的引擎)。使用 `npm i -g stickies-mcp` 安装它以获取
`stickies` 命令,然后:
```sh
stickies list # 当前目录 + 全局的活动笔记
stickies list --all # 每个项目 + 全局的笔记
stickies add "发布版本" -c todo -i P1 # 添加一个 P1 待办事项到此项目
stickies add "支付发票" -c todo --due 2d # 一个截止日期(30m/2h/1d/1w/明天/YYYY-MM-DD)
stickies add "打电话给银行" -c todo -p global # 一个全局待办事项 - 在所有地方显示
stickies dismiss <id> -r "完成" # 清除它
stickies dashboard --open # 本地网页面板,打开浏览器
stickies board # 编写一个 GitHub 可查看的 BOARD.md
stickies status # 一行状态栏摘要
stickies sync # 通过 git 仓库拉取 → 合并 → 推送
stickies notify # 将打开的列表推送到 Discord
stickies init-repo # 使笔记在云/移动设备上工作(仓库模式)
```
---
## 自动捕获
最低摩擦的方式:Claude 通过在其回复中写入一行来捕获一个持久的事实,并且
停止钩子会使其持久化 - 无需额外的工具调用,无需额外的回合。
```
!!sticky <category> [P1|P2|P3] [global] [#tag ...] :: <content>
!!sticky decision P1 #storage :: 存储是 node:sqlite,无原生依赖
!!sticky todo P1 global :: 减少 npm 版本
```
`category` 是必需的;重要性默认为 **P2**;笔记会被去重。`global` 和 `#tags`
是可选的,可以以任意顺序出现。没有 `global`,笔记的作用域限定在当前
项目;有它,笔记会在 **每个** 项目中显示。
钩子会扫描整个已完成的回合,因此在 Claude 运行更多工具**之前**
写入的指令仍然会被保存。子代理回复中的指令将被忽略。写入时会对密钥进行红化。
---
## 状态栏
将您的 Claude Code 状态栏指向粘贴笔记,以获取始终在线的摘要。这是**可选的** -
将其添加到您的 `settings.json` 中:
```json
{ "statusLine": { "type": "command", "command": "stickies status" } }
```
(使用 `stickies` 命令来自 `npm i -g stickies-mcp`)
默认情况下,它很紧凑 - 计数加上紧急标志,例如 `🟨 2!·19`(2 紧急的 19 个)。
它**不**故意打印笔记文本(以便不会在您的提示中留下任何敏感信息);
设置 `STICKIES_STATUSLINE_VERBOSE=1` 如果您也想要顶部笔记的文本。
**浅色/深色。** 状态栏无法重新绘制您的终端背景 - 它只能更改自己的文本颜色 -
因此主题的工作是保持在您已经拥有的任意背景下可读。
深色调(默认)使用终端自己的亮色;浅色调则交换更深的真彩色值,
这些值在白色背景下存活(调整为清晰的 WCAG AA 文本对比度)。
使用 **`STICKIES_THEME=light`** (或 `dark`)在您的环境中,或通过调用 **`stickies status --light`** / `--theme dark`。
在发布 `$COLORFGBG` 的 macOS/Linux 终端上,它还会自动检测;
**Windows Terminal / PowerShell 不设置该变量**,因此在 Windows 上显式设置 `STICKIES_THEME`
如果您运行浅色终端。
**可点击链接。** 在支持 OSC-8 超链接的终端(Windows Terminal、iTerm2、
WezTerm、Kitty、Ghostty)中,该段是一个 **Ctrl+click 链接,打开仪表板**。它需要两件事:
- **仪表板必须正在运行** - `stickies dashboard --detach` - 否则点击操作无处可打开。
- 在 **Windows Terminal** 上,Claude Code 不会自动检测超链接支持,因此设置
`FORCE_HYPERLINK=1` 在您的环境中 *在启动 Claude Code 之前*(例如
`setx FORCE_HYPERLINK 1`,然后重启)。如果没有它,该段会渲染但不可点击。
链接会自动跳过 tmux(它会乱码 OSC-8),禁用 `--no-link`,并且其端口遵循 `STICKIES_DASHBOARD_PORT`。
---
## 仪表板
```sh
stickies dashboard # http://127.0.0.1:4317/
stickies dashboard --open # 并打开浏览器
stickies dashboard --detach # 在后台运行
```
仅限环回(永远不会离开 `127.0.0.1`);突变由页面令牌控制,因此随机网页无法操作。
路由: `/` 笔记面板, `/board` 流程面板, `/graph` 计划依赖 DAG。
---
## 来源
每个笔记都记录了**它被写入的位置** - 💻 终端, 🖥️ 桌面版,或 📱 移动设备 -
因此在仪表板上,您可以从您的手机上记下的笔记中区分在桌面上捕获的笔记。
这是一个尽力而为的戳记,每个入口点都了解它自己;不需要配置。
---
## 同步(git 支持,可选)
通过 **您拥有的** git 仓库同步 - 没有第三方服务,没有新帐户。这是
唯一一个曾经触及网络的功能,只有当您将其指向远程时。
```sh
export STICKIES_SYNC_REPO=/path/to/your/stickies-data # 一个 git 克隆,您控制它
stickies sync # 拉取 → 合并(最后写入者获胜)→ 导出 → 提交 → 推送
# 或通过任何文件通道离线:
stickies export -f notes.json
stickies import -f notes.json
```
每个笔记都携带一个与项目 **git 远程**(SSH 和 HTTPS 折叠为同一个密钥)派生的机器独立密钥,
因此一个项目的笔记在每个机器上跟随,即使在每个机器上检入的路径不同。
合并基于 `updated_at` 的整个记录 - 冲突免费且与订单无关。
**自动同步**(也是可选的):将 `STICKIES_AUTO_SYNC=1` 与 `STICKIES_SYNC_REPO` 一起设置,
粘贴笔记会在会话开始时拉取,并在捕获笔记时推送。未设置时,任何同步都不会自动进行。
---
## 仓库模式(云 / 移动设备)
插件位于 `~/.claude`,因此在云会话(iPhone 应用程序 / claude.ai/code 在临时 VM 中运行,
仅看到他们克隆的仓库)中,它不存在。 **仓库模式** 使粘贴笔记在那里工作 - 无需插件,
无需安装:
```sh
stickies init-repo # 在您要记笔记的仓库中运行
```
那会提交一个自包含的、零依赖的引擎并将其连接起来:
- `.stickies/notes.json` - 存储库,以及人类可读的 `.stickies/NOTES.md` 镜像
- `.claude/settings.json` - 会话开始钩子(摘要)和停止钩子(`!!sticky` 捕获)
- `CLAUDE.md` - 教会 Claude `!!sticky` 约定
- `.github/workflows/stickies-sync.yml` - 将每个会话分支的笔记合并到 `main` 中
云会话写入自己的分支;捆绑的操作将每个笔记合并到 `main`
(联合 + 忽略获胜 + 去重)- 每个仓库一个收敛面板。相同的 `!!sticky` 语法
以及与本地插件相同的减色。
---
## 粘贴笔记模型
字段:`id`、`content`(≤ 500 字符)、`category`、`importance`(P1/P2/P3)、
`project_path`(绝对路径,或 null 表示全局)、`tags[]`、`origin`、时间戳、`expires_at`、
`source`(自动/手动)、`status`(活动/过期/忽略)。
**默认 TTL:** 决策 30 天 · 阻塞器 7 天 · 首选项 90 天 · 上下文 14 天 · **待办事项永不过期**
(任务在被忽略时完成,而不是在计时器到期时)。最后一个是使
`todo` + `global` 成为真正的跨项目任务列表 - 未完成的任务不会无声消失。
**存储:** 一个 SQLite 文件用于所有项目,按项目范围划分 - `$STICKIES_DB` 如果设置,否则
`~/.stickies/stickies.db`。它使用 Node 的 **内置** SQLite(`node:sqlite`,因此 Node ≥ 22.5),
因此插件在任何机器上都具有零编译依赖项,并且在 Claude Code 的插件缓存副本上存活。
**会话开始摘要:** P1 完整,P2 ~100 字符,P3 计数。它通过会话开始钩子的 `additionalContext`
传递给模型 **而不会写入任何文件**。
---
## Claude 桌面版(仅限 MCP)
Claude 桌面版支持 MCP 工具(`stickies_write` / `stickies_read` / `stickies_dismiss`)但
不支持钩子或斜杠命令,因此没有自动捕获或摘要 - 添加它并传递项目路径显式。
在 `claude_desktop_config.json`(Windows 上为 `%APPDATA%\Claude/`,macOS 上为 `~/Library/Application Support/Claude/`):```json
{
"mcpServers": {
"stickies": {
"command": "node",
"args": ["--disable-warning=ExperimentalWarning", "/绝对路径/stickies/src/server.js"]
}
}
}
```
两个客户端读取相同的 `~/.stickies/stickies.db`,因此在其中一个显示的笔记会在另一个显示,
无需同步步骤。
---
## 组件(参考)
| 组件 | --- | --- |
| --- | --- | --- |
| MCP 服务器 | `src/server.js` | 工具 `stickies_write` / `stickies_read` / `stickies_dismiss` |
| 会话开始钩子 | `src/session-start.js` | 通过 `additionalContext` 注入摘要(不触及任何文件) |
| 停止钩子(自动捕获) | `src/auto-capture.js`、`src/directives.js` | 持久化 `!!sticky …` 指令,去重 |
| 本地仪表板 | `src/dashboard.js`、`src/dashboard-page.js` | 环回 Web UI:笔记、`/board`、`/graph` |
| 流程面板 | `src/flow/` | 从 `.planning/ROADMAP.md` 导出 Kanban;`BOARD.md` 导出;`.flow/` 快照 |
| 斜杠命令 | `commands/stickies.md` | `/stickies …` |
| CLI | `src/cli.js` | 支持斜杠命令;可直接使用 |
| 存储库/数据库 | `src/store.js`、`src/db.js` | CRUD + 模式 + TTL + 去重 + 来源 |
| 同步 | `src/sync.js`、`src/git-sync.js` | 导出/导入 + git 拉取 → 合并 → 推送 |
| 减色 | `src/redact.js` | 从内容中删除机密 |
| 仓库模式 | `src/repo-mode/` | 提交存储库 + 钩子 + 调解操作,用于云/移动 |
---
## 安装和开发
```sh
# 使用它:
claude plugin marketplace add dumbspacecookie/stickies
claude plugin install stickies@stickies --scope user # 重启 Claude Code 后
# 开发它:
git clone https://github.com/dumbspacecookie/stickies
cd stickies
npm test # 23 个套件,无需网络
```
只需安装一次用户范围内的插件,它就会在每个项目中使用;
每个项目的范围划分基于笔记的 `project_path`,而不是单独的项目安装。
---
## 粘贴笔记比较
持久笔记适用于 Claude Code 的热门领域。老实说:
- **[Claude Code 内置记忆](https://code.claude.com/docs/en/memory)** - 默认开启,
模型决定要保存的内容,无过期日期,无重要性层级,无跨项目全局变量,仅限存储库。
粘贴笔记是确定性的、人类编写的、**过期**的替代方案,供关闭内置记忆的人使用。
- **知识图 / 向量内存服务器**(mem0、OpenMemory、 `server-memory`、`basic-memory`)—
模糊检索您曾经说过的所有内容。不同的工作。粘贴笔记存储小型键入集,
而不是嵌入索引。
- **基于钩子的内存插件** - 存在几个,优秀的。粘贴笔记的狭隘赌注是上述几点:
零延迟 `!!sticky` 捕获、重要性分级注入、一个在项目之间显示的全局层级,
以及从您的计划派生的流程面板。
如果你想要自动回忆你的整个历史,请使用其中一个。那么粘贴笔记适用于
一个短的,可信赖的,自修剪的列表 - 以及一个你可以从手机上浏览的面板。
---
MIT · 由 [dumbspacecookie](https://github.com/dumbspacecookie) 构建
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器