版本:0.0.3(规划稿) 更新:2026-09-11
历史边界说明:本文记录 0.0.3 的内容模型和实施计划。当前挑战叙事、认领码、
徽章与公开学习路线已经由 0.0.4 计划接续;网站当前固定到后续状态提交
920f790。本文中的
“Agent 授课”和未勾选 TODO 不代表当前状态。本文件按所有者决策以中文保留。
关联:flypython.com docs/product-and-growth-plan-0.0.3.md
状态:规划文档,不代表已实现。本计划遵守 AGENTS.md 的仓库边界:本仓库
负责已审核内容、可运行证据与稳定 JSON 契约;网站负责展示与转化。
所有新内容中英文同步产出。
网站规划把"agent 自授课课程"定为主产品线、新增 Project Radar 周报, 并把本仓库(4.1k star)作为顶层流量渠道。这需要仓库侧五项能力:
courses/内容类型:可被 agent 授课、带客观验证的文件夹。- 结构化的 Project Radar 数据源(每项目一 YAML,不再用 README 表)。
- 只产出候选、不生成描述的发现工具。
- 契约更新:content-manifest、catalog 导出、schema、llms 文件。
- 按
docs/REPO_TO_WEBSITE.md对 README/README_cn 做导流改造。
每门课一个文件夹,尽可能由现有 guides/playbooks/examples 装配:
courses/<slug>/
COURSE.md # 元信息 + 授课契约(agent 首先读取):
# 受众、前提、工具与版本、课程顺序、授课风格规则、
# 何时停止、如何使用 verify.py、本课不覆盖什么
lessons/
L01.md L01_cn.md # 目标、练习、检查点、预期证据
...
scenario/ # 场景皮数据文件(同一技能、贴近领域)
TASK.md # 任务契约(复用 templates/TASK_CONTRACT.md)
starter/ solution/ # 可运行的一对
verify.py # 客观通过/失败;尽量只用标准库
REVIEW.md # 维护者跟课记录:日期、工具、版本、授课漂移观察规则(将写入 AGENTS.md 编辑标准):
- agent 依据这些文件授课;不依赖网站、账户或视频。
verify.py是结业证据。 - 双语:每个英文 lesson 必须有同提交的
*_cn.md;双语齐备才算完成。 COURSE.md必须注明跟课所用的具体工具与版本(如 "Claude Code 2.x") 及reviewed_on;工具大版本发布触发复查。- REVIEW.md 人工跟课在可行时录屏:录像同时作为网站演示视频素材 (见网站规划 §4.5)。
- 不虚构成果、薪资或"保证学会"式承诺。
首批(装配而非新写):C1 Claude Code × Python 实战(旗舰,3 个场景皮: Excel/报表自动化、数据监控、API 小工具);C2 Codex CLI;C3 AGENTS.md 一份事实源;C4 AI 生成代码的验证与交付;C5 用 MCP 给 agent 接工具。 见网站规划 §2.2。
把 catalog/projects/README.md 的表格改为每项目一 YAML(与
catalog/resources/ 同一套创作模型):
id: marimo
repo: marimo-team/marimo
url: https://github.com/marimo-team/marimo
category: notebooks # 受控列表,有意扩展
status: rising # new|rising|stable|major-update|experimental|archived
first_seen: 2026-09-02
reviewed_on: 2026-09-02
license: Apache-2.0
evidence:
last_release: "…"
release_cadence: "…"
maintenance: "…"
ai_familiarity: low # low|medium|high:主流模型训练数据是否覆盖
# (AI 时代的差异化字段)
alternatives: [jupyter, quarto]
when_not_to_use: "…"
rationale: "…" # 人工撰写,遵守策展政策
risk: "…"tools/render_readmes.py从 YAML 重新生成 Radar 表(沿用 catalog 索引的 生成块约定)。- 新增确定性导出
radar.json+schema/radar-v1.schema.json,不扩catalog-v1(它已被消费方固定)。同样按版本管理;网站消费方固定完整 commit。 - 迁移现有 7 条作为种子集。
- 输入:GitHub Search API(近 30 天
language:Pythonstar 增速)、 catalog 内项目的 PyPI 发布、HN/r/Python 高票帖。 - 输出:
catalog/projects/candidates.json——repo 地址、star、最近发布、 license、首次发现日期。不写描述、不定状态。 理由/风险/状态由人工 撰写与选择,遵守AGENTS.md与CURATION_POLICY.md。 - 只读、限速、不触达私有端点(与
check_links.py同一约束)。
schema/content-manifest-v1.schema.json:type增加"course"(schema 变更须与 manifest 重新生成、网站 pin 更新在同一次刻意操作中完成)。tools/build_content_manifest.py:像 guides/playbooks 一样遍历courses/;每个语言文件各算 sha256。- 新增
tools/verify_courses.py(对照verify_examples.py):检查文件夹 契约——COURSE.md 存在、EN/CN lesson 成对、verify.py 对 starter 预期失败、 对 solution 预期通过。 llms.txt/llms-full.txt:增加 courses 与 radar 区块,深链到课程 文件夹与radar.json。docs/CURATION_POLICY.md:scope 扩展至课程与 radar 条目;写清ai_familiarity分级规则。.github/ISSUE_TEMPLATE/:新增course-feedback.yml(报告授课漂移/ 课节不清/verify 不符),与 project-proposal 并列。- GitHub 维护项:仓库描述与 topics 加关键词;发布第一个带版本号的 Release(让 watcher 收到通知,配合网站内容节奏)。
- README/README_cn 顶部横幅 →
https://flypython.com/from-github(只有该路由上线并验证后才切换;之前链根域,遵守该文档自己的规则)。 - 每个 guide/playbook/example 文末一条情境化链接到对应站内页——延续当前 任务,不做通用横幅。
- 仓库描述按新定位改写("AI writes Python; we make it verifiable and deliverable",最终措辞实施时定)。
courses/规范 +verify_courses.py+ C1 文件夹(EN+CN)→ manifest/ schema 更新同一次完成。- Radar YAML 迁移 +
radar.json导出 + schema + README 渲染。 radar_scan.py+ 第一批候选。- llms 文件、策展政策、issue 模板、仓库描述/topics。
/from-github线上验证后做 README 导流改造。- 首个课程落地时开始 Releases/tagging 节奏。
- FP-325
courses/规范写入AGENTS.md;COURSE.md 授课契约经评审。 - FP-326 C1 课程文件夹完成(3 个场景皮、verify.py 双向、EN+CN、 真实跟课的 REVIEW.md)。
- FP-327 manifest
type: "course"+ schema +build_content_manifest.py遍历;网站 pin 更新同一次刻意完成(FP-224 规则)。 - FP-328
verify_courses.py进入验证工作流与 Makefile。 - FP-329
catalog/projects/迁为 per-project YAML(迁移 7 条种子)+render_readmes.py重生成验证。 - FP-330
radar.json导出 +schema/radar-v1.schema.json+export_catalog.py扩展;--check全绿。 - FP-331
tools/radar_scan.py合入:限速与"不生成描述"有测试保证。 - FP-332 llms.txt / llms-full.txt 增加 courses+radar 区块;深链有效 (pin 更新后网站侧 llms-links 测试保持绿)。
- FP-333
CURATION_POLICY.mdscope +ai_familiarity分级规则;course-feedback.ymlissue 模板。 - FP-334 仓库描述/topics/关键词;第一个 GitHub Release。
- FP-335 README/README_cn 横幅 + 各文档情境化文末链接,以线上
/from-github验证为前置。 - FP-344 双许可 LICENSE 就位(MIT 代码 / CC BY 4.0 内容,两仓库同)—— 课程文件夹分发与 FP-326 的前置。
- FP-350 校验器与 schema 追上政策:
validate_catalog.py与catalog-v1/radar-v1支持 Radar 生命周期状态与ai_familiarity; manifest schema 增加type: "course";首个 Release(FP-334)时把 CHANGELOG[Unreleased]切入0.1.0段。
- 本仓库仍是内容/证据源:不做网站功能、不放付费内容、不接分析、 密钥不入库。
- 课程质量风险:agent 会偏离 COURSE.md——用 verify.py + 有记录的人工 跟课(REVIEW.md)兜底,不用承诺兜底。
- Radar 产能风险:候选很便宜,审核条目很贵——人工审核是有意保留的 瓶颈,不能省。
- Pin 纪律:每次 schema/manifest 变更都搭配一次刻意的网站 pin 更新; 永不依赖移动分支。