Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,5 @@ skills/5writing/templates/**/missfont.log
# LaTeX 模板编译生成的 PDF(保留 huaweibei 的 logo.pdf 和 title.pdf 模板资源)
skills/5writing/templates/**/main.pdf

__pycache__/
*.py[cod]
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,14 @@ MathModelAgent SKILL —— 直接在 Harness 中驱动的数学建模自动化
完全开源免费,可接入任何模型。

**🧠 端到端自动化**
从问题分析、建模、编码、绘图到论文排版和验收,一条 `/1start-mathmodel` 命令全自动完成,中间阶段自动串联,无需人工干预
从问题分析、建模、编码、绘图到论文排版和验收,一条 `/1start-mathmodel` 命令自动串联;国赛任务还会根据全过程证据自动生成 AI 使用详情

**📄 17 套 Typst 论文模板**
内置中英文主流赛事模板(国赛、华数杯、华为杯、MCM/ICM 等),自动匹配赛事类型,生成排版精良、可直接提交的 PDF 论文。

**🧾 国赛 AI 使用详情**
国赛任务从开始阶段持续记录真实 AI 使用情况;完整论文验收后自动归纳采纳、迭代修正与实际核验,并隐藏核心建模细节,同时生成 `paper/main.pdf` 和名称准确的 `supporting_materials/AI 工具使用详情.pdf`,缺少任一文件都不会报告最终完成。

**📐 内置建模知识库**
包含完整的建模规范、模型选择决策树(AHP、TOPSIS、ARIMA、GA 等)、常见易错模式和 MCM/ICM 评分标准,每个阶段自动参考,降低模型幻觉。

Expand Down Expand Up @@ -148,6 +151,7 @@ codex: $start-mathmodel 完成这个数学建模任务
```
/doctor: 检查环境配置
/typst-author: typst 知识
/7ai-disclosure: 持续记录 AI 使用并生成“AI 工具使用详情.pdf”
```


Expand Down
3 changes: 3 additions & 0 deletions README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@

The desktop app bundles Claude Code and the full set of MathModelAgent SKILLS. No Python / Node.js / Redis installation and no manual SKILL setup — install it, add one model API key, and start modeling.

For CUMCM tasks, the workflow records actual AI use throughout the run, automatically summarizes evidence-backed adoption, revisions, and checks without exposing core modeling details, and requires both `paper/main.pdf` and `supporting_materials/AI 工具使用详情.pdf` before reporting final completion.

| OS | File |
|----|------|
| macOS (Apple Silicon) | `mathmodel-<version>-arm64.dmg` |
Expand Down Expand Up @@ -62,6 +64,7 @@ Automatically generate an award-level modeling paper
- Local Interpreter: Based on Jupyter, code saved as notebook for easy editing
- Cloud Code Interpreter: [E2B](https://e2b.dev/) and [daytona](https://app.daytona.io/)
- 📝 Generate a well-formatted paper
- 🧾 Generate the required CUMCM AI-usage disclosure PDF from confirmed run records
- 🤝 Multi-agents: modeling expert, coding expert, paper expert, etc.
- 🔄 Multi-LLMs: Different models for each agent
- 🤖 Support for all models: [litellm](https://docs.litellm.ai/docs/providers)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# AI 工具使用详情表格化与版式美化设计

日期:2026-08-24

范围:`skills/7ai-disclosure` 的 LaTeX/PDF 模板及必要的 Skill 输出说明

## 目标

在不改变四部分内容范围的前提下,将第二部分“具体使用目的和环节”改为表格,并采用克制的学术蓝灰风格提升信息层次和评审阅读效率。

## 第二部分表格

第二部分使用三列表格:

| 工具编号 | 使用环节 | 具体使用目的 |
| --- | --- | --- |
| TOOL-01 | 示例环节 | 示例目的 |

- 每行表示一条使用记录。
- 工具编号必须引用第一部分已有的 `TOOL-xx`。
- 表格允许添加多行,并支持记录较多时自然分页。
- 不改变日志字段和校验器的数据要求。

## 学术蓝灰风格

- 主色采用深蓝灰,浅蓝灰用于章节标题背景和表头。
- 四个一级部分使用统一的浅色标题条和左侧强调线。
- 第一、第二部分表格采用一致的表头、字号、行距和横线。
- 第三、第四部分保留原有正文结构,只统一记录标题、字体颜色、段落间距和留白。
- 页眉、页码和文档标题继续保留,但颜色和细线与主色协调。
- 避免大面积深色色块,保证黑白打印仍可辨识。

## 变更边界

- 不修改四个一级部分的标题和顺序。
- 不修改第一部分三列工具表。
- 不修改第三部分典型交互的非表格形式。
- 不修改第四部分的采纳、人工修改和核验字段。
- 不修改日志模板或校验器逻辑。
- 仅在 `SKILL.md` 中补充第二部分表格约束。

## 验收

- LaTeX 编译无错误、无溢出警告。
- PDF 保持单页 A4;如实际记录增加,允许自然分页。
- 第二部分包含“工具编号、使用环节、具体使用目的”三列表头。
- 四个一级部分、`TOOL-01` 和中文文本层均可提取。
- 逐页视觉检查无裁切、重叠、表格越界、乱码或异常留白。
- Skill 结构校验和现有日志校验器自测继续通过。
188 changes: 188 additions & 0 deletions docs/superpowers/specs/2026-08-24-ai-usage-disclosure-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
# AI 工具使用详情记录与生成 Skill 设计

## 1. 目标

为全国大学生数学建模竞赛工作流增加 `7ai-disclosure` Skill,在比赛全过程按阶段记录 AI 工具使用情况,并在论文验收后生成支撑材料:

- `supporting_materials/AI 工具使用详情.tex`
- `supporting_materials/AI 工具使用详情.pdf`

本设计依据用户提供的 `2026国赛AI工具使用规定.pdf`(SHA-256:`4CF6F30CDD37D6EF2CDB3439C5DBA4D9F207C12D6AAFE24419E81F3C69ACF59A`)。当前仅核对了文件内容,未另行核验其公开发布来源。

## 2. 合规边界

生成材料必须覆盖规定列出的四类信息:

1. AI 工具名称、版本或型号;
2. 具体使用目的和环节;
3. 主要提示方式与使用过程,可附典型交互示例;
4. AI 输出的采纳、人工修改和核验情况,语言润色可按规定简化。

Skill 只负责记录、整理、校验和排版,不得:

- 编造工具、模型版本、提示、人工修改或核验过程;
- 将“生成了 PDF”等同于“符合竞赛规定”;
- 代替参赛队确认核心建模与分析是否由队伍主导;
- 保存 API Key、访问令牌、完整思维链或无必要的个人敏感信息;
- 把未经队员确认的内容标记为已核验。

## 3. 方案选择

采用单一 Skill、双模式设计:

- `record`:每个工作流阶段结束后,追加一条阶段级记录;
- `finalize`:检查记录完整性,生成 XeLaTeX 源文件和最终 PDF。

相较于拆成两个 Skill,该方案减少安装和调用成本;相较于赛后一次性补填,该方案能保留更可靠的过程证据。

## 4. 文件结构

```text
skills/7ai-disclosure/
├── SKILL.md
├── templates/
│ ├── AI_USAGE_LOG.md
│ └── AI工具使用详情模板.tex
└── scripts/
└── validate_ai_usage_log.py
```

运行时项目产物:

```text
reports/AI_USAGE_LOG.md
supporting_materials/AI 工具使用详情.tex
supporting_materials/AI 工具使用详情.pdf
```

## 5. 记录数据模型

### 5.1 基本信息

- 竞赛名称;
- 赛题编号或名称;
- 参赛队号;
- 记录起止时间;
- 最终材料生成时间。

### 5.2 工具目录

每个工具使用稳定编号,例如 `TOOL-01`,字段包括:

- 工具名称;
- 提供方;
- 版本、型号或模型名称;
- 使用入口或方式,例如网页、桌面应用、API、IDE 插件;
- 信息来源及确认状态。

### 5.3 阶段记录

每条记录使用稳定编号,例如 `AI-001`,字段包括:

- 使用阶段;
- 关联工具编号;
- 使用目的;
- 主要提示方式或代表性提示摘要;
- 使用过程摘要;
- AI 输出采纳情况;
- 人工修改内容;
- 人工核验方法与结果;
- 对应证据文件或产物;
- 负责确认的队员;
- 当前状态:`已确认` 或 `待队员确认`。

记录粒度按竞赛阶段汇总。只有在用途、工具、模型或核验方式发生实质变化时,才拆分为多条记录。

## 6. 工作流集成

### 6.1 初始化

`1start-mathmodel` 在生成 `plan.md` 和 `todo.md` 时,从模板创建 `reports/AI_USAGE_LOG.md`,并把 AI 使用记录列入工作流产物。

### 6.2 过程记录

总控工作流在以下阶段结束后调用 `7ai-disclosure record`:

1. 赛题分析与建模设计;
2. 编程实现和图表生成;
3. 流程与架构图绘制;
4. 竞赛论文撰写;
5. 验证和验收。

记录模式先从本阶段报告和实际会话中整理草稿,再让队员确认无法从证据判断的字段。不得仅凭文件修改时间推断使用目的或人工核验情况。

### 6.3 最终生成

完成 `6verity` 后执行 `7ai-disclosure finalize`:

1. 运行日志校验脚本;
2. 汇总重复工具和同类阶段记录;
3. 对未确认字段停止最终验收并请求队员补充;
4. 复制并填充 XeLaTeX 模板;
5. 使用 XeLaTeX 编译两遍;
6. 对 PDF 做页数、文本层、文件名和视觉检查;
7. 将结果写入 `reports/VERIFY_REPORT.md` 的支撑材料检查项。

## 7. PDF 模板结构

PDF 使用 A4 中文版式,正文以表格和连续说明结合:

1. 标题与基本信息;
2. 填写说明与责任边界;
3. AI 工具清单;
4. 分阶段使用详情;
5. 典型交互示例;
6. 人工修改与核验汇总;
7. 未采纳的重要 AI 建议或结果;
8. 参赛队最终确认栏。

模板使用 `ctexart`、`geometry`、`longtable`、`booktabs`、`array`、`xcolor`、`fancyhdr` 和 `hyperref`。长记录必须允许跨页,表格不得依赖手工分页。

## 8. 缺失信息与异常处理

- 缺少必填字段:写为 `待队员确认`,校验失败,不生成可提交状态;
- 工具版本无法从证据确认:保留“无法确认”,不得猜测;
- 没有找到 AI 使用记录:提示队员确认是否确实未使用,不自动生成空白详情 PDF;
- XeLaTeX 不可用:保留 `.tex`,将 PDF 状态标记为未生成;
- 编译失败:保留日志并报告首个有效错误,不用删除内容规避错误;
- PDF 出现乱码、越界、重叠或异常分页:修复模板后重新编译和检查;
- 最终文件名不精确:重命名为 `AI 工具使用详情.pdf` 后重新验收。

## 9. 校验脚本

`validate_ai_usage_log.py` 使用 Python 标准库完成确定性检查:

- 必需章节存在;
- 工具编号和记录编号唯一;
- 每条阶段记录引用的工具存在;
- 规定要求的字段均非空;
- 不存在未解决的 `待队员确认`;
- 不出现常见密钥格式;
- 至少存在一条人工修改或人工核验说明;
- 输出清晰的错误列表和非零退出码。

脚本只检查结构完整性,不判断叙述是否真实,也不替代队员确认。

## 10. 验证与验收

实施完成后至少执行:

1. 合格日志样例通过校验;
2. 缺字段、未知工具编号、重复编号、待确认状态和疑似密钥样例均被拒绝;
3. XeLaTeX 连续编译两遍成功;
4. 生成 PDF 文件名完全匹配规定;
5. 使用 PDF 工具确认文件非空、页面为 A4、有中文文本层;
6. 将每页渲染为 PNG,检查中文字体、表格跨页、页码、边距、重叠和裁切;
7. 检查 Git 工作区仅包含预期文件;
8. 确认现有数学建模阶段顺序未被破坏。

## 11. PR 范围

首个 PR 只包含:

- 新增 `7ai-disclosure` Skill、模板和校验脚本;
- 在 `1start-mathmodel` 中加入初始化、阶段记录和最终生成步骤;
- 在 `6verity` 中加入支撑材料验收项;
- 更新必要的 Skill 使用说明。

不在本 PR 中实现自动抓取完整聊天记录、云端上传、用户账号体系或比赛规则在线更新。
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# AI 工具使用详情简化设计

日期:2026-08-24

范围:`skills/7ai-disclosure` 及其在主工作流中的输出约定

## 目标

将最终提交的 `AI 工具使用详情.pdf` 精简为与赛事规定直接对应的四个部分,使评审能够快速识别所用工具、使用环节、提示过程以及人工采纳和核验情况。赛中记录和提交前校验仍应阻止虚构、待确认内容和敏感信息进入最终材料。

## 最终 PDF 结构

PDF 只保留文档标题、页眉页码和以下四个一级部分,不再增加基本信息、责任说明、分阶段记录、未采纳建议、最终确认或提交前检查等章节。

### 一、所用 AI 工具名称、版本或型号

使用简洁三列表格:

| 编号 | AI 工具名称 | 版本或型号 |
| --- | --- | --- |
| TOOL-01 | 示例工具 | 示例版本或型号 |

编号按 `TOOL-01`、`TOOL-02` 依次排列,供后续三个部分引用。不显示提供方、使用入口或方式,也不要求参赛队在最终材料中填写这些字段。

### 二、具体使用目的和环节

按工具或关键任务使用短条目说明:

- 使用环节;
- 具体目的;
- 对应工具编号。

多个相近的小任务可以合并,避免逐轮罗列;每个条目必须标明对应的 `TOOL-xx`。

### 三、主要提示方式与使用过程说明

采用短段落说明提示组织方式、输入材料、约束条件、主要迭代和队员参与过程。每个过程说明标注所用 `TOOL-xx`。典型交互为可选内容,使用非表格形式:

- 代表性提示摘要;
- AI 输出摘要;
- 队员如何处理。

不得复制完整聊天记录或模型私有思维链。

### 四、对 AI 输出的采纳、人工修改和核验的主要情况

按关键任务概括并标注对应的 `TOOL-xx`:

- 完全采纳、部分采纳或未采纳的范围;
- 队员所作实质修改;
- 复算、测试、交叉验证或文献核查等核验方法与结果。

语言润色可以说明用途,但不强制展开人工修改和核验细节。

## Skill 与日志调整

`7ai-disclosure` 仍保留 `record` 和 `finalize` 两种模式,但记录结构直接映射到最终四部分。

- 工具目录只要求工具编号、工具名称和版本或型号。
- 使用记录保留环节、目的、提示方式、过程、采纳、人工修改、人工核验和证据文件。
- 典型交互为可选的非表格信息。
- 删除日志中的基本信息、提供方、使用入口、未采纳建议独立章节和全局最终确认章节。
- 每条使用记录保留“当前状态”,以区分“待队员确认”和“已确认”。

内部日志可以保留证据文件和确认状态,但这些控制字段不进入最终 PDF。

## 校验规则

`validate_ai_usage_log.py` 应:

- 校验四个核心信息类别对应字段齐全;
- 校验工具编号唯一,并确保第二至第四部分引用的 `TOOL-xx` 均存在;
- 在 `finalize` 模式拒绝“待队员确认”、空值和占位符;
- 要求每条记录状态为“已确认”;
- 检测 API 密钥、访问令牌等疑似敏感信息;
- 不再要求基本信息、提供方、使用入口或全局最终确认字段。

## 生成与版式

- 最终源文件仍为 `supporting_materials/AI 工具使用详情.tex`。
- 最终文件名仍为 `supporting_materials/AI 工具使用详情.pdf`。
- 使用 XeLaTeX 编译两遍。
- 模板采用 A4 中文排版,优先控制在 1–2 页;实际记录较多时允许自然分页。
- 工具目录可以使用表格,典型交互不得使用表格。

## 验收

- Skill 结构校验通过。
- 日志校验器自测通过,简化后的空白日志在 `record` 模式通过结构检查,在 `finalize` 模式因待确认内容而失败。
- LaTeX 编译无错误和版式溢出警告。
- PDF 非空、页面为 A4、中文文本层可提取。
- 逐页视觉检查无裁切、重叠、表格越界、乱码或异常分页。

## 不在本次范围内

- 不修改论文正文中的“AI 工具使用声明”格式。
- 不自动认定参赛队满足全部赛事合规要求。
- 不保存完整聊天记录或自动推断队员已经完成核验。
Loading