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

5.4 KiB
Raw Blame History

18. 禁止事项与实现边界

以下为硬性红线。违反任一项即视为交付不合格。

18.1 关于「不打扰」的硬性要求

  1. 禁止任何会显示可见窗口或发出声音的自动验证:自动化测试、冒烟脚本、构建检查必须在 --headless / 离屏 / 隐藏窗口模式下运行;不得创建可见的岛、托盘气泡、系统通知、声音。验证脚本必须默认静默,需要人工观察时由显式参数开启(例如 --visual),且不得作为 CI 默认。
  2. 禁止在开发/构建过程中自动创建桌面快捷方式、开机自启项、全局快捷键;这些只能由用户在设置中主动开启。
  3. 禁止把主窗口做成会抢占焦点或进入任务栏的普通窗口:默认 focusable=false、skipTaskbar=true、show=false 直到首帧准备好;不得使用 setAlwaysOnTop 之外的 API 强制置顶到系统级(如 Windows 的 SetWindowPos HWND_TOPMOST 需与 Electron 的置顶设置一致,避免与全屏应用冲突)。
  4. 禁止用 setBackgroundMaterial()(Electron 的 Windows 材质 API)破坏逐像素透明;透明背景必须由无边框透明窗口 + CSS 自绘实现,以保证圆角与阴影的正确性。
  5. 禁止自动播放声音:提醒音效仅在提醒触发时播放;调试/测试静音;首次启动不播放。

18.2 技术红线

  1. 禁止让 Element Plus 的全局默认样式进入岛渲染进程:island.html 不得引入 Element Plus 的全局 CSS;岛使用自研 CSS + 设计 tokens。Element Plus 仅用于设置中心等管理型界面。
  2. 禁止在渲染进程开启 Node 集成;preload 不得暴露 ipcRenderer、require、process、文件系统能力;跨桥只传纯数据(不得传 Vue Proxy/函数/类实例)。
  3. 禁止把动画交给 setInterval/setTimeout 逐帧驱动(弹簧动画用 rAF + 物理积分;其他用 CSS transition/keyframes/Web Animations)。
  4. 禁止用 JS 直接改 width/height/top/left 触发同步布局做动画;优先 transform/opacity,尺寸变化用 FLIP 或弹簧 + ResizeObserver 批量更新。
  5. 禁止使用 unsafe-eval、new Function、远程加载并执行 JS;CSP 必须严格;不得通过 file:// 加载用户可写目录中的可执行脚本。
  6. 禁止把核心功能依赖云端:断网时课表、提醒、自动化、组件、设置、主题必须全部正常;天气/更新/插件市场允许降级。
  7. 禁止把敏感信息(令牌、密码、完整用户路径)写入日志或打包进安装包;check-bundle-secrets 式构建门禁必须保留(若实现管理端可选模块)。
  8. 禁止硬编码绝对路径;所有资源使用相对/app:// 协议;品牌图片通过打包资源 URL 引用。
  9. 禁止引入与原技术栈冲突的框架(如再引入 React/Angular、再引入第二套 UI 组件库做岛);确需引入库时必须说明不可替代性并锁定版本。

18.3 数据与安全红线

  1. 禁止未备份就迁移/覆盖用户数据:任何 schema 升级、导入、恢复操作先写备份,失败可回滚;删除档案/主题/插件必须二次确认。
  2. 禁止静默删除或重置用户配置;配置损坏时保留原文件为 .bak 并提示。
  3. 禁止在测试中使用真实班级数据;测试必须使用临时目录与夹具数据;测试结束清理临时数据,不得触碰用户真实配置目录。
  4. 禁止自动化静默执行危险行动:关机/重启/注销/锁屏/删除文件等行动必须二次确认(或明确的免确认设置),测试模式必须假执行;执行前做权限与参数校验,执行后写审计日志。
  5. 禁止插件/主题获得默认 Node 权限;插件代码在受限环境运行(独立进程或 Worker + 白名单 API),安装前展示权限。
  6. 禁止执行任意 URL/命令:仅允许显式协议(http/https)与用户指定程序路径;路径参数做规范化与存在性校验,防止命令注入。

18.4 质量与流程红线

  1. 禁止用占位符/TODO 交付核心功能:所有 P0/P1 功能必须真实可用;未完成项必须在验收报告中显式列出,不得隐藏。
  2. 禁止伪造验收结果:截图、日志、测试输出必须来自实际运行;未验证的项标注「未验证」。
  3. 禁止为了通过验收修改验收标准或删除测试;标准以本提示词为准。
  4. 禁止跳过像素级检查:主界面、设置窗口、提醒、OOBE 至少各保留一份基准截图与 diff 报告。
  5. 禁止把「默认值」写成 0/空导致功能不可见:所有默认值必须与第 10、13 部分的默认值表一致。
  6. 禁止破坏兼容性:数据 schema、插件 API、主题变量一旦发布,只允许增量变更;破坏性变更必须提供迁移与版本字段。

18.5 本提示词未明确时的裁决顺序

当实现细节与本提示词冲突或缺失时,按以下优先级裁决:

  1. 本提示词明确写出的数值与行为(最高优先级)。
  2. ClassIsland 的公开文档与截图中可见的行为(可参考 docs.classisland.tech,但不得引入其代码)。
  3. ClassHelper 已实现的桌面岛约定(repos/ClassHelper-master/packages/desktop-client/src/island 与 src/main/island.ts)。
  4. Fluent Design / iOS 灵动岛的一般设计规范。
  5. 你的工程判断(必须在代码注释与交付说明中标注「推断」)。