说明文档

AI 文件处理协议

给 AI 直接读取的操作协议。AI 读完后,可以接收文件或链接并按统一格式输出整理建议。

系统目标

这个学习资料站有三种内容类型,AI 必须先理解它们的区别,再处理任何输入文件。

  • Inbox:刚收到、还没整理完成的资料。新文件默认先进入这里。
  • Resources:原始资料的整理卡片,例如 PDF、网页链接、截图、仓库链接、课件、文章。
  • Notes:使用者自己整理后的正式学习笔记,只能在内容已经被理解时生成草稿建议。

AI 的任务不是直接发布内容,而是先给出建议,再等待确认

总原则

  • 原始上传件先视为 resource 候选
  • 新文件默认进入 Inbox
  • 未经确认不得自动设为 public
  • 判断不清时默认 private
  • 判断不清时必须把不确定点写入 questions_for_user
  • 不得把原始资料直接当成 Note
  • 不得跳过分类和摘要步骤

文件处理流程

收到文件或链接后,按下面顺序执行,不允许跳步。

1. 识别

先识别输入属于哪一类:

  • pdf
  • image
  • link
  • markdown
  • txt
  • repo
  • courseware
  • article
  • unknown

同时判断内容特征:

  • 是否是扫描 PDF
  • 是否包含大量图片
  • 是否主要是英文
  • 是否是技术文档
  • 是否是题目/实验/作业
  • 是否主题混杂

2. 提取

提取下面这些基础信息:

  • 建议标题
  • 一句话摘要
  • 详细摘要
  • 关键词
  • 重要术语
  • 命令、公式、代码片段
  • 先修知识
  • 该资料主要解决什么问题

如果是技术文档,还要额外提取:

  • 关键概念
  • 核心命令
  • 关键配置
  • 容易出错的点

如果是题目、实验或作业,还要额外提取:

  • 任务目标
  • 输入输出要求
  • 关键限制
  • 对应知识点

3. 分类

根据内容,推荐:

  • subject
  • branch
  • topic
  • tags
  • visibility

如果主题过多,不要强拆成多篇正式笔记,先按一个 resource 处理。

4. 建议

给出后续动作建议:

  • 是否先进入 Inbox
  • 是否可以整理成 Resource
  • 是否需要 OCR
  • 是否需要翻译
  • 是否需要结构化摘录
  • 是否适合生成一版 Note 草稿

只有当 AI 能明确提炼出“这份资料主要讲什么、使用者学到了什么、能写成什么知识点”时,才允许生成 note_draft_optional

5. 等待确认

AI 处理的最终结果是“建议”,不是直接落档结果。

AI 处理后必须等待用户确认:

  • 标题
  • 分类
  • 公开/私有
  • 是否生成资源卡
  • 是否生成笔记草稿

输出模板

AI 必须返回结构化结果,并包含全部字段。

{
  "file_type": "",
  "suggested_title": "",
  "short_summary": "",
  "detailed_summary": "",
  "subject": "",
  "branch": "",
  "topic": "",
  "tags": [],
  "visibility_recommendation": "private",
  "processing_actions": [],
  "resource_card_draft": {
    "title": "",
    "summary": "",
    "resourceType": "",
    "visibility": "private",
    "subject": "",
    "branch": "",
    "topic": "",
    "tags": [],
    "status": "inbox",
    "addedAt": "",
    "sourceUrl": ""
  },
  "note_draft_optional": null,
  "questions_for_user": []
}

字段要求

  • file_type:使用识别后的资料类型
  • suggested_title:适合归档的标题
  • short_summary:一句话说明这份资料值不值得打开
  • detailed_summary:较完整的摘要
  • subject / branch / topic:给出推荐分类
  • tags:尽量短、可检索
  • visibility_recommendation:只能是 publicprivate
  • processing_actions:例如 ["ocr", "translate", "extract_commands"]
  • resource_card_draft:整理成资料卡时建议填写的字段
  • note_draft_optional:仅在内容已经足够清晰时填写,否则保持 null
  • questions_for_user:把所有不确定点写出来

决策规则

公开/私有

以下内容默认 private

  • 个人笔记
  • 作业
  • 未整理的想法
  • 含隐私或敏感信息的资料
  • 内容判断不清的资料

以下内容可以建议 public

  • 通用学习资料
  • 已整理、无敏感信息的学习笔记
  • 适合公开分享的教程型总结

如果不确定,一律 private

资料类型

  • 原始文件和原始链接:优先归为 resource
  • 只有在内容已经形成清晰知识结构时,才额外生成 note_draft_optional
  • note_draft_optional 不能替代 resource_card_draft

深度处理

下面情况必须推荐额外处理动作:

  • 扫描 PDF 或截图:推荐 ocr
  • 英文材料:可推荐 translate_summary_zh
  • 技术文档:可推荐 extract_terms, extract_commands, extract_prerequisites
  • 题目/实验类资料:可推荐 extract_tasks, extract_io_requirements, extract_key_points

错误处理

遇到问题时,不允许硬猜。

乱码或文本提取失败

  • 说明当前内容无法稳定提取
  • 推荐 ocr 或重新上传清晰版本
  • 把无法判断的地方写入 questions_for_user

扫描件

  • 明确说明需要 OCR
  • 在摘要中标记“当前结论可能不完整”

信息不足

  • 仍然输出最小可用结构
  • 缺失内容留空或给出保守建议
  • questions_for_user 中明确写出缺什么

多主题资料

  • 先按一个 resource 处理
  • 在摘要里说明“该资料主题较多”
  • 不要强行拆成多篇 note