back
loading skill details...
通过官方 getnote CLI 连接得到大脑,完成浏览器授权、连接诊断、CLI 升级,以及保存、查询、搜索、整理和管理用户的真实笔记。用户明确要求登录、诊断或升级,或要保存链接/图片、查找和查看笔记、整理知识库/文件夹、订阅博主、管理标签时使用;不会自行安装或更新 Skill。
---
name: getnote
version: 2.0.3
description: 通过官方 getnote CLI 连接得到大脑,完成浏览器授权、连接诊断、CLI 升级,以及保存、查询、搜索、整理和管理用户的真实笔记。用户明确要求登录、诊断或升级,或要保存链接/图片、查找和查看笔记、整理知识库/文件夹、订阅博主、管理标签时使用;不会自行安装或更新 Skill。
metadata:
openclaw:
emoji: "🧠"
requires:
bins: ["getnote"]
install:
- id: "node-getnote"
kind: "node"
package: "@getnote/cli"
bins: ["getnote"]
label: "Install official GetNote CLI (npm)"
---
# 得到大脑(原 Get 笔记)
让用户在当前 AI 中直接连接、诊断、升级 CLI,以及保存、查找和整理自己的得到大脑内容。本 Skill 理解用户意图、加载对应领域参考,并交给官方 `getnote` CLI 执行真实操作。
## 能力与外部影响
- 本 Skill 会按用户请求执行 `getnote` 命令,并通过得到大脑官方 API 读取或修改当前已授权账号的数据。
- 登录会打开浏览器授权页,并由 CLI 把授权信息保存在其本机配置目录;Skill 不读取、展示或转发完整凭证。
- 保存、更新、归档、分享和删除会修改远端笔记数据,并遵守下方的确认规则。
- 只有用户明确要求升级时才执行 `getnote update`;不会自行运行 npm、安装其他软件、下载并覆盖本 Skill 或修改其他 Skill 文件。
- `getnote` 缺失时使用平台根据 frontmatter `install` 声明提供的官方安装流程;平台要求确认时只请求这一次确认,不查找或运行 `scripts/install.sh`。
## 能力概览
| 用户想做什么 | 典型说法 | 完成后应返回什么 |
| --- | --- | --- |
| 保存内容 | “记一下”“保存这个链接”“把这张图存起来” | 真实标题、字符串笔记 ID、可打开的笔记链接;异步内容必须等生成完成 |
| 查找内容 | “最近记了什么”“帮我找客户反馈” | 按相关度或时间排列的真实标题、摘要和链接 |
| 深入阅读 | “打开这条笔记”“看录音原文”“有哪些会议待办” | 用户点名的详情视图,不用总结代替原文 |
| 整理知识 | “放进产品研究的竞品文件夹” | 真实知识库、目录和归档结果;写后复读验证 |
| 管理内容 | “加标签”“更新正文”“分享或删除” | 最终状态;危险操作先确认 |
| 连接与排障 | “登录得到大脑”“检查为什么不能用”“更新到最新版” | CLI、授权和 API 的实际检查结果及下一步 |
不要要求用户记命令。用户用自然语言表达目标即可。
## 首次连接
1. 执行 `command -v getnote`。如果 CLI 不存在,调用平台根据 frontmatter `install` 声明提供的 `@getnote/cli` 安装流程;不要让用户选择安装方式,也不要查找本地安装脚本。
2. 执行 `getnote setup`,让 CLI 检测本机 AI、同步五个领域 Skill 并引导授权。当前独立 Skill 仍由平台管理,CLI 不覆盖它。
3. 尚未授权时运行 `getnote auth login` 并让用户只在浏览器确认;不得索要 API Key、Cookie 或 Authorization。
4. 执行 `getnote doctor -o json`。只有命令退出码为 0、`diagnostics_completed=true` 且 `ready=true`,才能说已经连接;`status=degraded` 时继续说明并处理非阻断警告。
5. 先运行 `getnote notes --limit 1 -o json` 做无写入验收。只有用户同意时才保存测试笔记,而且必须返回真实标题、字符串笔记 ID 和可打开的 `note_url` 才算完成。
## 每次任务的执行闭环
1. **理解目标**:识别用户要处理的对象、动作和目标位置;“这条笔记”“这个博主”等指代不明确时先澄清。
2. **加载领域参考**:只读取本次任务涉及的 `references/*.md`,不要凭印象猜命令、参数或返回字段。
3. **确认真实对象**:先读取笔记、知识库、文件夹或标签的真实字符串 ID。名称重名时让用户选择。
4. **执行官方 CLI**:机器调用加 `-o json`;长内容使用领域参考规定的文件或标准输入方式。
5. **判断结果**:同时检查退出码、`success` 和领域结果字段。异步任务轮询到最终状态,不能把“已提交”说成“已完成”。
6. **必要时复读**:归档、更新、删除标签等操作按领域参考重新读取结果,确认服务端最终状态。
7. **回复用户**:先给结论,再给标题、链接或必要摘要;失败时说明原因、是否可重试、下一步和 `request_id`。
## 路由
匹配用户意图后,必须读取并遵循对应领域参考:
- 登录、连接、配额、诊断和更新:[`references/auth.md`](references/auth.md)
- 保存、查看、修改、分享和深层内容:[`references/note.md`](references/note.md)
- 按主题或自然语言查找笔记:[`references/search.md`](references/search.md)
- 知识库、文件夹、博主订阅和直播:[`references/kb.md`](references/kb.md)
- 查看、添加和删除标签:[`references/tag.md`](references/tag.md)
一个任务涉及多个领域时,按实际步骤依次读取对应参考。例如“找到最近的客户反馈并放进客户档案”先读搜索,再读知识库。
## 结果呈现标准
- **保存成功**:回复标题、字符串 `note_id` 和真实 `note_url`。链接或图片仍在生成时持续等待;超时则明确说仍在处理,不伪造完成。
- **笔记列表与搜索**:每条至少包含标题和真实链接;有摘要时简短展示。相同 `note_id` 的多个命中片段按领域参考去重。
- **笔记详情**:按用户点名的视图展示标题、总结、原文、录音转写、附件、时间线、快捷笔记或会议待办,不用其他字段冒充。
- **知识库与目录**:展示真实名称、Scope 和字符串 ID;归档完成后说明笔记进入了哪个知识库及目录。
- **更新、分享与删除**:明确最终状态和影响范围。取消或权限不足不能回复成功。
- **空结果**:说明没有找到以及实际搜索范围,可建议换关键词、时间或知识库,但不能编造候选项。
- **失败**:用用户能理解的话解释,并保留错误码和 `request_id` 供排查;敏感凭证不得出现在回复中。
## 统一规则
- 所有真实操作由官方 `getnote` CLI 完成;参数不确定时读取对应命令 `--help`,机器调用统一加 `-o json`。
- 退出码非 0 一律是失败。成功结果读取 `success=true` 和领域 Skill 指定的 `data` 字段;失败结果读取 `error.code/message/reason/retryable` 和可选 `request_id`,不能根据自然语言猜成功。
- ID 始终按字符串原样传递;链接只使用真实返回值,不自行拼接域名。
- 写操作结果不确定时先查询原任务或最近结果,禁止盲目重复创建。
- 删除、覆盖、替换全部标签、公开分享和批量移出必须先确认。
- 群聊或共享会话中不主动展开私密全文,先确认请求者和展示范围。
- 失败时说明真实原因、是否可重试和下一步,并保留 `request_id`;不能伪造成功。
## 常见恢复方式
- `unauthorized` 或授权过期:读 `references/auth.md`,引导浏览器重新授权,不索取凭证。
- `forbidden`:说明当前账号或团队角色没有权限,不绕过权限或换 ID 猜测。
- `not_found`:重新解析真实笔记、知识库或目录 ID;环境不同的链接和 ID 不能混用。
- `conflict`:先读取当前版本或既有目录,避免覆盖和重复创建。
- `rate_limited`:按返回的重试提示等待,不高频循环调用。
- 网络中断或结果不确定:只做查询核验,不自动重复写入。
## 用户要求更新
用户说“更新得到大脑”已经构成完整更新授权,不再让用户选择内部组件:
1. 按 `references/auth.md` 执行 `getnote update`,升级 CLI、同步 CLI 随附的五个领域 Skill 并完成诊断。
2. 使用 ClawHub/OpenClaw 的宿主流程检查并更新当前独立 Skill;平台需要用户确认时,只提供唯一必要的确认动作。
3. 本 Skill 不通过 CLI、npm 或下载脚本覆盖自身文件。
don't have the plugin yet? install it then click "run inline in claude" again.