Get笔记

Get笔记 - 个人笔记和知识库管理工具。 当用户提到以下意图时使用此技能: 「记一下」「存到笔记」「保存到Get笔记」「记录到Get笔记」 「保存这个链接」「保存这张图」「查我的笔记」「找一下笔记」 「加标签」「删标签」「删笔记」 「查知识库」「建知识库」「把笔记加到知识库」「从知识库移除」 「知识库里订阅了哪些博主」「博主发了什么内容」「直播总结」「直播原文」 支持:纯文本笔记、链接笔记(自动抓取网页内容并生成摘要)、图片笔记(OCR识别)、知识库管理(含博主订阅列表、直播总结)。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Get笔记" with this command: npx skills add iswalle/getnote

Get笔记 API

⚠️ 必读约束

🌐 Base URL(重要!所有 API 共用)

https://openapi.biji.com

所有 API 请求必须使用此 Base URL,不要使用 biji.com 或其他地址。


🔑 首次安装配置

~/.openclaw/openclaw.json 中添加:

{
  "skills": {
    "entries": {
      "getnote": {
        "apiKey": "gk_live_你的key",
        "env": {
          "GETNOTE_CLIENT_ID": "cli_你的id",
          "GETNOTE_OWNER_ID": "ou_你的飞书ID(可选,用于权限控制)"
        }
      }
    }
  }
}

获取凭证:前往 Get笔记开放平台 创建应用获取。


🔒 安全规则

  • 笔记数据属于用户隐私,不在群聊中主动展示笔记内容
  • 若配置了 GETNOTE_OWNER_ID,检查 sender_id 是否匹配;不匹配时回复「抱歉,笔记是私密的,我无法操作」;未配置则不检查
  • API 返回 error.reason: "not_member" 或错误码 10201 时,引导开通会员:https://www.biji.com/checkout?product_alias=6AydVpYeKl
  • 创建笔记建议间隔 1 分钟以上,避免触发限流

认证

请求头:

  • Authorization: $GETNOTE_API_KEY(格式:gk_live_xxx
  • X-Client-ID: $GETNOTE_CLIENT_ID(格式:cli_xxx

Scope 权限

Scope说明
note.content.read笔记列表、内容读取
note.content.write文字/链接/图片笔记写入
note.tag.write添加、删除笔记标签
note.content.trash笔记移入回收站
topic.read知识库列表
topic.write创建知识库
note.topic.read笔记所属知识库查询
note.topic.write笔记加入/移出知识库
note.image.upload获取上传图片签名
topic.blogger.read读取知识库订阅博主列表和博主内容
topic.live.read读取知识库已完成直播列表和直播详情

快速决策

Base URL: https://openapi.biji.com

用户意图接口关键点
「记一下」「保存笔记」POST /open/api/v1/resource/note/save同步返回
「保存这个链接」POST /open/api/v1/resource/note/savenote_type:"link" → 必须轮询
「保存这张图」见「图片笔记流程」4 步流程,必须轮询
「查我的笔记」GET /open/api/v1/resource/note/listsince_id=0 起始
「看原文/转写内容」GET /open/api/v1/resource/note/detailaudio.original / web_page.content
「加标签」POST /open/api/v1/resource/note/tags/add
「删标签」POST /open/api/v1/resource/note/tags/deletesystem 类型不可删
「删笔记」POST /open/api/v1/resource/note/delete移入回收站
「查知识库」GET /open/api/v1/resource/knowledge/list含统计数据(笔记数、文件数、博主数、直播数)
「建知识库」POST /open/api/v1/resource/knowledge/create每天限 50 个
「笔记加入知识库」POST /open/api/v1/resource/knowledge/note/batch-add每批最多 20 条
「从知识库移除」POST /open/api/v1/resource/knowledge/note/remove
「查任务进度」POST /open/api/v1/resource/note/task/progress链接/图片笔记轮询用
「订阅了哪些博主」GET /open/api/v1/resource/knowledge/bloggers按 topic_id 查
「博主发了什么内容」GET /open/api/v1/resource/knowledge/blogger/contents需要 follow_id,列表只含摘要
「博主内容原文/详情」GET /open/api/v1/resource/knowledge/blogger/content/detail需要 post_id,含原文
「有哪些已完成直播」GET /open/api/v1/resource/knowledge/lives按 topic_id 查
「直播总结/直播原文」GET /open/api/v1/resource/knowledge/live/detail需要 live_id

核心功能:记笔记 & 查笔记

笔记列表

GET /open/api/v1/resource/note/list?since_id=0

参数:

  • since_id (int64, 必填) - 游标,首次传 0,后续用 next_cursor

返回:notes[], has_more, next_cursor, total(每次固定 20 条)

⚠️ 响应 JSON 可能包含未转义的控制字符(笔记 content 中的原始换行符),建议用支持容错解析的 JSON 库处理,或在解析前对 content 字段做预处理。

笔记类型 note_type

  • plain_text - 纯文本
  • img_text - 图片笔记
  • link - 链接笔记
  • audio - 即时录音
  • meeting - 会议录音
  • local_audio - 本地音频
  • internal_record - 内录音频
  • class_audio - 课堂录音
  • recorder_audio - 录音卡长录
  • recorder_flash_audio - 录音卡闪念

笔记详情

GET /open/api/v1/resource/note/detail?id={note_id}

参数:id (int64, 必填) - 笔记 ID

详情独有字段(列表不返回):audio.originalaudio.play_urlaudio.durationweb_page.contentweb_page.urlweb_page.excerptattachments[]。详见 references/api-details.md


新建笔记

POST /open/api/v1/resource/note/save
Content-Type: application/json

仅支持新建,不支持编辑

请求体:

{
  "title": "笔记标题",
  "content": "Markdown 内容",
  "note_type": "plain_text",
  "tags": ["标签1", "标签2"],
  "parent_id": 0,
  "link_url": "https://...",
  "image_urls": ["https://..."]
}
  • plain_text:同步返回,立即完成
  • link / img_text:返回 task_id,必须轮询 /task/progress

详细字段说明见 references/api-details.md


查询任务进度

POST /open/api/v1/resource/note/task/progress
Content-Type: application/json

请求体:

{"task_id": "task_abc123xyz"}

返回:

  • status: pending | processing | success | failed
  • note_id: 成功时返回笔记 ID
  • error_msg: 失败时返回错误信息

⚠️ note_id 是 64 位整数,在 JavaScript 中直接用 JSON.parse 会丢失精度。建议在服务端语言(Python、Go 等)中处理,或使用支持大整数的 JSON 库。

建议 10-30 秒间隔轮询,直到 success 或 failed


删除笔记

POST /open/api/v1/resource/note/delete
Content-Type: application/json

请求体:

{"note_id": 123456789}

笔记移入回收站,需要 note.content.trash scope。


异步任务流程

⚠️ 必须遵循的体验流程:链接笔记和图片笔记是异步生成的,必须按以下方式与用户沟通。

链接笔记完整流程

步骤 1:提交任务

POST /open/api/v1/resource/note/save {note_type:"link", link_url:"https://..."}

返回 task_id 后,立即发消息给用户

✅ 链接已保存,正在抓取原文和生成总结,稍后告诉你结果...

⚠️ 重复链接处理:若响应中包含 duplicate_count > 0 且没有 task_id,说明该链接已存在于你的笔记中,无需轮询,直接告知用户「该链接已存在于你的笔记中」。

步骤 2:后台轮询(10-30 秒间隔)

POST /open/api/v1/resource/note/task/progress {task_id} → 直到 status=success/failed

步骤 3:任务完成后,调详情接口展示价值

GET /open/api/v1/resource/note/detail?id={note_id}

然后发第二条消息,包含具体内容:

✅ 笔记生成完成!

  • 📄 原文:已保存 {web_page.content 字数} 字
  • 📝 总结:{content 内容,即 AI 生成的摘要}
  • 🔗 来源:{web_page.url}

图片笔记完整流程

步骤 1-3:获取凭证 → 上传 OSS → 提交任务

1. GET /open/api/v1/resource/image/upload_token?mime_type=jpg → 获取上传凭证
2. POST {host} 上传文件到 OSS
3. POST /open/api/v1/resource/note/save {note_type:"img_text", image_urls:[access_url]} → 返回 task_id

拿到 task_id 后,立即发消息给用户

✅ 图片已保存,正在识别内容,稍后告诉你结果...

步骤 4:后台轮询

POST /open/api/v1/resource/note/task/progress {task_id} → 直到 status=success/failed

步骤 5:任务完成后,调详情接口展示价值

GET /open/api/v1/resource/note/detail?id={note_id}

然后发第二条消息:

✅ 图片笔记生成完成!

  • 📝 识别内容:{content 内容}
  • 🏷️ 标签:{tags}

图片上传凭证

GET /open/api/v1/resource/image/upload_token?mime_type=jpg&count=1

参数:

  • mime_type: jpg | png | gif | webp,默认 png
  • count: 需要的 token 数量,默认 1,最大 9

⚠️ mime_type 必须与实际文件格式一致,否则 OSS 签名失败。

返回字段说明见 references/api-details.md

OSS 上传示例

⚠️ 字段顺序必须严格遵守,否则 OSS 签名验证失败。正确顺序:key → OSSAccessKeyId → policy → signature → callback → Content-Type → file

curl -X POST "$host" \
  -F "key=$object_key" \
  -F "OSSAccessKeyId=$accessid" \
  -F "policy=$policy" \
  -F "signature=$signature" \
  -F "callback=$callback" \
  -F "Content-Type=$oss_content_type" \
  -F "file=@/path/to/image.jpg"

笔记整理

添加标签

POST /open/api/v1/resource/note/tags/add
Content-Type: application/json

请求体:

{
  "note_id": 123456789,
  "tags": ["工作", "重要"]
}

标签类型 type

  • ai - AI 自动生成
  • manual - 用户手动添加
  • system - 系统标签(不可删除

删除标签

POST /open/api/v1/resource/note/tags/delete
Content-Type: application/json

请求体:

{
  "note_id": 123456789,
  "tag_id": "123"
}

⚠️ system 类型标签不允许删除。


知识库列表

GET /open/api/v1/resource/knowledge/list?page=1

参数:

  • page: 页码,从 1 开始,默认 1(固定每页 20 条)

返回:topics[], has_more, total

每个 topic 包含:

  • topic_id / topic_id_alias:知识库 ID
  • namedescriptioncover
  • created_at / updated_at:时间字符串(YYYY-MM-DD HH:MM:SS)
  • stats:统计数据
    • note_count:笔记数
    • file_count:文件数
    • blogger_count:订阅博主数
    • live_count:已完成直播数

创建知识库

POST /open/api/v1/resource/knowledge/create
Content-Type: application/json

请求体:

{
  "name": "知识库名称",
  "description": "描述",
  "cover": ""
}

⚠️ 每天最多创建 50 个知识库(北京时间 00:00 重置)。


知识库笔记列表

GET /open/api/v1/resource/knowledge/notes?topic_id=abc123&page=1

参数:

  • topic_id (string, 必填) - 知识库 ID(alias id)
  • page: 页码,从 1 开始

每页固定 20 条,用 has_more 判断是否有下一页。


知识库选择逻辑

当用户说「存到对应的知识库」或「存到相关知识库」时:

  1. 先调用 GET /knowledge/list 获取所有知识库列表
  2. 根据笔记标题、内容、标签,与知识库名称和描述做模糊匹配
  3. 匹配置信度高时直接执行,并告知用户存入了哪个知识库
  4. 置信度低或有歧义时,列出候选知识库让用户选择
  5. 用户未提及知识库时,不要擅自存入任何知识库

添加笔记到知识库

POST /open/api/v1/resource/knowledge/note/batch-add
Content-Type: application/json

请求体:

{
  "topic_id": "abc123",
  "note_ids": [123456789, 123456790]
}

⚠️ 每批最多 20 条。已存在的笔记会跳过。


从知识库移除笔记

POST /open/api/v1/resource/knowledge/note/remove
Content-Type: application/json

请求体:

{
  "topic_id": "abc123",
  "note_ids": [123456789]
}

知识库:博主订阅

博主列表

GET /open/api/v1/resource/knowledge/bloggers?topic_id={alias_id}&page=1

参数:

  • topic_id (string, 必填) - 知识库 AliasID(来自 /knowledge/list 的 topic_id_alias)
  • page: 页码,从 1 开始

每页固定 20 条,用 has_more 判断。

返回 bloggers[],每项字段:

字段说明
follow_id订阅关系 ID,查博主内容时必用
account_name博主名称
account_icon博主头像
platform平台(如 DEDAO)
account_url博主主页链接
follow_time订阅时间(YYYY-MM-DD HH:MM:SS)

博主内容列表

GET /open/api/v1/resource/knowledge/blogger/contents?topic_id={alias_id}&follow_id={follow_id}&page=1

参数:

  • topic_id (string, 必填) - 知识库 AliasID
  • follow_id (int64, 必填) - 博主订阅 ID(来自 /bloggers 的 follow_id)
  • page: 页码,从 1 开始

每页固定 20 条,用 has_more 判断。

返回 contents[],每项字段:

字段说明
post_id_alias内容 ID,查详情/原文时必用
post_name内容名称(原标题)
post_type类型:video / audio / article / live
post_cover封面图
post_titleAI 生成标题
post_summaryAI 摘要(Markdown)
post_url原文链接
post_icon博主头像
post_subtitle副标题
post_create_time创建时间(YYYY-MM-DD HH:MM:SS)
post_publish_time发布时间(YYYY-MM-DD HH:MM:SS)

列表不含原文(post_media_text),需要原文请调 /blogger/content/detail


博主内容详情(含原文)

GET /open/api/v1/resource/knowledge/blogger/content/detail?topic_id={alias_id}&post_id={post_id_alias}

参数:

  • topic_id (string, 必填) - 知识库 AliasID
  • post_id (string, 必填) - 内容 ID(来自 /blogger/contents 的 post_id_alias)

返回字段:

字段说明
post_id_alias内容 ID
post_name内容名称(原标题)
post_type类型:video / audio / article / live
post_cover封面图
post_subtitle副标题
post_url原文链接
post_titleAI 生成标题
post_summaryAI 摘要(Markdown)
post_media_text原文内容(全文转写/文章正文)
post_create_time创建时间(YYYY-MM-DD HH:MM:SS)
post_publish_time发布时间(YYYY-MM-DD HH:MM:SS)

知识库:直播订阅

已完成直播列表

GET /open/api/v1/resource/knowledge/lives?topic_id={alias_id}&page=1

参数:

  • topic_id (string, 必填) - 知识库 AliasID
  • page: 页码,从 1 开始

每页固定 20 条,用 has_more 判断。只返回已结束且 AI 已处理完的直播。

返回 lives[],每项字段:

字段说明
live_id直播 ID,查直播详情时必用
follow_id订阅关系 ID
name直播名称
cover封面图
sub_title副标题
link直播链接
platform平台(如 DEDAO)
status直播状态(已结束为 FINISHED)
follow_time订阅时间(YYYY-MM-DD HH:MM:SS)

直播详情(总结 + 原文)

GET /open/api/v1/resource/knowledge/live/detail?topic_id={alias_id}&live_id={live_id}

参数:

  • topic_id (string, 必填) - 知识库 AliasID
  • live_id (int64, 必填) - 直播 ID(来自 /lives 的 live_id)

返回字段:

字段说明
post_id_alias内容 ID
post_name直播名称(原标题)
post_cover封面图
post_subtitle副标题(如开播时间)
post_url直播原始链接
post_titleAI 生成标题
post_summaryAI 摘要(Markdown,含章节纪要、金句)
post_media_text直播原文转写文本
post_create_time创建时间(YYYY-MM-DD HH:MM:SS)
post_publish_time直播时间(YYYY-MM-DD HH:MM:SS)

错误处理

详细错误码和限流结构见 references/api-details.md

响应结构

{
  "success": false,
  "error": {
    "code": 10001,
    "message": "unauthorized",
    "reason": "not_member"
  },
  "request_id": "xxx"
}

常见错误码

错误码说明处理方式
10001鉴权失败检查 API Key 和 Client ID
10201非会员引导开通:https://www.biji.com/checkout?product_alias=6AydVpYeKl
20001笔记不存在确认笔记 ID 正确
42900限流降低频率,查看 rate_limit 字段
50000系统错误稍后重试

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

yuqing-bitable-and-label

Incrementally sync data from XiaoAi API to Feishu Bitable and optionally auto-label records with machine-based type and sentiment annotations.

Registry SourceRecently Updated
General

张律师综合套装

张律师法律AI中台 - 中国首个开源法律AI技能库,涵盖刑事辩护、民商事诉讼、合同审查全流程

Registry SourceRecently Updated
General

刑事辩护

刑事辩护全流程AI助手 - 6大阶段21个模板,从接案到执行全覆盖

Registry SourceRecently Updated