getnote-cli

command module
v1.5.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2026 License: MIT Imports: 1 Imported by: 0

README

得到大脑(Get笔记) CLI

得到大脑(Get笔记)的命令行工具,让你在终端和 AI Agent 里直接管理笔记和知识库。

存链接、记文字、搜笔记、管知识库——一条命令搞定,支持脚本和 AI Agent 调用。


安装

让本地 AI 自动完成安装(推荐)

适用于 OpenClaw(小龙虾)、QClaw、Claude Code、Codex、GitHub Copilot、Cursor、Gemini CLI、Windsurf、OpenCode、Cline 和 WorkBuddy:

npm install -g @getnote/cli@latest && getnote setup

这条命令会把 CLI 安装到稳定的全局路径、自动识别本机平台、安装五个 Skills,并引导完成一次得到大脑授权。安装时保留醒目的 SKILLS 开场,最终只显示每个平台是否安装成功,以及唯一需要用户完成的下一步,不再展示 universalsymlinkoverwrites 等内部安装细节。WorkBuddy 安装后需要重启;OpenClaw(小龙虾)和 QClaw 的 Skill 由平台管理,命令会给出对应的 ClawHub 确认入口。

安装后运行:

getnote doctor -o json

安装完成后,getnote 和更短的 gnote 可以互换使用,例如 gnote notes

只安装命令行
npm install -g @getnote/cli
getnote auth login

或者从 Releases 下载对应平台的二进制文件,放到 $PATH 里。

pnpm 10+ 用户:pnpm 默认会拦截依赖包的构建脚本。请在工作区的 pnpm-workspace.yaml 中允许 @getnote/cli 运行安装脚本:

allowBuilds:
  '@getnote/cli': true

然后重新执行 pnpm install。也可以直接从 Releases 下载对应平台的二进制文件并放入 $PATH

安装机制说明

从 v1.5.10 起,npm 包内置所有平台的二进制文件(macOS/Linux/Windows,x64/ARM64),安装时不再依赖 GitHub

安装时由 postinstall 从 npm 包内的 prebuilt/ 目录复制当前平台二进制,不会访问 GitHub。

中国大陆用户:只需配置 npm Registry 镜像(例如 npmmirror),即可获取完整 npm 包;不需要额外配置二进制下载地址。

包大小:压缩后 ~22MB,解压后 ~55MB(包含 6 个平台二进制)。


使用要求

需要得到大脑(Get笔记)会员

OpenAPI(包括本 CLI 和 Skill)仅对得到大脑会员开放。未开通会员时执行命令会提示 OpenAPI 仅对会员开放

开通会员:前往得到大脑会员购买页


开始使用

如果已经单独安装 CLI,还可以为 Codex、Claude Code、Cursor 补装内置的五个原子 Skill:

npx skills add iswalle/getnote-cli -y -g

使用 getnote setup 时不需要再执行这条命令。

登录:

getnote auth login

会自动打开浏览器完成授权。也可以直接用 API Key(需同时传入 Client ID):

getnote auth login --api-key gk_live_xxx --client-id cli_xxx

开始用:

# 存一篇文章
getnote save https://example.com/article --tag 阅读

# 记一条文字
getnote save "周五前要回复王总的邮件" --tag 待办

# 看最近的笔记
getnote notes

检查和升级

doctor 会同时检查 CLI 路径、npm 安装一致性、账号授权、OpenAPI 连通性、版本更新和已检测 AI 平台的 Skill 状态:

getnote doctor -o json

机器或 AI 应同时读取 readystatusready=true,status=ready 表示完整可用;ready=true,status=degraded 表示核心 API 可用但仍有非阻断问题;ready=false 表示存在阻断问题。issues 提供稳定问题码、严重级别和是否阻断,next_actions 给出修复动作与是否需要用户确认;integrations 区分“检测到 AI 应用”和“对应 Skill 已安装”。--offline 只检查本地环境,此时 local_ready 表示本地结果、ready=null,status=partial 表示远端状态未知。默认只返回检测到的平台,需要排查全部平台时加 --all-platforms

# 查看当前版本并检查是否有新版
getnote version --check-update

# 只检查,不安装
getnote update --check

# 升级 CLI、同步全部已检测 AI 的 Skills,并运行 doctor 验证
getnote update

独立二进制升级会校验 GitHub Release 的 SHA-256;npm 安装会升级整个 @getnote/cli 包。升级成功后,getnote update 会使用新版 CLI 运行 setupdoctor,让二进制、元数据、内置 Skills 和本机 AI 接入状态保持一致。

只想升级 CLI、不需要同步 Skills 时:

getnote update --cli-only

典型使用场景

场景 1:边看边存

# 存链接,自动抓取页面内容
getnote save https://simonwillison.net/2024/llms-reading-list/ --tag ai

# 存完自动展示笔记内容,不用再手动查

场景 2:搜索笔记

# 全局搜索
getnote search "LLM 推荐阅读"

# 在某个知识库内搜索
getnote search "产品设计" --kb vnrOAaGY

场景 3:管理知识库

# 列出默认知识库;特殊类型使用 --scope
getnote kbs
getnote kbs --scope BOOKSPACE

# 查看某个知识库的笔记
getnote kb vnrOAaGY --all

# 把笔记加入知识库
getnote kb add vnrOAaGY 1234567890

场景 4:脚本批处理

# 导出所有笔记为 JSON
getnote notes --all -o json > all-notes.json

# 取出某条笔记的正文
getnote note 1234567890 --field content | pbcopy

AI Agent 使用

所有命令支持 -o json 输出结构化数据,AI Agent 可以直接解析:

getnote notes -o json
getnote note 1234567890 -o json
getnote search "关键词" -o json
getnote save https://example.com -o json   # 自动轮询,返回最终笔记

保存、列表、详情和搜索的 JSON 结果都会返回当前环境可打开的 note_url。测试环境会返回测试站地址,生产环境返回 https://www.biji.com/note/{id}

skills/ 目录是 CLI 内置的五个原子 Skill,也是本地 Agent 的唯一维护源。安装后 AI Agent 可以直接用自然语言操作笔记:

npx skills add iswalle/getnote-cli -y -g

安装后在 Claude Code / Cursor 里说「帮我搜一下关于 RAG 的笔记」即可直接调用。

独立的聚合 Skill 面向 OpenClaw(小龙虾)及 QClaw 等生态客户端和 WorkBuddy,只负责意图理解,底层仍调用同一个 CLI,不再维护第二套 OpenAPI 请求实现。


完整命令参考

认证
getnote auth login                   OAuth 登录(浏览器授权)
getnote auth login --api-key <key> --client-id <id>  直接用 API Key 登录
getnote auth status                  查看当前登录状态
getnote auth logout                  退出登录
getnote doctor                       检查安装、登录和 API 连通性
getnote capabilities                 查看当前版本的稳定能力
getnote setup                        为本机 AI 安装原子 Skill 并引导授权
保存笔记
getnote save <url|文字|图片路径>      保存链接/文字/图片笔记
  --title <标题>                      可选标题
  --tag <标签>                        标签(可重复)
  --topic-id <topic_id>               直接存入普通/书籍/客户档案知识库
  --parent-id <note_id>               创建子笔记(ID 推荐传字符串)
  --idempotency-key <key>             同一创建请求重试时复用的幂等键
  --content-file <文件>               从 UTF-8 文件读取长文本,避免命令行转义和长度限制
  --stdin                              从标准输入读取长文本

getnote task <task_id>               查看异步任务进度

链接笔记是异步处理的,CLI 会自动轮询等待完成,完成后直接展示内容。-o json 模式下静默轮询,返回最终笔记 JSON。

查看和管理笔记
getnote notes                        最近 20 条笔记
  --limit <n>                        自定义数量
  --all                              获取全部(自动翻页)

getnote note <id>                    笔记详情
  --field <字段名>                   只输出某个字段的值
                                     (id/note_url/title/content/type/
                                       created_at/url/excerpt/
                                       web_content/audio_original)

getnote note original <id>           按笔记类型直接输出真实原文
getnote note transcript <id>         直接输出录音、会议或课堂转写原文
getnote note attachments <id>        列出图片、音频和文件附件
getnote note timeline <id>           读取录音或会议时间线
getnote note quick-note <id>         读取录音快捷笔记
getnote note todos <id>              读取会议总结中明确章节解析出的待办

getnote note update <id>             更新笔记
  --title <标题>
  --content <内容>                   仅文字笔记可用
  --tag <标签>                       逗号分隔,会替换现有标签

getnote note delete <id>             删除笔记(移入回收站)
  -y                                 跳过确认

getnote note share <id>              生成公开分享链接
  --exclude-audio                    分享时排除音频
字段语义说明(适合 AI Agent 参考)

不同笔记类型的"原文"字段不同,content 通常是 AI 总结而非原文:

笔记类型 原文字段 AI 总结字段
普通文字笔记 content content
链接/网页笔记 web_content content
录音笔记 audio_original content
知识库博主内容 post_media_text(via kb blogger-content content
知识库直播 post_media_text(via kb live post_summary

AI Agent 提示:用户要求“读原文”时优先使用 getnote note original;明确要求录音、会议或课堂转写时使用 getnote note transcript,避免把 AI 摘要误当成原文。

搜索
getnote search <关键词>              全局语义搜索
  --limit <n>                        返回数量(默认 10)
  --kb <topic_id>                    限定在某个知识库内搜索
标签
getnote tag add <note_id> <标签>     给笔记加标签
getnote tag remove <note_id> <tag_id>  按标签 ID 删除笔记标签
getnote tag list <note_id>           查看笔记的所有标签
知识库
getnote kbs                          列出 DEFAULT 知识库
  --scope <scope>                    指定 DEFAULT / BOOKSPACE / CUSTOMER / TEAMSPACE

getnote kb <topic_id>                知识库内的笔记
  --limit <n>
  --all                              获取全部
  --no-content                       JSON 输出时省略 content 字段(节省 AI token)

getnote kb create <名称>             新建知识库
  --desc <描述>

getnote kb add <topic_id> <note_id> [note_id...]     加入知识库
getnote kb add <topic_id> <note_id> --directory-id <id>  加入指定文件夹
getnote kb remove <topic_id> <note_id> [note_id...]  移出知识库
getnote kb directories <topic_id>                    浏览文件夹和资源
getnote kb directory-create <topic_id> <名称>        创建文件夹
getnote kb directory-update <topic_id> <id> --name <名称>  重命名或移动文件夹
getnote kb directory-delete <topic_id> <id> --yes    删除空文件夹
getnote kb blogger-follow <topic_id> <抖音链接>      订阅抖音博主
getnote kb live-follow <topic_id> <url>              订阅得到直播课,直播结束后 AI 摘要自动入库

getnote kbs [--scope DEFAULT]                        获取我创建/管理的知识库,默认只返回 DEFAULT
getnote kbs-sub [--scope DEFAULT]                    获取我订阅的知识库,默认只返回 DEFAULT
# --scope 可选:DEFAULT、CUSTOMER、BOOKSPACE、TEAMSPACE

常用目录命令提供短别名,旧命令继续兼容:

gnote kb dir <topic_id>
gnote kb mkdir <topic_id> <名称>
gnote kb mvdir <topic_id> <directory_id> --name <新名称>
gnote kb rmdir <topic_id> <directory_id> --yes
gnote note quick <note_id>

全局参数

参数 说明
--api-key <key> 临时覆盖 API Key
-o, --output json|table 输出格式(默认 table)

配置

凭证保存在 ~/.getnote/config.json

{
  "api_key": "gk_live_xxx",
  "client_id": "cli_xxx"
}

也支持环境变量(优先级更高):

变量 说明
GETNOTE_API_KEY API Key
GETNOTE_CLIENT_ID Client ID
GETNOTE_API_URL 覆盖 API 地址
GETNOTE_WEB_URL 覆盖笔记网页地址;通常无需设置,CLI 会随 API 环境自动选择

GETNOTE_API_URL 可传站点根地址、/open 或完整 /open/api/v1,业务请求和 OAuth 会同时使用该地址;未设置时仍使用生产环境。

新版 API 兼容约定
  • note_idparent_note_idchildren_idscursor 等雪花 ID 按字符串无损输出;历史 id / next_cursor 数字字段继续保留。
  • HTTP 200 且 success:false 仍按失败处理并返回非零退出码;错误保留 code/reason/retryable/field/constraint/expected_type/request_id
  • getnote save --idempotency-key 用于防止网络重试产生重复笔记;同一请求必须复用同一个键。

从源码构建

需要 Go 1.24.2+。

git clone https://github.com/iswalle/getnote-cli.git
cd getnote-cli
make install

🚀 进阶用法:用笔记内链实践柳比歇夫时间日志法

柳比歇夫时间日志法的核心是每天记录自己把时间花在了哪里,事后统计、复盘、改进。

结合 得到大脑(Get笔记)内链,可以用脚本自动串联:

# 每天早上新建当天日志,内链到关联项目笔记
$ getnote save "今天工作日志 - 以下是进展:\n参考:biji.com/note/{note_id}" --tag 日志

# 每周查看本周日志,复盘时间分配
$ getnote search "工作日志" --limit 7 -o json

内链格式:在笔记正文里用 https://biji.com/note/{note_id} 引用其他笔记。示例:

参考上次的讨论:https://biji.com/note/1234567890000000001

🆕 更新日志

日期 版本 新能力 适合怎么用
2026-09-02 v1.5.8 1. kbskbs-sub 默认只返回 DEFAULT 知识库
2. 新增 --scope,可按 CUSTOMERBOOKSPACETEAMSPACE 精确读取
3. 订阅列表不再混入自己创建的知识库
避免书籍库和自有库挤占订阅列表分页;需要特殊知识库时显式选择 scope
2026-08-19 v1.5.6 1. getnote update 默认升级 CLI、同步五个领域 Skill 并运行诊断
2. capabilities 2.2 提供机器可读的安装、更新、验证与平台托管边界
3. 移除失效的 install.sh 引导
用户只说“安装”或“更新”即可,AI Agent 无需让用户选择内部组件,并能按统一成功条件完成验收
2026-08-19 v1.5.5 1. 一键安装自动识别本机 AI Agent,并按平台显示安装结果
2. 新增 GitHub Copilot、Gemini CLI、Windsurf、OpenCode 和 Cline 自动安装
3. OpenClaw(小龙虾)和 QClaw 仅在检测到时提供 ClawHub 确认入口
4. 保留 SKILLS 品牌开场,隐藏底层安装术语
5. doctor 按平台真实目录检查 Skill 状态
用户只需运行一次安装命令;AI 能根据结构化结果判断安装状态并给出明确修复动作
2026-08-17 v1.5.3 1. doctor 新增稳定问题码、阻断级别、修复动作、平台 Skill 状态和在线/离线就绪语义
2. 诊断失败提供可靠退出码,JSON 保持单一、可解析
3. npm 与独立二进制采用匹配的升级路径,Release 下载增加 SHA-256 校验
4. WorkBuddy Skills 整套预检并支持失败回滚
5. 严格校验输出格式与多余参数
让技术用户和 AI 都能准确判断环境是否真正可用,并根据结构化结果完成修复;同时避免版本分裂、半安装和未校验更新包
2026-08-14 v1.5.2 1. 补齐团队知识库、订阅知识库与文件夹操作的执行边界
2. 明确目录、资源及笔记 ID 的结构化结果字段,避免 AI 猜字段
3. 搜索结果按字符串 note_id 去重,不把同一笔记的多个命中片段重复展示
4. 完善“这条笔记”、录音分享与权限失败的安全处理
提升 CLI 内置 Skills 在知识库整理、搜索和笔记管理场景中的理解与执行准确度;本次不改变既有 CLI 命令和授权凭证
2026-08-13 v1.5.1 1. 修复通过 npx setup 安装后命令指向临时 npm 缓存的问题
2. 同时提供稳定的 getnote / gnote 双命令
3. 自动把五个领域 Skill 安装到 WorkBuddy
4. 重复安装保留已有授权凭证
在 WorkBuddy、Codex、Claude Code 或 Cursor 中重复执行同一条安装命令即可修复或升级,不需要重新授权
2026-08-13 v1.5.0 1. 支持浏览、创建、移动和删除知识库目录
2. 笔记可直接加入指定目录,支持已有团队知识库 TEAMSPACE 的成员读取与管理员维护
3. 支持订阅抖音博主并读取博主内容
4. 新增录音原文、链接原文、附件、时间线、快捷笔记和会议待办等一级命令
5. 完善结构化结果、错误原因、短命令、doctor 和升级检查
让人和 AI 用同一套命令完成知识库整理、资料归档和深层笔记读取;失败时能识别原因,不再猜参数或把未完成任务当成成功
2026-08-11 v1.4.0 1. Skill 2.0 稳定执行契约
2. 所有子命令完整 -h / --help
3. getnote update --check 与升级引导
4. --content-file / --stdin 安全保存长文本
让独立 Skill 和 CLI 内置原子 Skills 共用同一套真实命令,降低 AI 猜参数和长内容转义失败的概率
2026-04-23 v1.1.1 1. 笔记内链
2. 保存分享链接自动变笔记
1. 用内链串联每天的工作日志和项目笔记,实践时间日志法
2. 收到别人发来的分享链接直接存入笔记
2026-04-16 v1.1.0 1. getnote note share:生成分享链接
2. getnote kb live-follow:订阅得到直播
1. 把笔记一键分享给朋友
2. 在知识库里订阅得到直播课,直播结束后 AI 摘要自动入库
2026-04-03 v1.0.x 1. getnote kb bloggers/lives:查看博主和直播列表
2. getnote update:自动升级
1. 查看订阅博主的内容更新和直播摘要
2. 直接运行 getnote update 升级到最新版

相关链接

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
kb
kbs
tag
internal
client
Package client provides an HTTP client for the getnote API.
Package client provides an HTTP client for the getnote API.
ui
Package ui provides shared output helpers for the getnote CLI.
Package ui provides shared output helpers for the getnote CLI.
version
Package version holds the CLI version, injected at build time via ldflags.
Package version holds the CLI version, injected at build time via ldflags.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL