得到大脑笔记
通过官方 getnote CLI 完成真实操作。不要自己拼 OpenAPI 请求、ID 或笔记链接;机器调用优先使用 -o json,以退出码和下述结果契约判断结果。
统一结果判定
所有 API 命令的 JSON 结果先看下面这层结构,再读取每条命令规定的 data 字段:
失败结果为 success=false 或命令退出码非 0,读取 error.code、error.message、error.reason、error.retryable 和可选 request_id。HTTP 成功、上传完成、出现任务 ID 或拿到空笔记链接,都不能替代最终成功结果。
意图路由
不确定参数时先运行目标命令 --help。
保存流程
文字与长文
- 保留用户原意,不擅自扩写;未指定时不添加知识库、父笔记、标签或公开分享。
- 短文本可作为参数传入。长文本、Markdown、含复杂引号或换行的内容必须使用
--content-file或--stdin,避免截断和转义损坏。 - 重试同一次创建时复用同一个
--idempotency-key。 - 只有命令退出码为 0,且最终结构中存在非空字符串
data.note.note_id、data.note.title、data.note.note_url,才回复保存成功。
链接
- 以
http://或https://开头且用户表达保存意图时按链接保存,不当作普通文字。 - CLI 会轮询异步任务。处理中可以告诉用户“正在抓取并生成笔记”,但不能提前给出成功结论。
- 最终成功必须满足文字保存的三项字段,并且
data.note已能读取;不要自行拼接链接。
图片
- 使用本轮用户明确给出的本地图片路径,不把文件名保存成文字,也不带上历史图片。
- CLI 会校验真实文件格式、上传图片并轮询识别任务。
- 只有最终笔记详情返回有效
note_id/title/note_url才算成功;“图片已上传”不是“笔记已生成”。
异步超时与安全重试
getnote save ... -o json正常会等待最终结果;若退出码非 0 且输出含task_id、status=pending|processing,操作结果仍不确定。- 结果不确定时使用
getnote task <task_id> -o json查询原任务。done|success且有有效note_id后再读取笔记;failed时展示error_msg或msg。 - 超时、断流或网络错误后禁止直接再次保存;先查询原任务或最近笔记。只有 CLI/API 明确
retryable=true且已确认原操作没有成功时才重试。
查询和深层读取
- “最近、列表、有哪些”使用
getnote notes;“找、搜、关于某主题”交给搜索 Skill。 - 用户给出 ID 时直接读取详情;雪花 ID 全程按字符串原样传递。“这条笔记”只复用当前会话中已经由 CLI 返回并验证过的字符串 ID。当前 CLI 若不能直接接收某种私有链接,就先请用户提供 ID,不能自行截取、猜测或转成数字。
- 列表先展示标题、字符串 ID 和真实
note_url,用户选择后再读取全文。 - 不确定笔记类型时先读
getnote note <id> -o json:- 链接/文字原文:
original; - 录音、会议、课堂逐字稿:
transcript; - 图片、音频、文件:
attachments; - 章节时间点与会议过程:
chapters,读取chapter_timeline.items,保留规则解析来源source;录音 moments 使用timeline,两者不是同一份数据; - 用户现场快捷记录:
quick-note; - 会议待办:
todos,必须保留source,不得把规则解析结果说成上游原生待办。
- 链接/文字原文:
- 不拿
content中的 AI 摘要冒充原文。 - 标记从
getnote marks的data.marks[]读取,不使用 Timeline 的条数或内容替代。发芽从getnote sprouts列出报告,再用getnote sprout读取正文;has_sprout=false如实表示没有可读报告,不把标记或笔记总结当作发芽。
修改、删除和分享
- 先读取目标笔记和当前版本,确认用户指向的对象。
- 追加或前置内容必须使用 CLI 当前帮助中对应的增量语义,不用覆盖模拟追加。
- 覆盖正文、替换全部标签、删除和公开分享必须先确认;确认后才使用
--yes。 - 分享录音类笔记时,确认话术必须说明公开链接是否包含音频;用户不希望公开音频时使用 CLI 帮助中的
--exclude-audio。不能替用户默认决定音频公开范围。 - 用户未要求公开时只返回私有
note_url,不自动生成分享链接。
每条命令的结果与回复格式
API 失败时回复失败步骤、error.message/reason、是否可重试和 request_id;不能把 HTTP 200 当业务成功。
群聊或共享会话中只先展示必要标题和链接,不主动展开私密全文。

