Files
ClassIsland Prompt Kit 22c1784bab feat: ClassIsland / ClassHelper 灵动岛提示词套件
- 重构版主提示词(14 parts,面向 ClassHelper 灵动岛重构)
- ClassIsland 全量规格提示词(20 parts,含分卷与逐章版本)
- 投喂指南、分卷、逐节文件
- 调研记录、一致性基线、生成与质检脚本
2026-11-12 21:59:58 +08:00

8.7 KiB
Raw Permalink Blame History

投喂指南(重构版):把提示词交给 ChatGPT,重构 ClassHelper 灵动岛

本指南配合主提示词 ClassHelper灵动岛重构-给ChatGPT的完整提示词.md 使用。该文件是在 ClassHelper 现有仓库内做重构的任务书,不是「从零新建 ClassIsland」。全文约 26.8 万字符(去空白)、约 12.3 万 tokens。

一、投喂前必须做的准备

  1. 把 ClassHelper 仓库交给模型:至少提供 packages/desktop-client、packages/shared、packages/ui、docs/(在 ChatGPT 里上传仓库压缩包/快照,或使用支持仓库上下文的 IDE Agent)。提示词中的 packages/...:行号 需要模型能读到源码才能落实。
  2. 不需要提供 ClassIsland 仓库:提示词已把 ClassIsland 的行为、像素与动画基准写全;repos/ClassIsland/... 只是证据来源说明。
  3. 先约定工作方式:只读分析 → 文件级计划 → 迁移先行 → 分阶段实现 → 每阶段无头验证;避免模型直接大改 UI。
  4. 明确禁止:不要运行 Electron / pnpm dev / verify:desktop:visual / 截图 / 冒烟等会弹窗的操作;默认 verify:desktop 是后台无头检查;用户要求静默(见提示词第 0.2、11、12 部分)。

二、交付物

文件 内容 用途
../ClassHelper灵动岛重构-给ChatGPT的完整提示词.md 主提示词(14 个 part:00–13,含目录) 权威版本;长上下文一次投喂
vol1 ~ vol5 5 个分卷 适合 32k–128k 上下文模型分批投喂
refactor-sections/ 14 个独立 part 逐章投喂、或只补某一章
../analysis/、../parts-r/ 调研记录与源 part 人工核对证据,不投喂

三、各 part 体量

# 内容 文件 字符(去空白) 估算 tokens
00 使用说明 + 给 ChatGPT 的任务声明(总入口) 00-preamble.md 4349 2002
01 重构目标与范围(Keep/Change/Add/Remove、7 条裁决、成功标准) 01-objective.md 5548 3076
02 ClassHelper 灵动岛现状基线(文件级现状地图) 02-current-state.md 20803 9312
03 ClassIsland 灵动岛行为基准(行/组件/提醒/课程/隐藏/主题) 03-classisland-baseline.md 16807 8918
04 目标架构与文件级改造清单(38 项 + IPC v2 + 顺序) 04-file-plan.md 23457 10684
05 数据契约、schema v2 与配置迁移(islandLayout.version=2) 05-data-migration.md 23721 10904
06 设计 tokens 与视觉基线(双风格:classisland 默认 / winisland 兼容) 06-tokens.md 29545 11499
07 岛结构与组件规格(窗口/行/气泡/11+ 组件像素级) 07-island-components.md 43882 18197
08 消息、提醒、课程提醒、强提醒、天气与课件覆盖 08-messages-lessons.md 22437 10853
09 编辑器与设置页重构(IslandSettingsView / IslandEditorView) 09-editor-settings.md 37715 17118
10 动画与动效映射(现状基线 20 条 + 映射 84 条) 10-animations.md 23809 11186
11 兼容性、性能、平台与测试基线 11-compat-tests.md 5252 2897
12 验收清单(逐项可勾选) 12-acceptance.md 4132 2447
13 重构里程碑(M0–M7) 13-milestones.md 2994 1696

token 按「汉字 0.9、其他 0.3」粗算;实际以模型 tokenizer 为准。

四、三套投喂方案

方案 A:一次性投喂(上下文 ≥ 128k)

  • 适用:GPT-5 级长上下文 / Gemini 2.5 Pro / Claude 长上下文等。
  • 做法:粘贴主提示词全文,末尾追加:

    请只在 ClassHelper 现有仓库内重构灵动岛,不要新建项目、不要改服务端。先通读第 0–2 部分并复述现状、目标与 7 条裁决;然后输出文件级重构计划(Keep/Change/Add/Remove、迁移与回滚、M0–M7 拆分)。确认后再写代码。禁止运行 Electron/冒烟/截图等会弹出窗口的操作;所有验证必须无头。

  • 注意:长上下文也会「中间遗忘」,每个里程碑要求模型复述关键像素/动画值。

方案 B:五卷投喂(上下文 32k–128k)

  1. vol1(任务声明 + 目标 + 现状)→ 要求模型输出:现状理解、现状问题清单、不可破坏契约。
  2. vol2(ClassIsland 基准 + 文件级改造 + 数据迁移)→ 要求输出:文件级 diff 计划、schema v2 迁移算法、IPC 契约变更。
  3. vol3(tokens + 岛/组件像素规格)→ 要求输出:DOM/CSS 结构、组件逐个实现清单、像素验收表。
  4. vol4(消息/课程/强提醒 + 编辑器/设置)→ 要求输出:状态机、动画时间线、编辑器交互清单。
  5. vol5(动画 + 兼容/测试 + 验收 + 里程碑)→ 要求输出:最终实施顺序、每阶段无头验证脚本、验收勾选表,然后从 M0 开始实现。
  • 每批结束要求模型把「已确认参数」写进 SPEC-LOCK.md,下一批先复述。

方案 C:逐章投喂(上下文 32k–64k)

  • 顺序:00+01+02 → 03 → 04+05 → 06 → 07 → 08 → 09 → 10 → 11+12+13。
  • 每次投喂加一句:「只改本章涉及的文件;先复述本章关键数值与验收点,再动手;不得运行会弹出窗口的命令;不要重写其他模块。」

五、推荐的开场与追问

  • 开场:「你在 ClassHelper 仓库中做重构,不是新建项目。请先阅读提示词第 0–2 部分与仓库中 src/main/island.ts、src/island/*、packages/shared/src/island-layout.ts,输出:①现状理解;②不可破坏契约;③文件级重构计划(含迁移/回滚);④M0 无头验证方案。先不要写代码。」
  • 计划评审:「请给出 packages/desktop-client/src/island/ 目标文件树,每个文件一句话职责,并标注它替换/新增/保留哪些现有文件。」
  • 迁移评审:「请给出 islandLayout v1→v2 的迁移函数伪代码、幂等性论证、失败回滚路径和 fixtures 清单。」
  • 像素评审:「请按第 6/7 部分输出 fixed 信息行(classisland 风格)与 custom 行的 DOM/CSS 变量清单,标注每个数值来源。」
  • 动画评审:「请把第 10 部分的 84 条映射按 M0–M7 归类,给出每条的无头验证方法(不打开窗口)。」
  • 无头验证:「请给出 pnpm typecheck、pnpm verify:desktop 的预期输出与失败排查;禁止 --visual 作为默认验证。」
  • 交付前:「请对照第 12 部分逐项勾选,列出未通过项与原因;对照第 11 部分确认迁移/回滚/无头纪律。」

六、必须向模型强调的五件事

  1. 这是重构:保留 ClassHelper 技术栈、包边界、服务端数据源、既有业务规则与配置;不新建工程、不引入新框架。
  2. 默认 ClassIsland 规格,老用户可回退:appearance.family='classisland' 为默认;升级用户迁移为 winisland(fixed 保留旧胶囊);custom 始终 ClassIsland 规格(与 family 无关)。
  3. fixed 重定义:classisland 下 fixed = 40px 信息行(默认日期 + 课程表,行内气泡,3px 进度条);胶囊 + 详情卡只在 winisland 保留。
  4. 迁移先行:先版本化 islandLayout.version=2 + 备份/回滚 + fixtures,再改渲染;任何阶段都必须能切回旧渲染。
  5. 不打扰纪律:默认验证无头;不弹窗、不发声、不创建可见岛/托盘;不碰真实班级数据。

七、已知的「与 ClassIsland 原版差异」(模型需在交付说明中列出)

  • Avalonia 窗口 → Electron 透明 BrowserWindow;窗口包围盒/命中/触摸沿用 ClassHelper 既有方案。
  • 数据源:ClassHelper 服务端解析结果(ScheduleDto/IslandTimePointDto/通知/作业/叫人/课件),不引入 ClassIsland 本地档案。
  • 插件/自动化/主题市场/管理端/Excel 导入/更新器不在本轮范围。
  • 壁纸取色不实现;天气继续 Open-Meteo;强提醒为独立透明窗口实现。
  • 视 ClassIsland 源码为行为基准,不复制其 C#/XAML 代码。

八、与上一份「ClassIsland 从零实现提示词」的关系

  • 上一轮产物 ClassIsland-给ChatGPT的完整提示词.md 是ClassIsland 全功能规格(约 200k tokens),详细覆盖 ClassIsland 原版的组件、窗口、动画、设置等。
  • 本重构提示词已把这些规格中灵动岛相关的部分改写为「ClassHelper 落地版」;只有当你需要补充 ClassIsland 原版细节(例如某个组件的完整设置项、ClassIsland 的窗口列表)时,才把上一份作为附录/参考资料一并投喂。
  • 两份提示词的冲突以本重构提示词为准(因为它包含 ClassHelper 的现状、数据契约与迁移)。