Skip to content

[Feature Request] 建议增强原文读取、字段语义说明和 AI Agent 批量调用体验 #7

@Sqiaow

Description

@Sqiaow

你好,我是 Get笔记 CLI 的真实用户,最近在用 Codex / AI Agent 通过 Get笔记 CLI 读取和整理自己的笔记、录音卡、知识库内容。整体感觉这个 CLI 对 AI Agent 场景很有价值,尤其是 API Key 登录、JSON 输出、搜索、知识库读取这些能力。

在实际测试中,我遇到了一些和“原文读取 / AI 总结 / 批量读取 / Agent 稳定调用”相关的问题,想反馈给官方,供后续迭代参考。

使用环境

  • 系统:Windows
  • CLI 版本:v1.1.8
  • 使用方式:通过 getnote auth login --api-key ... --client-id ... 持久化登录
  • 使用场景:让 AI Agent 通过 CLI 搜索、读取、总结、整理 Get笔记中的笔记、录音卡、知识库内容

1. 建议增强“原文”读取能力,尤其是录音类笔记

目前测试中,录音类笔记通过:

getnote note <note_id> -o json

可以拿到 contentattachments,但 content 更像是 AI 智能总结,attachments 是音频文件信息。

但在实际 Agent 场景里,用户经常会明确要求:

不要读 AI 总结,要读音频转文字后的原文。

目前 CLI 输出中似乎没有稳定暴露录音转写原文字段。我们通过底层接口测试发现,部分录音笔记中存在类似:

audio.original

这样的字段,里面是完整转写原文。

建议:

  1. getnote note <note_id> -o json 中暴露 audio.original,或提供等价字段。
  2. 增加一个统一的原文读取命令,例如:
getnote note <note_id> --field original

或:

getnote note <note_id> --original
  1. 对不同类型笔记统一返回:
    • original
    • original_source
    • original_length
    • summary
    • summary_source

这样 AI Agent 可以明确区分“原文”和“总结”。

2. 建议在文档中明确区分 content、web_content、post_media_text、audio.original

目前 README 中有示例:

getnote note 1234567890 --field content

这容易让用户或 Agent 误以为 content 一定是正文。

但实测中,不同内容类型的字段语义可能不同:

内容类型 原文可能字段 总结字段
普通文字笔记 content content
链接/网页笔记 web_content content
录音笔记 audio.original content
知识库直播/文章 post_media_text post_summary

建议在 README 或 docs 中增加“字段语义说明表”,明确告诉用户和 Agent:

  • content 不一定是原文;
  • 用户要求“原文”时,应优先读取哪个字段;
  • 如果原文字段不存在,应如何处理。

3. 建议增加 inspect / metadata-only 这类 Agent 友好命令

在 AI Agent 场景下,直接读取完整正文可能会非常长,容易浪费上下文,也可能误读 AI 总结。

建议增加类似:

getnote note <note_id> --inspect

或:

getnote note <note_id> --metadata-only

返回:

{
  "note_id": "...",
  "title": "...",
  "note_type": "...",
  "has_original": true,
  "original_source": "audio.original",
  "original_length": 23854,
  "has_summary": true,
  "summary_length": 5315,
  "has_audio_attachment": true
}

这样 Agent 可以先判断字段可用性,再决定是否读取完整内容。

4. 建议优化知识库批量读取体验

测试知识库内容时,发现列表接口可能会返回较长的 content,而这些内容很多时候是 AI 总结,不适合作为 Agent 的第一步输入。

建议知识库列表命令支持:

getnote kb <topic_id> --metadata-only
getnote kb <topic_id> --preview 200
getnote kb <topic_id> --no-content

这样可以先列出标题、类型、ID、时间、标签,再由 Agent 按需读取详情。

另外建议确保:

  • --limit 严格生效;
  • 返回中明确包含 counttotalhas_morenext_cursor 或 offset 信息;
  • 文档中说明分页机制。

5. 建议提供批量读取的限速 / 重试机制说明

在 Agent 批量读取多个笔记详情时,如果请求过快,可能会触发限流。

建议:

  1. 文档中说明推荐 QPS 或限速策略。
  2. CLI 支持自动 retry/backoff。
  3. 批量命令支持参数,例如:
getnote kb <topic_id> --all --delay-ms 1200

或在遇到 429 时自动等待并重试。

6. Windows 安装体验建议

我在 Windows 上安装官方 CLI 时,遇到过 Expand-Archive 相关问题,最后通过 npm ignore scripts + 手动放置 Windows 二进制解决。

建议:

  1. README 中补充 Windows 常见安装问题排查。
  2. postinstall 遇到 Expand-Archive 不可用时,提供 fallback。
  3. 或明确推荐 Windows 用户直接下载 Release 中的 exe。

7. README 与 help 命令建议保持一致

测试中注意到 README 中提到过一些命令,但本地 getnote --help / getnote kb --help 中不一定都能看到。

建议后续版本保持:

  • README 命令参考;
  • getnote --help
  • getnote <subcommand> --help

三者一致,方便 AI Agent 根据帮助文档自动调用。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions