Back to the catalog

getnote-auth

iswalle/getnote-cli · skills.sh

Open source Repository Open in the app JSON README (API)

About

Skill publicada por iswalle/getnote-cli no skills.sh. Instale com: npx skills add iswalle/getnote-cli@getnote-auth

Details

Kind
Agent skills
Topic
Developer tools
Publisher
iswalle
Origin
skillssh
Category
ferramentas
Stars
176
Forks
9
Last push
2026-09-04T10:05:12Z
Repository state
ativo
Language
Go
License
MIT
Added
2026-08-30 15:22:39
Updated
2026-09-08 15:05:58
Origin id
iswalle/getnote-cli/getnote-auth

README

# 得到大脑(Get笔记) CLI

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

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

---

## 安装

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

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

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

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

安装后运行:

```bash
getnote doctor -o json
```

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

### 只安装命令行

```bash
npm install -g @getnote/cli
getnote auth login
```

或者从 [Releases](https://github.com/iswalle/getnote-cli/releases) 下载对应平台的二进制文件,放到 `$PATH` 里。

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

```yaml
allowBuilds:
  '@getnote/cli': true
```

然后重新执行 `pnpm install`。也可以直接从 [Releases](https://github.com/iswalle/getnote-cli/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 仅对会员开放`。
>
> 开通会员:[前往得到大脑会员购买页](https://www.biji.com/checkout?product_alias=9Ab36BB3ZD&spm=openapi_cli)。

---

## 开始使用

如果已经单独安装 CLI,还可以为 Codex、Claude Code、Cursor 补装内置的五个原子 Skill:
```bash
npx skills add iswalle/getnote-cli -y -g
```

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

登录:
```bash
getnote auth login
```
会自动打开浏览器完成授权。也可以直接用 API Key(需同时传入 Client ID):
```bash
getnote auth login --api-key gk_live_xxx --client-id cli_xxx
```

开始用:
```bash
# 存一篇文章
getnote save https://example.com/article --tag 阅读

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

# 看最近的笔记
getnote notes
```

## 检查和升级

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

```bash
getnote doctor -o json
```

机器或 AI 应同时读取 `ready` 和 `status`:`ready=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`。

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

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

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

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

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

```bash
getnote update --cli-only
```

---

## 典型使用场景

**场景 1:边看边存**
```bash
# 存链接,自动抓取页面内容
getnote save https://simonwillison.net/2024/llms-reading-list/ --tag ai

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

**场景 2:搜索笔记**
```bash
# 全局搜索
getnote search "LLM 推荐阅读"

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

**场景 3:管理知识库**
```bash
# 列出默认知识库;特殊类型使用 --scope
getnote kbs
getnote kbs --scope BOOKSPACE

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

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

**场景 4:脚本批处理**
```bash
# 导出所有笔记为 JSON
getnote notes --all -o json > all-notes.json

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

---

## AI Agent 使用

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

```bash
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 可以直接用自然语言操作笔记:

```bash
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
```

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

```bash
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`:

```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_id`、`parent_note_id`、`children_ids`、`cursor` 等雪花 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+。

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

---

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

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

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

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

---

## 相关链接

- [得到大脑(Get笔记)官网](https://biji.com)
- [开放平台文档](https://www.biji.com/openapi)
- [问题反馈](https://github.com/iswalle/getnote-cli/issues)

## License

[MIT](https://opensource.org/licenses/MIT)

More