# sta-log **Repository Path**: rdk523/sta-log ## Basic Information - **Project Name**: sta-log - **Description**: 学生日记 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-16 - **Last Updated**: 2026-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 东莞翰伦技工学校实习资料生成工具 为 21 位同学批量生成实习周记(48周)+ 月总结(12个月)+ 实习检查记录表的 TypeScript CLI 工具。 ## 快速开始 ```bash # 1. 先看看有哪些学生 npm run list # 2. 生成一位学生的周记数据 npm run generate -- -s 郭晓晴 # 3. 生成全部学生 npm run generate -- -a # 4. 渲染 Word 文档 npm run render # 5. 生成检查记录 npm run generate-check -- -a # 6. 渲染检查记录表 npm run render-check ``` ## 环境准备 在 `.env` 文件中配置 DeepSeek API Key: ``` DEEPSEEK_API_KEY=你的API_KEY ``` ## CLI 命令详解 ### `list` — 列出学生 ```bash npm run list ``` 显示全部 21 位学生的姓名、专业、就业状态和实习单位。 ### `generate` — 生成周记 + 月结数据 ```bash # 生成一位 npm run generate -- -s 郭晓晴 # 生成多位(逗号分隔) npm run generate -- -s 郭晓晴,夏雨薇,张欣茹 # 生成全部 npm run generate -- -a # 强制重新生成(忽略已有数据) npm run generate -- -s 郭晓晴 --force ``` **智能跳过逻辑**: - 数据完整(48周+12月)→ **跳过**,不调 API - 数据部分缺失 → **只补充**缺失的区间(单周粒度) - 无数据 → **全量生成** 数据保存到 `data/students/{姓名}.json`。 ### `render` — 渲染周记 + 月总结 Word ```bash # 渲染全部已生成的学生 npm run render # 渲染指定学生 npm run render -- -s 郭晓晴 ``` 每位学生输出独立目录: - `output/{姓名}/周.docx` — 48 篇周记记录表(每篇一页) - `output/{姓名}/月.docx` — 12 篇月总结 ### `generate-check` — 生成实习检查记录表数据 ```bash # 生成一位 npm run generate-check -- -s 郭晓晴 # 生成全部 npm run generate-check -- -a ``` 数据保存到 `data/checks/{姓名}.json`,包含 6 项检查评价、综合评价、意见建议等。 ### `render-check` — 渲染检查记录表 Word ```bash # 渲染全部 npm run render-check # 渲染指定学生 npm run render-check -- -s 郭晓晴 ``` 输出到 `output/{姓名}/检查记录表.docx`。 ## 项目结构 ``` sta-log/ ├── src/ │ ├── index.ts # CLI 入口 │ ├── types.ts # 类型定义 │ ├── students.ts # 学生数据 │ ├── prompts.ts # AI 提示词模板(可编辑调优) │ ├── generator.ts # DeepSeek API 调用 + 增量生成逻辑 │ └── renderer.ts # 渲染 Word 文档 ├── data/ │ ├── sta.json # 21位学生信息 │ ├── students/ # 生成的周记+月结数据 │ └── checks/ # 生成的检查记录数据 ├── output/ # 最终 Word 文档(按学生分目录) ├── prompts/ # 提示词配置 └── scripts/ # 辅助脚本 ``` ## 自定义提示词 编辑 `src/prompts.ts` 可以调整 AI 生成风格、内容方向等。提示词分几个部分: - **系统提示词** (`buildSystemPrompt`) — 角色设定和写作原则 - **阶段指引** (`getGrowthGuidance`) — 适应期/成长期/熟练期/精进期/成熟期的周记内容方向 - **用户提示词** (`buildUserPrompt`) — 组装完整的学生信息和输出要求 - **检查记录提示词** (`buildCheckPrompt`) — 实习检查记录表生成 调整后重新运行对应的 `generate` 命令即可使用新的提示词。 ## 数据流 ``` sta.json (21位学生) │ ├── generate ──调 DeepSeek API──▶ data/students/{姓名}.json │ │ (48篇周记 + 12篇月结) │ ▼ │ render ──▶ output/{姓名}/周.docx │ output/{姓名}/月.docx │ └── generate-check ──调 DeepSeek API──▶ data/checks/{姓名}.json │ (6项检查评价) ▼ render-check ──▶ output/{姓名}/检查记录表.docx ```