{"id":"2ce335b1-6d23-4161-90bb-270a16803b5c","entityType":"agent","slug":"clawhub-zhaobod1-huo15-openclaw-office-doc","name":"huo15-openclaw-office-doc","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zhaobod1-huo15-openclaw-office-doc","canonicalPath":"/agent/clawhub-zhaobod1-huo15-openclaw-office-doc","generatedAt":"2026-10-10T05:01:38.045Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T17:03:04.394Z","emptyReason":null},"description":"【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。 Skill: huo15-openclaw-office-doc Owner: zhaobod1 Summary: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.3K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17f6q72skfgyjycm2frgdc8dn83v5mk:huo15-openclaw-office-doc","sourceUrl":"https://clawhub.ai/zhaobod1/huo15-openclaw-office-doc","homepage":"https://clawhub.ai/zhaobod1/skills/huo15-openclaw-office-doc","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zhaobod1/huo15-openclaw-office-doc","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zhaobod1/skills/huo15-openclaw-office-doc","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":40,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:03:04.394Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:03:04.394Z","emptyReason":null},"stars":null,"forks":null,"downloads":2252,"packageName":null,"latestVersion":"7.9.4","tractionLabel":"2.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:03:04.394Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T17:03:04.394Z","lastCrawledAt":"2026-10-09T17:03:04.394Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T17:03:04.394Z","lastVerifiedAt":null,"highlights":[{"version":"7.9.4","createdAt":"2026-08-23T12:48:45.794Z","changelog":"- Removed obsolete file: skill-card.md, making documentation leaner. - Updated metadata in _meta.json and documentation in SKILL.md to match latest changes. - Minor cleanup and possible script improvements in scripts/create-pdf-doc.py. - No user-facing features added or changed. This version focuses on maintenance and file organization.","fileCount":33,"zipByteSize":119834},{"version":"7.9.3","createdAt":"2026-08-23T11:27:37.643Z","changelog":"Version 7.9.3 - Fixed PDF export: page header logo display and position calculation are now correct; logo scaling no longer causes header content to run outside page bounds. - Improved stability of PDF output by switching logo image sizing to use ImageReader.getSize(). - Code cleanup: integrated chrome (header rendering) into PageTemplate.onPage callback for a cleaner architecture.","fileCount":33,"zipByteSize":119652},{"version":"7.9.2","createdAt":"2026-08-23T11:10:08.706Z","changelog":"huo15-openclaw-office-doc v7.9.2 - Added LICENSE file for open-source clarity. - Removed skill-card.md. - Updated documentation and metadata. - Minor code or infrastructure maintenance.","fileCount":33,"zipByteSize":119774},{"version":"7.9.1","createdAt":"2026-06-07T07:10:48.117Z","changelog":"正文默认仿宋（除合同外），标题保持黑体/小标宋；契合中文公文与方案规范","fileCount":32,"zipByteSize":116075},{"version":"7.9.0","createdAt":"2026-06-07T07:08:15.395Z","changelog":"正文默认仿宋（除合同外），标题保持黑体/小标宋；契合中文公文与方案规范，调用方无需后处理改字体","fileCount":32,"zipByteSize":116119},{"version":"7.8.6","createdAt":"2026-05-07T08:44:26.948Z","changelog":"v7.8.6 修复 Word 文档 emoji 渲染方块占位:WPS/LibreOffice/Linux Word 按 rFonts 走中文字体(无 emoji glyph)→ ▢▢。新增 _add_run emoji-aware 包装把 emoji 切独立 run 用 Segoe UI Emoji(Mac fallback Apple Color Emoji,Linux Noto)+ _set_font 加 cs slot 兜底。render_inline 全路径走新函数。Mac Word 本地看不见(自动 fallback)所以之前漏了。","fileCount":32,"zipByteSize":115675},{"version":"7.8.5","createdAt":"2026-05-05T17:40:53.755Z","changelog":"重大修复：彻底修正 PDF 页眉 LOGO 错位导致“页眉消失”的长期 bug。 - 修复 PDF 页眉 LOGO 及公司名出现在页面外的问题。LOGO 宽度等比缩放算法改为直接读取图片像素尺寸，避免因 platypus `Image.wrap()` 错误返回数值导致 drawImage/drawString 元素超出页面。 - 页眉渲染机制调整，chrome（页眉绘制）逻辑从 two-pass canvas 移入 `PageTemplate.onPage` 回调，结构更清晰。 - 详细定位并彻底解决“页眉只剩灰线无 LOGO 与公司名”问题，保证视觉与实际内容一致。 - 文档同步更新历史说明，明确 bug 来源与处理思路。","fileCount":31,"zipByteSize":112485},{"version":"7.8.3","createdAt":"2026-05-05T16:49:37.140Z","changelog":"huo15-openclaw-office-doc v7.8.3 - Enhanced Word→PDF conversion: LibreOffice 路径 now pre-processes docx to replace Chinese font names with platform-compatible families, ensuring correct font embedding (STSongti-SC-Regular + STHeitiSC-Light) and visual consistency with Word output. - The default conversion path (using LibreOffice + font pre-processing) now produces PDFs that visually match Word documents, solving prior issues with unexpected fonts (e.g., hand-written styles). - Documentation and output recommendations updated: current default path produces high visual fidelity PDF—no need to install Microsoft Word unless 100% native rendering is required. - No user-facing format or CLI changes; main improvement is PDF output consistency and reliability across platforms.","fileCount":31,"zipByteSize":112354}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f6q72skfgyjycm2frgdc8dn83v5mk:huo15-openclaw-office-doc","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T05:01:38.040Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-office-doc/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T17:03:04.394Z","emptyReason":null},"readme":"Skill: huo15-openclaw-office-doc\n\nOwner: zhaobod1\n\nSummary: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。\n\nTags: latest:7.9.4, stable:5.3.0\n\nVersion history:\n\nv7.9.4 | 2026-08-23T12:48:45.794Z | auto\n\n- Removed obsolete file: skill-card.md, making documentation leaner.\n- Updated metadata in _meta.json and documentation in SKILL.md to match latest changes.\n- Minor cleanup and possible script improvements in scripts/create-pdf-doc.py.\n- No user-facing features added or changed. This version focuses on maintenance and file organization.\n\nv7.9.3 | 2026-08-23T11:27:37.643Z | auto\n\nVersion 7.9.3\n\n- Fixed PDF export: page header logo display and position calculation are now correct; logo scaling no longer causes header content to run outside page bounds.\n- Improved stability of PDF output by switching logo image sizing to use ImageReader.getSize().\n- Code cleanup: integrated chrome (header rendering) into PageTemplate.onPage callback for a cleaner architecture.\n\nv7.9.2 | 2026-08-23T11:10:08.706Z | auto\n\nhuo15-openclaw-office-doc v7.9.2\n\n- Added LICENSE file for open-source clarity.\n- Removed skill-card.md.\n- Updated documentation and metadata.\n- Minor code or infrastructure maintenance.\n\nv7.9.1 | 2026-06-07T07:10:48.117Z | user\n\n正文默认仿宋（除合同外），标题保持黑体/小标宋；契合中文公文与方案规范\n\nv7.9.0 | 2026-06-07T07:08:15.395Z | user\n\n正文默认仿宋（除合同外），标题保持黑体/小标宋；契合中文公文与方案规范，调用方无需后处理改字体\n\nv7.8.6 | 2026-05-07T08:44:26.948Z | user\n\nv7.8.6 修复 Word 文档 emoji 渲染方块占位:WPS/LibreOffice/Linux Word 按 rFonts 走中文字体(无 emoji glyph)→ ▢▢。新增 _add_run emoji-aware 包装把 emoji 切独立 run 用 Segoe UI Emoji(Mac fallback Apple Color Emoji,Linux Noto)+ _set_font 加 cs slot 兜底。render_inline 全路径走新函数。Mac Word 本地看不见(自动 fallback)所以之前漏了。\n\nv7.8.5 | 2026-05-05T17:40:53.755Z | auto\n\n重大修复：彻底修正 PDF 页眉 LOGO 错位导致“页眉消失”的长期 bug。\n\n- 修复 PDF 页眉 LOGO 及公司名出现在页面外的问题。LOGO 宽度等比缩放算法改为直接读取图片像素尺寸，避免因 platypus `Image.wrap()` 错误返回数值导致 drawImage/drawString 元素超出页面。\n- 页眉渲染机制调整，chrome（页眉绘制）逻辑从 two-pass canvas 移入 `PageTemplate.onPage` 回调，结构更清晰。\n- 详细定位并彻底解决“页眉只剩灰线无 LOGO 与公司名”问题，保证视觉与实际内容一致。\n- 文档同步更新历史说明，明确 bug 来源与处理思路。\n\nv7.8.3 | 2026-05-05T16:49:37.140Z | auto\n\nhuo15-openclaw-office-doc v7.8.3\n\n- Enhanced Word→PDF conversion: LibreOffice 路径 now pre-processes docx to replace Chinese font names with platform-compatible families, ensuring correct font embedding (STSongti-SC-Regular + STHeitiSC-Light) and visual consistency with Word output.\n- The default conversion path (using LibreOffice + font pre-processing) now produces PDFs that visually match Word documents, solving prior issues with unexpected fonts (e.g., hand-written styles).\n- Documentation and output recommendations updated: current default path produces high visual fidelity PDF—no need to install Microsoft Word unless 100% native rendering is required.\n- No user-facing format or CLI changes; main improvement is PDF output consistency and reliability across platforms.\n\nv7.8.2 | 2026-05-05T16:18:06.948Z | auto\n\nv7.8.2 hotfix：修复 LibreOffice 路径下 PDF 字体错误问题\n\n- 修复通过 LibreOffice 转换 Word→PDF 时，中文字体被替换为“手写体”或非预期字体，造成 PDF 与 Word 视觉严重不一致。\n- 转换前自动预处理 docx 文件，针对不同平台将中文字体名批量替换为 fontconfig 能精确识别的 family，保证 PDF 输出嵌入宋体/黑体。\n- 保持原 docx 文件不变，临时处理后自动清理临时文件。\n- 实测 PDF 路径嵌入字体与原生 PDF 完全一致，彻底解决字体错位问题。\n\nv7.8.1 | 2026-05-04T14:42:18.083Z | auto\n\n## huo15-openclaw-office-doc v7.8.1\n\nHotfix release: 修复 PDF 文档长期潜伏的字体错用问题，确保输出与 Word 一致。\n\n- 修正 macOS 下 PDF 直出正文/标题字体错用（宋体实际为特黑，黑体实际为繁体）；现已准确嵌入 STSongti-SC-Regular 和 STHeitiSC-Medium（简体）。\n- 代码中 macOS 字体 subface 索引更正，避免字体错配。\n- 增加 PingFang.ttc 作为候选字体，提升兼容性。\n- 彻底解决“PDF 字体与 Word 不一样”的历史遗留问题。\n\nv7.8.0 | 2026-05-04T12:25:26.346Z | auto\n\nv7.8.0 重点修复：Word→PDF 转换路径的格式与视觉不一致问题\n\n- macOS/Windows 上优先使用 Microsoft Word（docx2pdf）作为后端，确保转换 PDF 与 Word 保持100%一致，不再优先使用 LibreOffice。\n- LibreOffice 后端增加6项关键PDF导出参数（如UseTaggedPDF、PDF版本等），提升兼容性和输出还原度，减少视觉差异。\n- 明确推荐直接用 create-pdf-doc.py 原生生成 PDF 获取最高保真度，CLI verbose 模式下新增告知和推荐提示。\n- scripts/word-to-pdf.py 的后端检测与用户指引更智能、更清晰。\n- 不包含功能新增，全部为转换质量与用户体验修复优化。\n\nv7.7.0 | 2026-05-03T03:53:00.492Z | auto\n\nhuo15-openclaw-office-doc v7.7.0\n\n- 修复 PDF 页眉 LOGO 和公司名称有时不左对齐的问题，保证视觉与 Word 一致\n- 改进 PDF 正文字体、字号、行距、首行缩进逻辑，使排版与 Word 完全对齐\n- 页眉处公司名称宽度计算采用真实测宽，杜绝居中/偏移\n- 正文行距和缩进自适应当前字号，确保不同字体下格式与 Word 匹配\n- 仅修复 PDF 视觉表现，与 Word 保持原有一致，文档结构和其他功能无变\n\nv7.6.1 | 2026-04-28T13:23:28.771Z | user\n\nv7.6.1 修 KV 漏检测:站点名称/WordPress 版本/.../负责人 这种 6 行混白名单+非白名单的 KV,过去被 _smart_join_paragraph 合成单行。修 (a) _is_known_metadata_key 改用词边界搜索 'WordPress 版本'/'服务合同编号' 这类带前缀的 key 也能识别 (b) 加 lenient ≥3 行 fallback (form-only,不需 key 在白名单) (c) 白名单扩入 站点/网站/域名/URL/链接/名称/类目/品牌\n\nv7.6.0 | 2026-04-28T06:19:54.269Z | user\n\nv7.6.0 修截图复现的两个 bug:1)元数据表 TABLE 形式也去重(LLM 用|文档编号|x| markdown 表写元数据时不再和 CLI 自动表叠加) 2)TOC 占位符回填真目录(用户打开前看到完整层次结构,打开后字段刷新成带页码的真 TOC)。新增 --with-toc/--no-toc 显式覆盖+智能默认(H1+H2<4 自动跳过)。修 PDF outline level 跳跃导致章程类文档生成失败的 bug\n\nv7.5.2 | 2026-04-28T05:56:13.181Z | user\n\nv7.5.2 修三类视觉 bug:1)正文已有元数据块时跳过 CLI 自动元数据表 2)TOC 占位符改为极短淡灰提示 3)孤立 ** 防御(奇数次出现按字面剥)。会议章程/议事规则/章程 keyword 扩入公司制度 preset\n\nv7.5.1 | 2026-04-28T04:56:24.976Z | auto\n\nhuo15-openclaw-office-doc v7.5.1\n\n- 文档版本号从 7.5.0 升级至 7.5.1\n- 文档和元数据更新，无功能变动\n- 统一版本标记，确保描述和元数据一致\n\nv7.5.0 | 2026-04-27T16:02:01.325Z | user\n\nv7.5.0 合同细分 7 类:劳动/服务/技术开发/销售/采购/保密协议NDA/合作协议;每类配范本\n\nv7.4.0 | 2026-04-27T15:26:07.292Z | user\n\nv7.4.0 再扩 15 类规范（17->32），覆盖 HR/Sales/PR/PM/Ops/Tech/Legal 全场景:个人简历/任命书/在职证明/报价单/新闻稿/复盘报告/项目计划书/项目结项报告/测试报告/故障报告/应急预案/风险评估报告/API文档/部署文档/备忘录;templates/ 下配齐 15 份可直接拷贝改写的 markdown 范本\n\nv7.3.0 | 2026-04-27T15:09:54.918Z | user\n\nv7.3.0 重做文档壳：每种规范按真实场景决定是否挂 【内部】banner/文档元数据表（合同/演讲稿/验收单/用户手册/信函默认无；公文/方案/需求/招投标/公司制度/立项保留全套）;新增 5 类规范:验收单/项目立项书/操作SOP/公司制度/信函(共17类);修复 --title \"**X**\"/--doc-number \"**X**\" 字面残留;markdown 首行 #X 与 --title 同文自动去重;新增 CLI --list-formats / --with-no-classification-banner / --with-no-doc-meta-table / --with-no-title-block\n\nv7.2.0 | 2026-04-27T12:08:06.654Z | user\n\nv7.2.0 修两条 Bug：合同/协议页眉改为左对齐(LOGO+公司名);**合同编号：**xxx 这类 markdown 粗体元数据现在能被识别(扩 30+ 关键词:合同编号/签订日期/验收日期/甲乙方/金额等),三行连写自动归并为 2 列元数据表\n\nv6.0.0 | 2026-04-23T02:16:53.945Z | user\n\nv6.0 Block AST 重写；恒常页眉(LOGO+公司名)与页脚(第X页/共Y页)；修复 2 列表格与空内容；新增代码块 + 引用块\n\nv5.3.0 | 2026-04-23T00:23:18.885Z | user\n\nv5.3.0: 本地公司信息工作流（~/.huo15/company-info.json）+ argparse CLI；缺字段时退出码 2 触发补录；Odoo 降为第三优先级\n\nv5.2.4 | 2026-04-22T03:28:38.582Z | user\n\n支持**加粗**、*斜体*、列表渲染；修复标题#号遗漏bug\n\nv5.2.3 | 2026-04-22T03:20:47.834Z | user\n\n支持标准Markdown标题(# )和分隔线(---)\n\nv5.2.2 | 2026-04-21T16:13:51.785Z | user\n\n修复页眉公司信息 & 元数据表格：会议纪要页眉显示公司名称+LOGO，元数据行自动转换为表格\n\nv5.2.1 | 2026-04-21T16:10:42.276Z | user\n\n完善会议纪要格式：修复标题层级，chapter保留原文，section/article正确strip前缀\n\nv5.2.0 | 2026-04-21T16:04:32.255Z | user\n\n修复表格解析：支持无前导|的表格行\n\nv5.1.0 | 2026-04-21T05:33:58.917Z | user\n\n修复Markdown表格解析，支持GFM标准对齐标记和转义管道符\n\nv5.0.0 | 2026-04-19T12:50:03.021Z | user\n\nv5.0多规范自动识别：公文/合同/会议纪要/技术方案/需求文档/工作报告\n\nv4.1.3 | 2026-04-19T12:11:02.697Z | user\n\nbuild_table分隔行过滤修复，版本历史表不再出现多余横线\n\nv4.1.2 | 2026-04-19T12:03:51.941Z | user\n\n修复build_table过滤分隔行bug，修复版本历史表多出一行横线的问题\n\nv4.1.1 | 2026-04-12T17:46:14.147Z | user\n\n修复字体嵌入问题，新增WeasyPrint备用方案\n\nv4.1.0 | 2026-04-12T12:43:28.155Z | user\n\nv4.1.0: 新增Word完美导出PDF功能（依赖LibreOffice，支持批量转换）\n\nv4.0.0 | 2026-04-12T11:49:39.463Z | user\n\nv4.0.0: 完善GB/T 9704标准、添加愿景理念、完善会议纪要/合同/报告/周报格式规范\n\nv2.2.0 | 2026-04-12T06:59:51.539Z | auto\n\nVersion 2.2.0\n\n- No file changes detected for this release.\n- Skill version and documentation remain consistent with previous version (3.1.0 in SKILL.md).\n- No new features, fixes, or content updates included in this version.\n\nv3.1.0 | 2026-04-12T06:32:51.268Z | auto\n\n- 新增模板模式：支持用户上传 .docx 模板文件，自动分析并匹配模板结构与样式生成文档。\n- 规则模式详化：丰富了文本到标准 GB/T 9704-2012 企业文档格式的自动化处理和样式细则。\n- 明确文档元数据、编号、版本、密级等企业规范自动生成规则。\n- 支持自动插入版本历史、审批签字区及自定义表格样式。\n- 文档生成接口和命令行调用方法说明更清晰，支持参数化输出。\n- 扩展触发词和快速操作参考，便捷触发不同文档需求。\n\nArchive index:\n\nArchive v7.9.4: 33 files, 119834 bytes\n\nFiles: _meta.json (144b), LICENSE (1145b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (52447b), scripts/create-word-doc.py (53437b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), skill-card.md (2660b), SKILL.md (22861b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nFile v7.9.4:SKILL.md\n\n---\nname: huo15-openclaw-office-doc\ndisplayName: 火一五文档技能\ndescription: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。\nversion: 7.9.4\naliases:\n  - 火一五文档技能\n  - 文档生成\n  - Word生成\n  - PDF生成\n  - 多规范文档\ndependencies:\n  python-packages:\n    - python-docx\n    - reportlab\n    - pygments  # 可选；装了即代码块语法高亮\n---\n\n# 火一五文档技能 v7.9.1\n\n> 企业级 Word & 原生 PDF 文档生成 — 青岛火一五信息科技有限公司\n\n**愿景：** 加速企业向全场景人工智能机器人转变\n**理念：** 打破信息孤岛，用一套系统驱动企业增长\n\n---\n\n## 〇、v7.9.1（正文默认仿宋）\n\n**变更**：除合同 7 类外，所有文体（需求文档 / 技术方案 / 研究报告 / 手册 / 方案 / 公文等）正文字体默认由**宋体改为仿宋**；标题保持黑体 / 方正小标宋。契合中文公文与方案文档规范（正文仿宋 GB），观感更正式统一。\n\n- 合同类（劳动 / 服务 / 技术开发 / 销售 / 采购 / NDA / 合作）**保持宋体**（商业惯例）\n- 调用 `create-word-doc.py` 生成的非合同文档，正文自动为仿宋，**无需再后处理改字体**\n- macOS 用 STFangsong 渲染，Windows / WPS 用系统「仿宋」\n\n---\n\n## 一、v7.8.5 hotfix（**ELEPHANT-IN-THE-ROOM** — LOGO 宽度错算导致页眉跑出页面）\n\n**用户反馈\"v7.8.1/v7.8.2/v7.8.3 还是没有页眉、字体不对\"** — pdftoppm 栅格化亲眼验证 + PyMuPDF 解 PDF stream 找到真凶：\n\n```python\n# v7.7~v7.8.4 错误代码\nimg = Image(logo_path, height=target_h)        # platypus Flowable\niw, ih = img.wrap(page_w, page_h)               # iw 返回原图像素宽（如 2048）\ntarget_w = iw * (target_h / ih) if ih else target_h\n# ↑ iw=2048, ih=25.5 → target_w = 2048 * (25.5/25.5) = 2048pt\n```\n\n`drawImage(width=2048, height=25.5, preserveAspectRatio=True)` 在 2048pt 宽容器里**居中** 25.5pt 实际 LOGO，居中偏移 `(2048-25.5)/2 = 1011pt`。LOGO 实际 x = `79 + 1011 = 1090pt`，**远超 page 595pt 宽** — LOGO 跑到页外！页眉文字 `text_x = x_start + logo_w = 79 + 2053 = 2133pt` 也跑到页外。\n\n**所以\"页眉只有一条灰线\"** — line 用绝对坐标没问题，drawImage/drawString 用 transform matrix 全跑页外。\n\n**修复**：用 `reportlab.lib.utils.ImageReader.getSize()` 直接读 LOGO 像素尺寸等比缩放，不依赖 platypus `Image.wrap()`。\n\n```python\nfrom reportlab.lib.utils import ImageReader\nir = ImageReader(logo_path)\niw, ih = ir.getSize()                # 像素尺寸，2048×2048\ntarget_w = target_h * iw / ih        # 25.5 * 2048/2048 = 25.5pt 正确\n```\n\n**v7.8.0~v7.8.4 都修错了方向**（字体 subface / fontconfig fallback / two-pass canvas resource / onPage 时机）。这次用 PyMuPDF 解 PDF stream 看到 `25.5 0 0 25.5 1090.614 803.622 cm` 才直接定位到 LOGO transform 错位。**亲眼看 + 拆 PDF stream 是诊断这类视觉 bug 的唯一可靠路径。**\n\n附带：chrome 从 two-pass canvas 子类移到 `PageTemplate.onPage` 回调（`make_chrome_callback`），架构更干净。\n\n---\n\n## 〇、v7.8.0~v7.8.4 中间版本（合并摘要 — 都没修到真因）\n\n| 版本 | 改动方向 | 实际效果 |\n|---|---|---|\n| v7.8.0 | LibreOffice filter 7 项保真 + 平台感知 backend | 字体/排版 marginal 改善，元凶未触 |\n| v7.8.1 | macOS Songti.ttc subface 0→6 / STHeiti 0→1（修繁体特黑） | 嵌入字体名变对，但页眉仍隐身 |\n| v7.8.2 | LibreOffice 路径 docx 字体名平台映射（\"宋体\"→\"宋体-简\"） | LibreOffice 路径有效，PDF 直出仍隐身 |\n| v7.8.3 | 文案：LibreOffice 标为推荐默认 | 文档级，无代码影响 |\n| v7.8.4 | (内部调试，setFillColor / 字体注册 trick) | 都没救页眉 |\n\n→ 都是错方向。**真因在 v7.8.5 才被定位**：LOGO `Image.wrap()` 返回 iw 没等比缩放 → target_w 错算 2048pt → drawImage 居中偏移 1011pt → LOGO+chrome 文字跑出页面右边。\n\n---\n\n## 〇、v7.7 修复（PDF 直出与 Word 视觉对齐 — 摘要）\n\n修了 3 处对齐：页眉用 `stringWidth()` 居中（修正中文公司名偏右）/ leading × 1.2 系数（21.6pt 对齐 Word 1.5 倍行距）/ firstLineIndent = size × 2（24pt 对齐 Word `firstLineChars=200`）。详细数学验证见 git log `v7.7.0` 提交。\n\n---\n\n## 一、v7.5 关键变化（合同细分 7 类 + 配套范本）\n\n> 用户反馈：\"合同帮我再细分\"。\n\n通用\"合同\"在 ToB 场景下太粗 — 一份合同应不应该带 试用期 / 知识产权 / 退换货 /\n保密期限 / 收益分配 等条款，取决于具体合同子类。v7.5 把合同细分为 7 类：\n\n| 子类 | 触发关键词 | 适用场景 | 范本 |\n|------|-----------|---------|------|\n| **劳动合同** | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | HR 招聘入职 | [templates/劳动合同.md](templates/劳动合同.md) |\n| **服务合同** | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS / 运维 | 长期服务 | [templates/服务合同.md](templates/服务合同.md) |\n| **技术开发合同** | 软件开发 / 委托开发 / 定制开发 / 开发合同 | 一次性开发 | [templates/技术开发合同.md](templates/技术开发合同.md) |\n| **销售合同** | 销售合同 / 货物销售 / 软件许可 / 经销 | 售方角度 | [templates/销售合同.md](templates/销售合同.md) |\n| **采购合同** | 采购合同 / 物资采购 / 设备采购 / 框架采购协议 | 购方角度 | [templates/采购合同.md](templates/采购合同.md) |\n| **保密协议** | 保密协议 / NDA / 信息保密 / 双向保密 | 保密信息保护 | [templates/保密协议.md](templates/保密协议.md) |\n| **合作协议** | 战略合作协议 / 联营协议 / 联合开发协议 | 有约束力合作 | [templates/合作协议.md](templates/合作协议.md) |\n\n通用\"合同\"作为兜底保留 — 输入命中\"合同\"但没匹配到具体子类时使用。\n\n视觉上 7 个合同子类共享通用合同的版式（宋体 / 标准页边距 / 无文档壳 / 第一条 ~\n第N条结构）；差异在 **正文结构** 与 **范本内容**。FORMAT_KEYWORDS 顺序保证子类\n关键词在通用\"合同\"之前命中。\n\n---\n\n> 历史变更详见文末 §十 版本历史。\n\n---\n\n## 二、39 类文档规范（v7.5）\n\n> 列含义：banner = 顶部右上 【内部】 红字；meta = 文档编号/版本/密级/日期 2 列表；\n> 版本史 = 末尾\"版本历史\"表；审批 = 末尾\"审批记录\"表；TOC = 自动目录。\n> 命中顺序由上至下；`auto` 命中后立即返回；`--doc-format <规范>` 强制覆盖。\n\n| 规范 | 触发关键词 | banner | meta | 版本史 | 审批 | TOC |\n|------|-----------|:------:|:----:|:------:|:----:|:---:|\n| **个人简历** ⭐v7.4 | 简历 / resume / CV | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **报价单** ⭐v7.4 | 报价单 / 商务报价 / 报价书 / 询价回复 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **新闻稿** ⭐v7.4 | 新闻稿 / 媒体通稿 / 发布稿 / press release | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **复盘报告** ⭐v7.4 | 复盘 / 项目复盘 / 项目总结 / 月度复盘 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **测试报告** ⭐v7.4 | 测试报告 / QA报告 / 验证报告 / 性能测试 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **故障报告** ⭐v7.4 | 故障报告 / 事故报告 / 故障复盘 / postmortem | ✅ | ✅ | ❌ | ❌ | ❌ |\n| **任命书** ⭐v7.4 | 任命书 / 聘任书 / 委任书 / 任命决定 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **应急预案** ⭐v7.4 | 应急预案 / 应急响应预案 / 应急处置方案 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **在职证明** ⭐v7.4 | 在职证明 / 离职证明 / 工作证明 / 收入证明 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **风险评估报告** ⭐v7.4 | 风险评估 / 风险报告 / 安全评估 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目计划书** ⭐v7.4 | 项目计划书 / 项目执行计划 / 项目章程 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目结项报告** ⭐v7.4 | 结项报告 / 项目收尾报告 / 项目交付总结 | ❌ | ✅ | ✅ | ✅ | ✅ |\n| **API文档** ⭐v7.4 | API文档 / 接口文档 / 接口规范 / openapi | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **部署文档** ⭐v7.4 | 部署文档 / 部署手册 / 上线手册 / runbook | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **备忘录** ⭐v7.4 | 备忘录 / MOU / 合作意向书 / 战略合作备忘录 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 验收单 ⭐v7.3 | 验收单 / 验收报告 / 交付确认书 / 项目验收 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 项目立项书 ⭐v7.3 | 立项申请 / 立项书 / 项目建议书 / 可行性研究报告 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 操作SOP ⭐v7.3 | SOP / 标准作业指导书 / 工艺文件 / 操作规程 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| 公司制度 ⭐v7.3 | 规章制度 / 管理办法 / 实施细则 / 管理细则 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 信函 ⭐v7.3 | 公函 / 商务函件 / 求职信 / 推荐信 / 邀请函 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 招投标书 | 招标书 / 投标书 / 投标文件 / 响应文件 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 商业计划书 | 商业计划书 / BP / 融资计划书 / 路演稿 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 用户手册 | 用户手册 / 操作手册 / 使用说明 / Manual | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 培训手册 | 培训手册 / 培训教材 / 教学大纲 / 员工手册 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 演讲稿 | 演讲稿 / 致辞稿 / 讲话稿 / 主题分享 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 研究报告 | 研究报告 / 学术论文 / 调研报告 / 白皮书 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **劳动合同** ⭐v7.5 | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **服务合同** ⭐v7.5 | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS 合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **技术开发合同** ⭐v7.5 | 软件开发合同 / 委托开发合同 / 定制开发 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **销售合同** ⭐v7.5 | 销售合同 / 货物销售 / 软件许可合同 / 经销 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **采购合同** ⭐v7.5 | 采购合同 / 物资采购 / 设备采购 / 框架采购 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **保密协议** ⭐v7.5 | 保密协议 / NDA / 信息保密 / 双向保密 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **合作协议** ⭐v7.5 | 战略合作协议 / 联营协议 / 联合开发协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 合同（通用兜底）| 合同 / 协议 / 协议书 / 补充协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 会议纪要 | 会议纪要 / 纪要 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 技术方案 | 技术方案 / 实施方案 / 解决方案 / 设计文档 / 架构设计 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 需求文档 | 需求规格 / SRS / PRD / 需求说明 / 需求文档 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 工作报告 | 工作报告 / 周报 / 月报 / 季报 / 年报 / 述职报告 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 公文（默认）| 未命中其他关键词 | ✅ | ✅ | ✅ | ✅ | ❌ |\n\n> 一行命令看全 17 种：`python3 scripts/create-word-doc.py --list-formats`。\n> CLI 精细控制：`--with-version-history / --no-version-history /\n> --with-approval / --no-approval /\n> --with-classification-banner / --no-classification-banner /\n> --with-doc-meta-table / --no-doc-meta-table /\n> --with-title-block / --no-title-block`。\n\n### 标题层级识别（每种规范独立）\n\n每种规范都有自己的章节编号正则；同时支持标准 Markdown `# / ## / ### / ####`。例如：\n\n| 规范 | 一级（chapter） | 二级（section） | 三级（article） |\n|------|---------------|---------------|----------------|\n| 公文 | 第X章/第X节 | 一、二、三、 | （一）（二） |\n| 合同 | 第X章/第X条 | 一、二、 | — |\n| 商业计划书 | 第X部分/一、二、 | 1.1 | 1.1.1 |\n| 用户手册 | 第X章 | X. | X.X |\n| 培训手册 | 模块X/单元X/第X课 | 一、二、 | X.X |\n| 招投标书 | 第X章/篇/部分 | 一、二、 | （一）（二） |\n| 研究报告 | 摘要/Abstract/引言/结论/参考文献/一、 | X. | X.X |\n\n---\n\n## 三、页眉 / 页脚规范\n\n### 3.1 页眉\n\n- **company**（默认）：LOGO + 公司名 + 文档编号 + 密级，**左对齐**\n- **minimal**（合同 / 用户手册 / 演讲稿）：LOGO + 公司名，**左对齐**，不显示编号 / 密级\n- **centered**（保留备选，当前无规范默认走此项）：仅公司名，居中\n- 底部统一灰线 `#888888`\n\n> v7.0 直接写 OOXML `<w:jc>` 并清 `<w:tabs>`，避免 WPS / 部分 Word 模板的样式继承覆盖。\n\n### 3.2 页脚\n\n- 所有规范统一为 `第 X 页 / 共 Y 页`，居中\n- Word：`PAGE` / `NUMPAGES` 字段码（打开时自动计算）\n- PDF：两遍渲染（NumberedCanvas）拿到真总页数\n\n---\n\n## 四、本地公司信息工作流\n\n页眉的公司名、LOGO 按以下优先级解析：\n\n1. **CLI 显式参数** `--company-name` / `--logo-path`\n2. **本地缓存** `~/.huo15/company-info.json`\n3. **Odoo `res.company`** 自动拉取（可用 `--no-odoo` 关闭）\n4. **退出码 2 + 结构化 JSON** — 以上都拿不到时让 Claude 触发补录流程\n\n### 4.1 标准流程（生成前）\n\n```bash\npython3 scripts/company-info.py check\n#   exit 0 + 完整 JSON  → 直接生成\n#   exit 2 + missing[]  → 进入补录\n```\n\n**补录流程**（Claude 执行）：\n\n1. 先查 auto-memory 中的 `huo15_company_info.md` / `user_identity.md`\n2. 仍缺失时用 `AskUserQuestion` 询问：公司全称、LOGO 路径、可选 slogan / 地址 / 电话 / 邮箱 / 官网\n3. 写入：\n   ```bash\n   python3 scripts/company-info.py set \\\n     --company-name \"<公司全称>\" --logo-path \"<LOGO绝对路径>\"\n   ```\n4. 同步写入 memory（`huo15_company_info.md`）\n\n---\n\n## 五、命令行\n\n```bash\n# Word 直出\npython3 scripts/create-word-doc.py --output 方案.docx \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-number \"HG-FA-2026-001\" --version \"V1.0\" --classification \"内部\" \\\n  --author \"辉火云管家·贾维斯\"\n\n# 一览 39 种 preset：\npython3 scripts/create-word-doc.py --list-formats\n\n# 原生 PDF 直出（不依赖 LibreOffice / Office）：\npython3 scripts/create-pdf-doc.py --output 方案.pdf \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-format 技术方案\n\n# Word → PDF（保留版式）：\npython3 scripts/word-to-pdf.py 方案.docx -o 方案.pdf\n```\n\n**关键 CLI 参数：**\n\n- `--doc-format <规范>` — 39 类规范任选；省略走 `auto` 自动识别\n- `--company-name / --logo-path` — 覆盖本地公司信息\n- `--with-version-history / --no-version-history` — 版本历史表\n- `--with-approval / --no-approval` — 审批记录表\n- `--with-classification-banner / --no-classification-banner` — 顶部 【内部】红字\n- `--with-doc-meta-table / --no-doc-meta-table` — 顶部元数据 2 列表\n- `--with-title-block / --no-title-block` — 标题大字块\n\n**何时用哪条路径**：只要 Word → 用 `create-word-doc.py`；只要 PDF →\n`create-pdf-doc.py`（最快）；要 Word + PDF 版式一致 → 先 word，再\n`word-to-pdf.py`。后端优先级 `libreoffice → docx2pdf → word_com` 自动回落。\n\n字体：macOS 自带 Songti.ttc / STHeiti.ttc；Linux 推荐 Noto CJK；\nWindows 可用 SimSun / SimHei。\n\n---\n\n## 六、Markdown 能力速查\n\n| 元素 | 写法 | 说明 |\n|------|------|------|\n| 标题 | `#`~`######` | 也支持规范专属编号（一、 / 1. / 1.1 / 第X章） |\n| 段落软换行 | 直接换行 | CJK ↔ CJK 不插入空格；ASCII 仍保留空格 |\n| 段落硬换行 | 行尾 `  ` 或 `\\` | 同段内强制换行 |\n| 列表 | `- item` / `* item` / `1. item` | |\n| 强调 | `**粗**` / `*斜*` / `` `inline code` `` | |\n| 表格 | 标准 GFM | 缺前导 `|` / 转义 `\\|` / 2 列起即可识别 |\n| 代码块 | `` ``` ``...`` ``` `` | 等宽灰底；带语言标签 |\n| 引用块 | `> ...` | 左侧橘色竖条 + 灰色段 |\n| 分隔线 | `---` / `***` / `___` | |\n| 元数据行 | `文档编号：XX | 版本：V1.0 | 密级：内部 | 日期：2026-04-27` | 自动两列表格 |\n| 分页符 | `---PAGE---` / `\\pagebreak` / `<!-- pagebreak -->` | 强制下一页 |\n| 空内容 | — | 写\"（无正文内容）\"灰字占位 |\n\n---\n\n## 七、Python API\n\n```python\n# Word\nfrom create_word_doc import create_word_doc\ncreate_word_doc(\n    output_path=\"文档.docx\",\n    title=\"技术方案：XXX系统\",\n    content=md_text,\n    doc_number=\"HG-FA-2026-001\",\n    version=\"V1.0\",\n    classification=\"内部\",\n    author=\"辉火云管家·贾维斯\",\n    doc_format=\"auto\",            # 12 类规范名 / 'auto'\n)\n\n# PDF\nfrom create_pdf_doc import create_pdf_doc\ncreate_pdf_doc(output_path=\"文档.pdf\", title=\"...\", content=md_text,\n               doc_format=\"商业计划书\")\n\n# Word → PDF\nfrom word_to_pdf import convert_to_pdf\nok, path = convert_to_pdf(\"方案.docx\", \"方案.pdf\",\n                          backend=\"auto\", keep_fonts=True)\n```\n\n> 缺公司信息时三个入口都抛 `RuntimeError`，message 是结构化 JSON，Claude 据此触发补录。\n\n---\n\n## 八、触发词\n\n通用：写 word / 写 PDF / 写文档 / 生成 word / 生成 PDF / 创建文档 / 导出文档 / Word 转 PDF。\n\n39 类规范触发词由 §二 表格中\"触发关键词\"列定义。常用：写合同 / 写协议 /\n写劳动合同 / 写服务合同 / 写技术开发合同 / 写销售合同 / 写采购合同 / 写 NDA /\n写保密协议 / 写战略合作协议 / 写方案 / 写报告 / 写会议纪要 / 写需求文档 /\n写 PRD / 写商业计划书 / 写 BP / 写用户手册 / 写培训手册 / 写招标书 / 写投标书 /\n写演讲稿 / 写研究报告 / 写白皮书 / 写验收单 / 写立项书 / 写 SOP / 写公司制度 /\n写公函 / 写邀请函 / 写简历 / 写 CV / 写报价单 / 写新闻稿 / 写复盘 / 写测试报告 /\n写故障报告 / 写 postmortem / 写任命书 / 写应急预案 / 写在职证明 / 写风险评估 /\n写项目计划书 / 写项目结项报告 / 写 API 文档 / 写部署文档 / 写 runbook / 写备忘录 /\n写 MOU。\n\n---\n\n## 九、目录结构\n\n```\nscripts/\n├── doc_core.py          # 共享核心：32 类预设 + Block AST 解析 + 内联 token\n│                        # v7.4：再扩 15 类预设 + 关键词优先级调整\n│                        # v7.3：FormatPreset 增 4 个文档壳开关\n├── company-info.py      # 本地公司信息读写 + Odoo 回落\n├── create-word-doc.py   # Word 渲染（python-docx + 强制 OOXML jc）\n│                        # v7.3：_strip_markdown_emphasis + _maybe_dedupe_h1_title\n├── create-pdf-doc.py    # 原生 PDF 渲染（reportlab + NumberedCanvas）\n│                        # v7.3：与 Word 端文档壳逻辑保持一致\n└── word-to-pdf.py       # Word → PDF 多后端转换\n\ntemplates/               # v7.4：15 份可直接拷贝改写的 markdown 范本\n├── 个人简历.md\n├── 报价单.md\n├── 新闻稿.md\n├── 复盘报告.md\n├── 测试报告.md\n├── 故障报告.md\n├── 任命书.md\n├── 应急预案.md\n├── 在职证明.md\n├── 风险评估报告.md\n├── 项目计划书.md\n├── 项目结项报告.md\n├── API文档.md\n├── 部署文档.md\n├── 备忘录.md\n└── README.md\n```\n\n---\n\n## 十一、未来路线（已调研、未实施）\n\n| 功能 | 业界参考 | 优先级 | 复杂度 | 拟引入依赖 |\n|------|---------|--------|-------|----------|\n| LaTeX → OMML 公式管线 | markdocx / Pandoc | 中 | 中 | latex2mathml + XSLT |\n| reference docx 模板继承 | Pandoc / Quarto | 中 | 中 | 仅模板文件 |\n| Typst 第四条 PDF 路径（30× 速度） | typst.app + zh-kit | 中 | 中 | typst 二进制 |\n| pandoc-crossref 风格交叉引用 `{#fig:xxx}` | pandoc-crossref | 中 | 中 | — |\n| 水印 + AES 加密 | msoffcrypto-tool | 低 | 小 | msoffcrypto-tool |\n| 修订追踪 / 批注 | docx-revisions | 低 | 大 | docx-revisions |\n| docxtpl Jinja2 模板槽 | docxtpl | 低 | 小 | docxtpl |\n\n> 任何一项触发刚需时再上；当前以稳定 + 中文友好 + 易维护为先。\n\n---\n\n## 十、版本历史\n\n详细版本历史见 git log。当前主要里程碑：\n- **v7.8.6**（最新）：**Word emoji 乱码修复** — markdown 内含 emoji(🎂🚗💰🦞✅⭐🇨🇳 等)生成 docx 后,在 WPS / LibreOffice / Linux Word 渲染时显示 ▢▢ 占位方块。根因:`_set_font` 把 ascii/hAnsi/eastAsia 三个 slot 都设为中文字体(PingFang/宋体/黑体),中文字体不含 emoji glyph 就 fallback 到方块。修复:(1)`_set_font` 加 `w:cs` slot 指向 `Segoe UI Emoji` 兜底;(2)新增 `_add_run` emoji-aware 包装,内部按 `_EMOJI_RE` 正则把 emoji 字符切到独立 run + 用 emoji 字体;(3)`render_inline` 改用 `_add_run` 覆盖所有 markdown 内联文本(bold/italic/code/text)。Mac/Linux 系统会自动 fallback 到 Apple Color Emoji / Noto Color Emoji。\n- **v7.8.x**：PDF 渲染保真度 — 字体 subface 修正 / leading 系数 / firstLineIndent 字符化 / LibreOffice filter 加固 / 平台感知后端优先级（详见上方〇章节）\n- **v7.5–v7.6**：39 类规范 + 合同细分 7 类 + KV 元数据归并 / TOC 占位回填 / PDF outline 修复\n- **v7.0–v7.4**：原生 PDF 直出（create-pdf-doc.py）+ 27→39 类扩张 + Pygments 代码高亮 + CJK 段落 OOXML 直写\n- **v6.x**：Block AST 重写 / 页眉恒含 LOGO / 页脚字段码\n- **v5.x**：多规范自动识别骨架 + company-info.py\n\n---\n\n**技术支持：** 青岛火一五信息科技有限公司\n\nFile v7.9.4:templates/README.md\n\n# 文档范本（v7.4 起 15 类 + v7.5 起 7 类合同细分 = 22 份）\n\n每个 markdown 范本是一份\"看了就能改\"的真实样例。\n直接拷走、把里面的占位字段（公司名 / 客户名 / 编号 / 日期 / 金额）替换成自己的，\n再用对应 preset 渲染即可。\n\n## v7.5 合同细分（7 份）⭐\n\n| 范本文件 | 对应规范 | 适用场景 |\n|---------|---------|---------|\n| [劳动合同.md](劳动合同.md) | `劳动合同` | HR 招聘、入职 |\n| [服务合同.md](服务合同.md) | `服务合同` | SaaS / 咨询 / 维保 / 实施 |\n| [技术开发合同.md](技术开发合同.md) | `技术开发合同` | 软件 / 硬件一次性开发 |\n| [销售合同.md](销售合同.md) | `销售合同` | 软件许可销售 / 货物销售 |\n| [采购合同.md](采购合同.md) | `采购合同` | 设备 / 物资 / 服务采购 |\n| [保密协议.md](保密协议.md) | `保密协议` | NDA，单向 / 双向 |\n| [合作协议.md](合作协议.md) | `合作协议` | 战略合作（有约束力，区别于 MOU）|\n\n## v7.4 通用范本（15 份）\n\n| 范本文件 | 对应规范 | 推荐用法 |\n|---------|---------|---------|\n| [个人简历.md](个人简历.md) | `个人简历` | 紧凑单页，无文档壳 |\n| [报价单.md](报价单.md) | `报价单` | 表格驱动，明显合计 |\n| [新闻稿.md](新闻稿.md) | `新闻稿` | dateline + 主体 + 媒体联系人 |\n| [复盘报告.md](复盘报告.md) | `复盘报告` | 项目复盘标准结构 |\n| [测试报告.md](测试报告.md) | `测试报告` | 含完整文档壳 + 缺陷统计 |\n| [故障报告.md](故障报告.md) | `故障报告` | 时间线 + 根因 + 改进项 |\n| [任命书.md](任命书.md) | `任命书` | letterhead 单页 |\n| [应急预案.md](应急预案.md) | `应急预案` | 完整文档壳 + 分级流程 |\n| [在职证明.md](在职证明.md) | `在职证明` | letterhead 单页 |\n| [风险评估报告.md](风险评估报告.md) | `风险评估报告` | 风险矩阵 + 应对措施 |\n| [项目计划书.md](项目计划书.md) | `项目计划书` | 完整文档壳 + 里程碑 |\n| [项目结项报告.md](项目结项报告.md) | `项目结项报告` | 收尾 + 客户评价 + 后续支持 |\n| [API文档.md](API文档.md) | `API文档` | OpenAPI 风格 |\n| [部署文档.md](部署文档.md) | `部署文档` | 步骤式 + 故障排查 + 回滚 |\n| [备忘录.md](备忘录.md) | `备忘录` | MOU 形式，双方签章（无约束力意向）|\n\n## 怎么用\n\n```bash\n# 拷一份范本\ncp ~/.openclaw/skills/huo15-openclaw-office-doc/templates/报价单.md \\\n   /tmp/我的报价单.md\n\n# 编辑成自己的内容\nvim /tmp/我的报价单.md\n\n# 渲染（auto 会按标题命中 报价单 preset）\npython3 ~/.openclaw/skills/huo15-openclaw-office-doc/scripts/create-word-doc.py \\\n  --output 我的报价单.docx \\\n  --title \"软件开发服务报价单\" \\\n  --content @/tmp/我的报价单.md\n```\n\n也可以让 LLM 直接基于范本生成，先把范本贴给它做参考，再让它按你的具体需求改写。\n\n## 既有 17 类（v7.3 及之前）尚无独立范本\n\n公文 / 合同（通用）/ 会议纪要 / 技术方案 / 需求文档 / 工作报告 / 商业计划书 /\n用户手册 / 培训手册 / 招投标书 / 演讲稿 / 研究报告 / 验收单 / 项目立项书 /\n操作SOP / 公司制度 / 信函 — 这些规范在 v7.0 ~ v7.3 已经迭代过；如有需要，\n后续可以按本目录格式继续扩。\n\n> **注意：** 通用\"合同\"作为兜底（输入命中\"合同\"但没匹配上具体子类时使用），\n> 可参考任一合同子类范本（结构高度相似，只改第一条/第二条的具体内容即可）。\n\nFile v7.9.4:_meta.json\n\n{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-openclaw-office-doc\",\n  \"version\": \"7.9.4\",\n  \"publishedAt\": 1787489325794\n}\n\nFile v7.9.4:skill-card.md\n\n## Description:\n\nGenerates enterprise Word and PDF documents from markdown-style content across business formats, including contracts, reports, plans, API docs, deployment docs, resumes, quotes, and press releases.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhaobod1](https://clawhub.ai/user/zhaobod1)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nEmployees, external business users, and developers can use this skill to draft structured Chinese enterprise documents and convert markdown-style source content into Word or PDF deliverables. It is suited for contracts, project and operations reports, technical documentation, and administrative documents where format presets and company branding are useful.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The document generators can use local company metadata and may fall back to Odoo credentials when that path is enabled.\n\nMitigation: Use explicit --company-name and --logo-path values, or run with --no-odoo unless the credential flow and target Odoo instance have been reviewed.\n\nRisk: The bundled OpenClaw configuration generator can create persistent identity and memory files in the selected output directory.\n\nMitigation: Run it first against a temporary review directory and copy only approved files into an active OpenClaw workspace.\n\nRisk: Generated business, HR, security, or legal documents can be incomplete or incorrect if the prompt content or templates are not reviewed.\n\nMitigation: Require human review before using generated contracts, policies, incident materials, or customer-facing documents.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zhaobod1/skills/huo15-openclaw-office-doc)\n- [Publisher profile](https://clawhub.ai/user/zhaobod1)\n- [Template README](templates/README.md)\n- [OpenOffice PDF export reference](https://wiki.openoffice.org/wiki/API/Tutorials/PDF_export)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Files, Shell commands, Configuration]\n\n**Output Format:** [Markdown guidance with shell commands that can create .docx and .pdf files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Generated documents may depend on local company metadata, logo files, fonts, and optional conversion backends.]\n\n## Skill Version(s):\n\n7.9.4 (source: SKILL.md frontmatter and ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v7.9.4:templates/API文档.md\n\n# 辉火云开放平台 API 文档\n\n## 一、概述\n\n辉火云开放平台为合作伙伴提供 RESTful API，覆盖项目管理、CRM、联系人、报销四个核心模块。\n\n**Base URL**：`https://api.huo15.com/v1`\n**协议**：HTTPS\n**编码**：UTF-8\n**响应格式**：JSON\n\n---\n\n## 二、鉴权\n\n所有 API 调用需在 HTTP Header 携带：\n\n```\nAuthorization: Bearer <ACCESS_TOKEN>\nX-Huo15-Tenant: <租户ID>\n```\n\n`ACCESS_TOKEN` 通过 `/auth/token` 获取，有效期 2 小时；过期后调用 `/auth/refresh` 刷新。\n\n---\n\n## 三、通用响应格式\n\n```json\n{\n  \"code\": 0,\n  \"message\": \"ok\",\n  \"data\": { ... },\n  \"request_id\": \"req-xxxx-xxxx-xxxx\"\n}\n```\n\n`code = 0` 表示成功；非 0 表示失败，对应错误码见 §六。\n\n---\n\n## 四、项目管理接口\n\n### POST /projects\n\n**说明**：创建项目\n\n**请求体**：\n\n```json\n{\n  \"name\": \"辉火云 v19.0 升级\",\n  \"description\": \"大版本升级，含多模型路由 + Vue 3 迁移\",\n  \"owner_id\": \"user-001\",\n  \"start_date\": \"2026-05-01\",\n  \"end_date\": \"2026-10-15\",\n  \"tags\": [\"v19\", \"upgrade\"]\n}\n```\n\n**响应**：\n\n```json\n{\n  \"code\": 0,\n  \"data\": {\n    \"id\": \"proj-2026-001\",\n    \"name\": \"辉火云 v19.0 升级\",\n    \"status\": \"planning\",\n    \"created_at\": \"2026-04-27T10:30:00+08:00\"\n  }\n}\n```\n\n### GET /projects/{id}\n\n**说明**：查询项目详情\n\n**路径参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `id` | string | 项目 ID |\n\n**响应示例**：见 POST 返回。\n\n### PATCH /projects/{id}\n\n**说明**：更新项目（部分字段）\n\n### DELETE /projects/{id}\n\n**说明**：删除项目（软删除）\n\n---\n\n## 五、CRM 接口\n\n### POST /customers\n\n**说明**：创建客户\n\n**请求体**：\n\n```json\n{\n  \"name\": \"与境出行\",\n  \"contact\": \"张鹏\",\n  \"phone\": \"138-0000-0000\",\n  \"industry\": \"出行\",\n  \"tags\": [\"重点客户\", \"出境游\"]\n}\n```\n\n### GET /customers\n\n**说明**：客户列表（支持分页与筛选）\n\n**Query 参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `page` | int | 页码，默认 1 |\n| `size` | int | 每页条数，默认 20，最大 100 |\n| `industry` | string | 行业筛选 |\n| `tag` | string | 标签筛选 |\n\n---\n\n## 六、错误码\n\n| code | 含义 | HTTP 状态 |\n|-----:|------|----------:|\n| 0 | 成功 | 200 |\n| 40001 | 参数缺失 | 400 |\n| 40002 | 参数格式错误 | 400 |\n| 40101 | 鉴权失败（token 无效）| 401 |\n| 40102 | token 过期 | 401 |\n| 40301 | 权限不足 | 403 |\n| 40401 | 资源不存在 | 404 |\n| 42901 | 调用频率超限 | 429 |\n| 50001 | 服务内部错误 | 500 |\n| 50002 | 第三方服务异常 | 502 |\n\n---\n\n## 七、限流\n\n- 默认限流：每租户 1000 次 / 分钟\n- 突发限流：5 秒内最多 50 次\n- 命中限流返回 `429`，`Retry-After` Header 给出重试间隔\n\n---\n\n## 八、变更日志\n\n| 版本 | 日期 | 变更 |\n|------|------|------|\n| v1.3 | 2026-04-27 | 新增 `/projects` 标签筛选 |\n| v1.2 | 2026-03-15 | `/customers` 增加分页 |\n| v1.1 | 2026-02-01 | 错误码体系重构 |\n| v1.0 | 2026-01-15 | 首发 |\n\nFile v7.9.4:templates/个人简历.md\n\n# 张三\n\n**手机：** 138-0000-0000   **邮箱：** zhangsan@example.com   **居住地：** 山东·青岛\n**LinkedIn：** linkedin.com/in/zhangsan   **GitHub：** github.com/zhangsan\n\n---\n\n## 求职意向\n\n后端工程师 / 全栈工程师 / 期望薪资：35-50K · 立即到岗\n\n---\n\n## 教育经历\n\n| 时间 | 学校 | 专业 / 学历 |\n|---|---|---|\n| 2018.09 - 2022.06 | 中国海洋大学 | 计算机科学与技术 · 本科 |\n\nGPA 3.7/4.0；曾获国家奖学金、全国大学生程序设计竞赛省赛一等奖。\n\n---\n\n## 工作经历\n\n### 2024.03 - 至今 · 青岛火一五信息科技 · 后端工程师\n\n- 主导 huo15 ERP 微服务化改造，把 10+ 单体模块拆为 18 个独立服务，部署效率提升 4×\n- 设计并落地 wecom 消息队列异步化，单日处理消息从 5w 提升到 80w\n- 维护核心订单库（PostgreSQL，TB 级），主导一次主备切换故障复盘\n\n### 2022.07 - 2024.02 · 某互联网公司 · Java 工程师\n\n- 负责会员中心后端，QPS 1w+，P99 < 80ms\n- 推动 Redis 集群迁移，节省云成本 30%\n\n---\n\n## 项目经验\n\n### huo15-openclaw-office-doc · 个人开源项目 · 2026.04\n\n- 17 类企业文档规范的 Word / PDF 自动生成器，已发布到 ClawHub\n- 解决 LLM 写文档时排版重复 / 格式错乱的痛点\n- 技术栈：Python · python-docx · reportlab · OOXML\n\n---\n\n## 技能\n\n- **后端**：Java / Python / Go · Spring Boot · FastAPI\n- **数据**：PostgreSQL · Redis · ClickHouse · Kafka\n- **DevOps**：Docker · Kubernetes · GitLab CI · Terraform\n- **AI**：Anthropic API · LangChain · Prompt Engineering\n\n---\n\n## 自我评价\n\n10 年代码经验，习惯先想清再写；做 ToB 项目长期对接客户，能把模糊的\"想要\"翻译成可执行的需求；在团队里通常承担\"把控架构 + 兜底救火\"的角色。\n\nFile v7.9.4:templates/任命书.md\n\n# 任命书\n\n青岛火一五信息科技有限公司全体员工：\n\n经公司董事会研究决定，现任命：\n\n**张三** 同志（身份证号：370281xxxxxxxx0001）为本公司**首席技术官（CTO）**，主管公司技术研发体系，全面负责辉火云产品线的技术战略、架构设计、研发管理、技术品牌建设等工作。\n\n任期自 2026 年 5 月 1 日起，为期三年。\n\n希望张三同志认真履行 CTO 职责，恪守职业操守，团结带领技术团队，持续推动公司技术能力升级，为公司\"加速企业向全场景人工智能机器人转变\"的愿景贡献力量。\n\n公司各部门、各岗位人员应给予全力支持与配合。\n\n特此任命。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n董事长：__________________\n\n二〇二六年四月二十七日\n\n（公司公章）\n\nFile v7.9.4:templates/保密协议.md\n\n# 保密协议（NDA）\n\n**协议编号：** HHY-NDA-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**披露方（甲方）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n\n**接收方（乙方）：** xx 公司\n**法定代表人：** xxx\n**地址：** xxx\n\n鉴于双方拟就 **辉火云企业套件 v19.0 大版本合作** 事宜进行协商和合作，过程中双方需要相互披露各自的商业秘密、技术信息等，为明确双方的保密义务，签订本保密协议。\n\n---\n\n## 第一条 保密信息的定义\n\n本协议所称\"保密信息\"是指披露方以书面、口头、电子或其他形式向接收方披露的，与合作事项相关的所有信息，包括但不限于：\n\n1. **商业信息：** 财务数据、客户名单、定价策略、营销计划、商业模式\n2. **技术信息：** 源代码、技术架构、算法、数据库设计、未公开专利\n3. **运营信息：** 内部组织架构、人员安排、员工薪酬、供应商信息\n4. **产品信息：** 未发布功能、产品路线图、设计稿、测试数据\n5. **其他：** 披露方明确标注为\"保密\"的任何信息\n\n---\n\n## 第二条 不属于保密信息的情形\n\n下列情形之一的信息不属于保密信息：\n\n1. 在披露之前已为公众所知，且非因接收方原因泄漏的\n2. 接收方在披露之前已合法持有的（须有书面证据）\n3. 由第三方合法披露给接收方且无保密义务的\n4. 接收方独立开发，不依赖披露方信息的\n5. 法律法规要求披露或司法 / 行政机关依法要求披露的\n\n---\n\n## 第三条 保密义务\n\n接收方对披露方的保密信息承担以下义务：\n\n1. **不披露：** 未经披露方书面同意，不得向任何第三方披露\n2. **不使用：** 仅可用于本协议约定的合作目的，不得用于其他用途\n3. **限制接触人员：** 仅限于\"必须知悉\"原则下的接收方员工 / 顾问；接收方应与这些人员签订同等保密义务的书面协议\n4. **妥善保管：** 采取与保护自身同等重要保密信息相同水平的措施\n5. **不复制：** 未经披露方书面同意，不得复制或备份保密信息（合作必需的工作副本除外）\n\n---\n\n## 第四条 保密期限\n\n1. **本协议有效期：** 自签订之日起 **3 年**\n2. **保密义务期限：** 接收方对保密信息的保密义务自接收之日起 **5 年**\n3. **协议终止后：** 接收方应在 30 日内归还或销毁所有保密信息材料，并向披露方提交《销毁确认书》\n\n---\n\n## 第五条 保密信息的归还与销毁\n\n1. 协议终止时，或披露方提出书面要求时，接收方应立即：\n   - 归还所有以书面、电子或其他物理形式持有的保密信息\n   - 销毁无法归还的副本（包括电子文件 / 内部文档 / 笔记 / 备份）\n   - 提交《销毁确认书》并由经办人签字\n2. 法律要求保留的副本（如审计 / 法律记录），仍受本协议保密义务约束\n\n---\n\n## 第六条 双向保密（如适用）\n\n本协议为 **双向保密协议**：双方互为披露方与接收方，均承担相同保密义务。\n\n> 单向 NDA 适用时，删除本条。\n\n---\n\n## 第七条 违约责任\n\n1. 接收方违反本协议任一条款的，应：\n   - 立即停止违约行为\n   - 向披露方支付违约金 **人民币 50 万元**（包括但不限于实际损失、可得利益损失、商誉损失等）\n   - 承担披露方为追究违约责任发生的合理费用（律师费 / 鉴定费 / 公证费等）\n2. 违约金不足以弥补披露方实际损失的，接收方还应赔偿损失差额\n\n---\n\n## 第八条 不构成授权\n\n本协议不构成任何明示或默示的：\n\n- 知识产权许可\n- 合作 / 合资关系\n- 采购 / 销售义务\n- 雇佣关系\n\n任何此类关系应通过单独签订正式合同确立。\n\n---\n\n## 第九条 适用法律与争议解决\n\n1. 本协议适用 **中华人民共和国法律**\n2. 因本协议产生的争议，双方应友好协商；协商不成的，提交 **披露方所在地有管辖权的人民法院** 诉讼解决\n\n---\n\n## 第十条 其他\n\n1. 本协议未尽事宜，由双方另行协商\n2. 本协议任一条款被认定为无效或不可执行的，不影响其他条款效力\n3. 本协议的修改 / 补充须以书面形式经双方签字盖章后生效\n4. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 披露方（甲方）（青岛火一五信息科技有限公司）| 接收方（乙方）（xx 公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.4:templates/劳动合同.md\n\n# 劳动合同\n\n**合同编号：** HHY-LD-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方（用人单位）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方（劳动者）：** 张三\n**身份证号：** 370281xxxxxxxx0001\n**居住地址：** 山东省青岛市市南区xx路xx号\n**联系电话：** 138-0000-0000\n\n根据《中华人民共和国劳动法》、《中华人民共和国劳动合同法》等相关法律法规，甲乙双方在平等自愿、协商一致的基础上签订本合同。\n\n---\n\n## 第一条 合同期限\n\n本合同为**固定期限**劳动合同，期限自 **2026年5月1日** 起至 **2029年4月30日** 止，共 **3 年**。\n\n试用期为 **3 个月**，自 2026年5月1日 起至 2026年7月31日 止。\n\n---\n\n## 第二条 工作内容与工作地点\n\n1. 乙方岗位：**后端工程师**\n2. 工作内容：参与辉火云企业套件后端开发、维护与优化，按公司项目分配执行具体研发任务\n3. 工作地点：山东省青岛市黄岛区胶州湾路99号（甲方办公地址）；甲方因业务需要可调整工作地点，调整范围限于青岛市\n\n---\n\n## 第三条 工作时间与休息休假\n\n1. 实行**标准工时制**，每日工作 8 小时，每周工作 5 天；周六、周日为休息日\n2. 乙方依法享有法定节假日、年休假、婚假、产假、丧假等带薪休假\n3. 因业务需要安排加班，按《劳动法》规定支付加班工资或安排调休\n\n---\n\n## 第四条 劳动报酬\n\n1. **试用期工资：** 月工资人民币 28,000 元（税前）\n2. **转正后工资：** 月工资人民币 35,000 元（税前）\n3. **绩效奖金：** 按公司绩效考核制度发放，年度绩效奖金为 1-3 个月工资\n4. **工资支付：** 每月 15 日发放上月工资，通过银行转账支付到乙方指定账户\n5. 加班工资按《劳动法》规定标准计算\n\n---\n\n## 第五条 社会保险与福利\n\n1. 甲方依法为乙方缴纳社会保险（养老 / 医疗 / 失业 / 工伤 / 生育）和住房公积金\n2. 缴费基数按青岛市相关规定执行\n3. 乙方享有公司福利：商业医疗保险、节日福利、年度体检、餐补 30 元/工作日\n\n---\n\n## 第六条 劳动保护与劳动条件\n\n1. 甲方为乙方提供符合国家规定的工作环境与劳动保护用品\n2. 甲方依法对乙方进行职业培训、职业健康检查\n3. 乙方应遵守甲方的安全生产规章制度\n\n---\n\n## 第七条 保密与竞业限制\n\n1. **保密义务：** 乙方对甲方的商业秘密、技术秘密、客户信息、源代码等承担保密义务，期限自入职之日起至离职后 **2 年**\n2. **竞业限制：** 离职后 **24 个月**内，不得到与甲方有竞争关系的企业任职、不得自营同业；甲方按月支付竞业限制补偿金（基本工资的 30%）\n3. 违反保密 / 竞业限制约定的，乙方需向甲方支付违约金 **20 万元**，并赔偿由此造成的实际损失\n\n---\n\n## 第八条 知识产权\n\n1. 乙方在职期间，利用甲方资源、为完成甲方工作任务所产生的全部职务成果（包括但不限于代码、文档、专利、商标、设计），知识产权归甲方所有\n2. 乙方应配合甲方完成知识产权的申请、登记、转让等手续\n\n---\n\n## 第九条 合同变更与解除\n\n1. 经双方协商一致，可以变更或解除本合同\n2. 乙方解除合同需提前 **30 日**书面通知甲方（试用期内提前 3 日）\n3. 出现《劳动合同法》第三十九条、四十条、四十一条规定情形之一的，甲方可解除本合同\n\n---\n\n## 第十条 违约责任\n\n1. 一方违反本合同约定，造成对方损失的，应承担赔偿责任\n2. 违反保密义务、竞业限制的，按本合同第七条执行\n\n---\n\n## 第十一条 争议解决\n\n因本合同发生争议，双方应协商解决；协商不成的，向甲方所在地的劳动争议仲裁委员会申请仲裁；对仲裁裁决不服的，可向人民法院提起诉讼。\n\n---\n\n## 第十二条 其他\n\n1. 本合同未尽事宜，按国家相关法律法规及甲方规章制度执行\n2. 本合同一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（张三）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 本人签字：__________ |\n| 公司公章 | |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.4:templates/合作协议.md\n\n# 战略合作协议\n\n**协议编号：** HHY-HZ-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方：** xx 教育科技有限公司\n**法定代表人：** 王五\n**地址：** xxx\n**联系电话：** xxx\n\n甲乙双方本着\"优势互补、合作共赢、长期发展\"原则，就 **教育行业 AI 智能体联合开发与市场推广** 事宜，依据《中华人民共和国民法典》及相关法律法规，经平等友好协商，签订本战略合作协议。\n\n> **声明：** 本协议为有法律约束力的合作合同，区别于《合作意向书 / MOU》。\n\n---\n\n## 第一条 合作背景\n\n甲方专注于\"全场景人工智能机器人\"赛道，拥有辉火云企业套件 + Anthropic 模型路由 + 多场景 Agent 框架技术积累。乙方深耕教育培训行业 10 年，拥有完整的课程体系、师资资源与 50 万+ 学员用户。\n\n双方一致认可：通过合作可以实现\"AI + 教育\"在中国市场的快速落地，对双方均有重大战略价值。\n\n---\n\n## 第二条 合作内容\n\n### 一、产品合作\n\n1. 双方联合开发 **辉火云教育版**（基于辉火云企业版定制），覆盖：\n   - 智能助教 Agent\n   - 自动出题 / 批改 Agent\n   - 学情分析 Agent\n   - 家校沟通 Agent\n2. 知识产权：技术框架与底层 Agent 归甲方所有；教育行业的业务流程、内容、数据归乙方所有\n\n### 二、市场合作\n\n1. 乙方将辉火云教育版作为其 ToB 客户的标准 SaaS 推荐\n2. 甲方在教育行业的市场推广中，优先与乙方合作\n3. 双方联合参加教育行业展会与论坛，共同发布白皮书与案例\n\n### 三、技术合作\n\n1. 甲方为乙方提供专属技术支持团队（3 人）\n2. 乙方向甲方反馈一线教育场景需求，作为 AI 框架演进输入\n\n---\n\n## 第三条 合作模式与投入\n\n### 甲方投入\n\n1. **技术投入：** 投入 5 名工程师（PM 1 + 后端 2 + 前端 1 + AI 1）全职 6 个月\n2. **资金投入：** 100 万元用于云资源、Anthropic API 调用费、第三方组件采购\n3. **基础平台：** 免费授权乙方使用辉火云企业版（永久授权 + 教育版定制版本）\n\n### 乙方投入\n\n1. **业务投入：** 投入 3 名教育产品经理 + 5 名教研老师全职 6 个月\n2. **资金投入：** 200 万元用于市场推广、客户转化、运营人力\n3. **客户资源：** 投入 50 万+ 学员用户与 200 家合作机构，作为冷启动池\n\n---\n\n## 第四条 合作期限\n\n1. **协议有效期：** 自签订之日起 **3 年**\n2. **续约：** 期满前 90 日，双方可协商续约；如无书面续约，本协议自动终止\n3. **早期终止：** 任意一方提前 90 日书面通知，可单方面终止合作；终止后双方须妥善处理已合作客户的服务延续\n\n---\n\n## 第五条 收益分配\n\n1. **辉火云教育版** 销售收入按以下比例分配：\n   - 甲方 **60%**（含技术服务 + 平台维护成本）\n   - 乙方 **40%**（含市场推广 + 客户运营成本）\n2. 季度结算，每季度结束后 15 个工作日内结清\n\n---\n\n## 第六条 知识产权\n\n1. **本合作前各方原有知识产权：** 归原所有方所有，互不影响\n2. **合作期间共同开发成果：** 双方共有；任一方使用须事先取得对方书面同意\n3. **乙方业务数据：** 乙方拥有所有权，甲方可在脱敏后用于产品演进\n4. **甲方技术框架：** 甲方拥有所有权，乙方仅享有合作期间的使用权\n\n---\n\n## 第七条 排他性\n\n1. **市场排他：** 协议期内，乙方不得与其他 AI 厂商合作开发同类教育 AI 产品\n2. **技术排他：** 协议期内，甲方不得向其他教育公司提供本协议同等水平的技术合作\n3. **客户排他：** 双方共同开发的客户，须以本协议产品为唯一合作工具\n\n---\n\n## 第八条 保密义务\n\n双方对合作过程中获取的对方商业秘密、技术信息、客户信息承担保密义务，期限自协议签订之日起至协议终止后 **3 年**。具体保密义务参照另行签订的《保密协议》。\n\n---\n\n## 第九条 违约责任\n\n1. 任何一方违反本协议核心义务（投入 / 排他 / 保密）的，应承担违约金 **人民币 200 万元**，并赔偿对方实际损失\n2. 违约方应立即停止违约行为；继续违约的，守约方有权单方面解约\n\n---\n\n## 第十条 不可抗力\n\n因不可抗力导致协议无法履行的，受影响方应及时通知对方并提供证明，双方协商解除或变更协议，互不承担违约责任。\n\n---\n\n## 第十一条 争议解决\n\n双方因协议产生争议，应友好协商；协商不成的，提交 **甲方所在地有管辖权的人民法院** 诉讼解决。\n\n---\n\n## 第十二条 其他\n\n1. 本协议为双方就合作事项达成的完整协议；双方此前的口头或书面协议（如《合作意向书》）在本协议生效后均失效\n2. 本协议未尽事宜，双方另行签订补充协议\n3. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（xx 教育科技有限公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.4:templates/在职证明.md\n\n# 在职证明\n\n兹证明 **张三** 同志（身份证号：370281xxxxxxxx0001）自 **2024 年 3 月 15 日**起至今在我公司任职，目前担任 **后端工程师** 一职，月平均收入（税前）人民币 **35,000.00** 元（叁万伍仟元整）。\n\n该员工现为公司在职人员，劳动合同正常履行中。\n\n特此证明。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n人力资源部\n\n二〇二六年四月二十七日\n\n（公司公章）\n\n---\n\n> **声明**：本证明仅作为该员工在职情况之证明，不作为任何金融担保用途。\n> **联系电话**：0532-87821789  **邮箱**：hr@huo15.com\n\nFile v7.9.4:templates/备忘录.md\n\n# 战略合作备忘录\n\n**甲方：** 青岛火一五信息科技有限公司（\"火一五\"）\n**乙方：** 与境出行（\"与境\"）\n**签订日期：** 2026年4月27日\n**有效期：** 自签订日起 12 个月\n\n---\n\n## 一、合作背景\n\n火一五是一家专注\"全场景人工智能机器人\"的技术公司，已为 50+ 企业客户落地辉火云企业套件。与境是出境旅游服务平台运营方，正在从单点工具升级为全链路 SaaS 服务平台。\n\n双方在 2026 年 Q1 完成与境一期 MVP 项目的开发与上线，合作顺畅，结果超预期。基于此次成功合作，双方决定进一步深化合作，签订本战略合作备忘录。\n\n---\n\n## 二、合作内容\n\n### 一、产品合作\n\n1. **二期 APP 开发**：火一五承接与境出行的 iOS / Android 原生 APP 开发，预计 2026 年 6 月启动立项\n2. **AI 客服**：火一五基于 Claude Sonnet 4.6 为与境定制 AI 客服，覆盖出境签证、航班、保险三类咨询\n3. **数据分析**：双方联合搭建客户行为分析看板，与境提供数据，火一五提供平台\n\n### 二、市场合作\n\n1. 火一五在媒体宣传中可引用本案例（需经与境审阅同意）\n2. 与境在出境游行业活动中可优先推荐火一五作为技术合作伙伴\n3. 双方共同参加 2026 年青岛\"出境游 + AI\"行业论坛\n\n### 三、技术合作\n\n1. 火一五优先为与境提供新功能 Beta 试用机会\n2. 与境向火一五反馈一线业务场景，作为产品演进的输入\n\n---\n\n## 三、双方责任\n\n### 火一五\n\n- 在不冲突现有客户的前提下，向与境提供\"准战略客户\"待遇\n- 二期 APP 报价较常规标准下浮 10%\n- 关键 Bug（P0/P1）在 2 小时内响应\n\n### 与境\n\n- 在出境游行业内推荐火一五时不收取额外推广费\n- 至少每季度提供一次详细业务反馈\n- 案例宣传时配合火一五公关动作\n\n---\n\n## 四、保密\n\n双方在合作过程中获取的对方商业秘密、技术信息、客户信息均承担保密义务，期限自本备忘录签订之日起至终止后 3 年内有效。\n\n---\n\n## 五、有效期与终止\n\n1. 本备忘录有效期 12 个月，到期后双方协商续签\n2. 任意一方提前 30 天书面通知，可单方面终止本备忘录\n3. 本备忘录不构成任何法律意义上的合资 / 合营关系，具体业务合作以单独签订的合同为准\n\n---\n\n## 六、其他\n\n本备忘录一式两份，甲乙双方各执一份，自双方签字盖章之日起生效。\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（与境出行）|\n|:--:|:--:|\n| 法人代表（签字）：__________ | 法人代表（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nArchive v7.9.3: 33 files, 119652 bytes\n\nFiles: _meta.json (144b), LICENSE (1145b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (52447b), scripts/create-word-doc.py (53437b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), skill-card.md (2279b), SKILL.md (22861b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nFile v7.9.3:SKILL.md\n\n---\nname: huo15-openclaw-office-doc\ndisplayName: 火一五文档技能\ndescription: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。\nversion: 7.9.3\naliases:\n  - 火一五文档技能\n  - 文档生成\n  - Word生成\n  - PDF生成\n  - 多规范文档\ndependencies:\n  python-packages:\n    - python-docx\n    - reportlab\n    - pygments  # 可选；装了即代码块语法高亮\n---\n\n# 火一五文档技能 v7.9.1\n\n> 企业级 Word & 原生 PDF 文档生成 — 青岛火一五信息科技有限公司\n\n**愿景：** 加速企业向全场景人工智能机器人转变\n**理念：** 打破信息孤岛，用一套系统驱动企业增长\n\n---\n\n## 〇、v7.9.1（正文默认仿宋）\n\n**变更**：除合同 7 类外，所有文体（需求文档 / 技术方案 / 研究报告 / 手册 / 方案 / 公文等）正文字体默认由**宋体改为仿宋**；标题保持黑体 / 方正小标宋。契合中文公文与方案文档规范（正文仿宋 GB），观感更正式统一。\n\n- 合同类（劳动 / 服务 / 技术开发 / 销售 / 采购 / NDA / 合作）**保持宋体**（商业惯例）\n- 调用 `create-word-doc.py` 生成的非合同文档，正文自动为仿宋，**无需再后处理改字体**\n- macOS 用 STFangsong 渲染，Windows / WPS 用系统「仿宋」\n\n---\n\n## 一、v7.8.5 hotfix（**ELEPHANT-IN-THE-ROOM** — LOGO 宽度错算导致页眉跑出页面）\n\n**用户反馈\"v7.8.1/v7.8.2/v7.8.3 还是没有页眉、字体不对\"** — pdftoppm 栅格化亲眼验证 + PyMuPDF 解 PDF stream 找到真凶：\n\n```python\n# v7.7~v7.8.4 错误代码\nimg = Image(logo_path, height=target_h)        # platypus Flowable\niw, ih = img.wrap(page_w, page_h)               # iw 返回原图像素宽（如 2048）\ntarget_w = iw * (target_h / ih) if ih else target_h\n# ↑ iw=2048, ih=25.5 → target_w = 2048 * (25.5/25.5) = 2048pt\n```\n\n`drawImage(width=2048, height=25.5, preserveAspectRatio=True)` 在 2048pt 宽容器里**居中** 25.5pt 实际 LOGO，居中偏移 `(2048-25.5)/2 = 1011pt`。LOGO 实际 x = `79 + 1011 = 1090pt`，**远超 page 595pt 宽** — LOGO 跑到页外！页眉文字 `text_x = x_start + logo_w = 79 + 2053 = 2133pt` 也跑到页外。\n\n**所以\"页眉只有一条灰线\"** — line 用绝对坐标没问题，drawImage/drawString 用 transform matrix 全跑页外。\n\n**修复**：用 `reportlab.lib.utils.ImageReader.getSize()` 直接读 LOGO 像素尺寸等比缩放，不依赖 platypus `Image.wrap()`。\n\n```python\nfrom reportlab.lib.utils import ImageReader\nir = ImageReader(logo_path)\niw, ih = ir.getSize()                # 像素尺寸，2048×2048\ntarget_w = target_h * iw / ih        # 25.5 * 2048/2048 = 25.5pt 正确\n```\n\n**v7.8.0~v7.8.4 都修错了方向**（字体 subface / fontconfig fallback / two-pass canvas resource / onPage 时机）。这次用 PyMuPDF 解 PDF stream 看到 `25.5 0 0 25.5 1090.614 803.622 cm` 才直接定位到 LOGO transform 错位。**亲眼看 + 拆 PDF stream 是诊断这类视觉 bug 的唯一可靠路径。**\n\n附带：chrome 从 two-pass canvas 子类移到 `PageTemplate.onPage` 回调（`make_chrome_callback`），架构更干净。\n\n---\n\n## 〇、v7.8.0~v7.8.4 中间版本（合并摘要 — 都没修到真因）\n\n| 版本 | 改动方向 | 实际效果 |\n|---|---|---|\n| v7.8.0 | LibreOffice filter 7 项保真 + 平台感知 backend | 字体/排版 marginal 改善，元凶未触 |\n| v7.8.1 | macOS Songti.ttc subface 0→6 / STHeiti 0→1（修繁体特黑） | 嵌入字体名变对，但页眉仍隐身 |\n| v7.8.2 | LibreOffice 路径 docx 字体名平台映射（\"宋体\"→\"宋体-简\"） | LibreOffice 路径有效，PDF 直出仍隐身 |\n| v7.8.3 | 文案：LibreOffice 标为推荐默认 | 文档级，无代码影响 |\n| v7.8.4 | (内部调试，setFillColor / 字体注册 trick) | 都没救页眉 |\n\n→ 都是错方向。**真因在 v7.8.5 才被定位**：LOGO `Image.wrap()` 返回 iw 没等比缩放 → target_w 错算 2048pt → drawImage 居中偏移 1011pt → LOGO+chrome 文字跑出页面右边。\n\n---\n\n## 〇、v7.7 修复（PDF 直出与 Word 视觉对齐 — 摘要）\n\n修了 3 处对齐：页眉用 `stringWidth()` 居中（修正中文公司名偏右）/ leading × 1.2 系数（21.6pt 对齐 Word 1.5 倍行距）/ firstLineIndent = size × 2（24pt 对齐 Word `firstLineChars=200`）。详细数学验证见 git log `v7.7.0` 提交。\n\n---\n\n## 一、v7.5 关键变化（合同细分 7 类 + 配套范本）\n\n> 用户反馈：\"合同帮我再细分\"。\n\n通用\"合同\"在 ToB 场景下太粗 — 一份合同应不应该带 试用期 / 知识产权 / 退换货 /\n保密期限 / 收益分配 等条款，取决于具体合同子类。v7.5 把合同细分为 7 类：\n\n| 子类 | 触发关键词 | 适用场景 | 范本 |\n|------|-----------|---------|------|\n| **劳动合同** | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | HR 招聘入职 | [templates/劳动合同.md](templates/劳动合同.md) |\n| **服务合同** | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS / 运维 | 长期服务 | [templates/服务合同.md](templates/服务合同.md) |\n| **技术开发合同** | 软件开发 / 委托开发 / 定制开发 / 开发合同 | 一次性开发 | [templates/技术开发合同.md](templates/技术开发合同.md) |\n| **销售合同** | 销售合同 / 货物销售 / 软件许可 / 经销 | 售方角度 | [templates/销售合同.md](templates/销售合同.md) |\n| **采购合同** | 采购合同 / 物资采购 / 设备采购 / 框架采购协议 | 购方角度 | [templates/采购合同.md](templates/采购合同.md) |\n| **保密协议** | 保密协议 / NDA / 信息保密 / 双向保密 | 保密信息保护 | [templates/保密协议.md](templates/保密协议.md) |\n| **合作协议** | 战略合作协议 / 联营协议 / 联合开发协议 | 有约束力合作 | [templates/合作协议.md](templates/合作协议.md) |\n\n通用\"合同\"作为兜底保留 — 输入命中\"合同\"但没匹配到具体子类时使用。\n\n视觉上 7 个合同子类共享通用合同的版式（宋体 / 标准页边距 / 无文档壳 / 第一条 ~\n第N条结构）；差异在 **正文结构** 与 **范本内容**。FORMAT_KEYWORDS 顺序保证子类\n关键词在通用\"合同\"之前命中。\n\n---\n\n> 历史变更详见文末 §十 版本历史。\n\n---\n\n## 二、39 类文档规范（v7.5）\n\n> 列含义：banner = 顶部右上 【内部】 红字；meta = 文档编号/版本/密级/日期 2 列表；\n> 版本史 = 末尾\"版本历史\"表；审批 = 末尾\"审批记录\"表；TOC = 自动目录。\n> 命中顺序由上至下；`auto` 命中后立即返回；`--doc-format <规范>` 强制覆盖。\n\n| 规范 | 触发关键词 | banner | meta | 版本史 | 审批 | TOC |\n|------|-----------|:------:|:----:|:------:|:----:|:---:|\n| **个人简历** ⭐v7.4 | 简历 / resume / CV | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **报价单** ⭐v7.4 | 报价单 / 商务报价 / 报价书 / 询价回复 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **新闻稿** ⭐v7.4 | 新闻稿 / 媒体通稿 / 发布稿 / press release | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **复盘报告** ⭐v7.4 | 复盘 / 项目复盘 / 项目总结 / 月度复盘 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **测试报告** ⭐v7.4 | 测试报告 / QA报告 / 验证报告 / 性能测试 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **故障报告** ⭐v7.4 | 故障报告 / 事故报告 / 故障复盘 / postmortem | ✅ | ✅ | ❌ | ❌ | ❌ |\n| **任命书** ⭐v7.4 | 任命书 / 聘任书 / 委任书 / 任命决定 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **应急预案** ⭐v7.4 | 应急预案 / 应急响应预案 / 应急处置方案 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **在职证明** ⭐v7.4 | 在职证明 / 离职证明 / 工作证明 / 收入证明 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **风险评估报告** ⭐v7.4 | 风险评估 / 风险报告 / 安全评估 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目计划书** ⭐v7.4 | 项目计划书 / 项目执行计划 / 项目章程 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目结项报告** ⭐v7.4 | 结项报告 / 项目收尾报告 / 项目交付总结 | ❌ | ✅ | ✅ | ✅ | ✅ |\n| **API文档** ⭐v7.4 | API文档 / 接口文档 / 接口规范 / openapi | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **部署文档** ⭐v7.4 | 部署文档 / 部署手册 / 上线手册 / runbook | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **备忘录** ⭐v7.4 | 备忘录 / MOU / 合作意向书 / 战略合作备忘录 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 验收单 ⭐v7.3 | 验收单 / 验收报告 / 交付确认书 / 项目验收 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 项目立项书 ⭐v7.3 | 立项申请 / 立项书 / 项目建议书 / 可行性研究报告 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 操作SOP ⭐v7.3 | SOP / 标准作业指导书 / 工艺文件 / 操作规程 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| 公司制度 ⭐v7.3 | 规章制度 / 管理办法 / 实施细则 / 管理细则 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 信函 ⭐v7.3 | 公函 / 商务函件 / 求职信 / 推荐信 / 邀请函 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 招投标书 | 招标书 / 投标书 / 投标文件 / 响应文件 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 商业计划书 | 商业计划书 / BP / 融资计划书 / 路演稿 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 用户手册 | 用户手册 / 操作手册 / 使用说明 / Manual | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 培训手册 | 培训手册 / 培训教材 / 教学大纲 / 员工手册 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 演讲稿 | 演讲稿 / 致辞稿 / 讲话稿 / 主题分享 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 研究报告 | 研究报告 / 学术论文 / 调研报告 / 白皮书 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **劳动合同** ⭐v7.5 | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **服务合同** ⭐v7.5 | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS 合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **技术开发合同** ⭐v7.5 | 软件开发合同 / 委托开发合同 / 定制开发 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **销售合同** ⭐v7.5 | 销售合同 / 货物销售 / 软件许可合同 / 经销 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **采购合同** ⭐v7.5 | 采购合同 / 物资采购 / 设备采购 / 框架采购 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **保密协议** ⭐v7.5 | 保密协议 / NDA / 信息保密 / 双向保密 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **合作协议** ⭐v7.5 | 战略合作协议 / 联营协议 / 联合开发协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 合同（通用兜底）| 合同 / 协议 / 协议书 / 补充协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 会议纪要 | 会议纪要 / 纪要 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 技术方案 | 技术方案 / 实施方案 / 解决方案 / 设计文档 / 架构设计 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 需求文档 | 需求规格 / SRS / PRD / 需求说明 / 需求文档 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 工作报告 | 工作报告 / 周报 / 月报 / 季报 / 年报 / 述职报告 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 公文（默认）| 未命中其他关键词 | ✅ | ✅ | ✅ | ✅ | ❌ |\n\n> 一行命令看全 17 种：`python3 scripts/create-word-doc.py --list-formats`。\n> CLI 精细控制：`--with-version-history / --no-version-history /\n> --with-approval / --no-approval /\n> --with-classification-banner / --no-classification-banner /\n> --with-doc-meta-table / --no-doc-meta-table /\n> --with-title-block / --no-title-block`。\n\n### 标题层级识别（每种规范独立）\n\n每种规范都有自己的章节编号正则；同时支持标准 Markdown `# / ## / ### / ####`。例如：\n\n| 规范 | 一级（chapter） | 二级（section） | 三级（article） |\n|------|---------------|---------------|----------------|\n| 公文 | 第X章/第X节 | 一、二、三、 | （一）（二） |\n| 合同 | 第X章/第X条 | 一、二、 | — |\n| 商业计划书 | 第X部分/一、二、 | 1.1 | 1.1.1 |\n| 用户手册 | 第X章 | X. | X.X |\n| 培训手册 | 模块X/单元X/第X课 | 一、二、 | X.X |\n| 招投标书 | 第X章/篇/部分 | 一、二、 | （一）（二） |\n| 研究报告 | 摘要/Abstract/引言/结论/参考文献/一、 | X. | X.X |\n\n---\n\n## 三、页眉 / 页脚规范\n\n### 3.1 页眉\n\n- **company**（默认）：LOGO + 公司名 + 文档编号 + 密级，**左对齐**\n- **minimal**（合同 / 用户手册 / 演讲稿）：LOGO + 公司名，**左对齐**，不显示编号 / 密级\n- **centered**（保留备选，当前无规范默认走此项）：仅公司名，居中\n- 底部统一灰线 `#888888`\n\n> v7.0 直接写 OOXML `<w:jc>` 并清 `<w:tabs>`，避免 WPS / 部分 Word 模板的样式继承覆盖。\n\n### 3.2 页脚\n\n- 所有规范统一为 `第 X 页 / 共 Y 页`，居中\n- Word：`PAGE` / `NUMPAGES` 字段码（打开时自动计算）\n- PDF：两遍渲染（NumberedCanvas）拿到真总页数\n\n---\n\n## 四、本地公司信息工作流\n\n页眉的公司名、LOGO 按以下优先级解析：\n\n1. **CLI 显式参数** `--company-name` / `--logo-path`\n2. **本地缓存** `~/.huo15/company-info.json`\n3. **Odoo `res.company`** 自动拉取（可用 `--no-odoo` 关闭）\n4. **退出码 2 + 结构化 JSON** — 以上都拿不到时让 Claude 触发补录流程\n\n### 4.1 标准流程（生成前）\n\n```bash\npython3 scripts/company-info.py check\n#   exit 0 + 完整 JSON  → 直接生成\n#   exit 2 + missing[]  → 进入补录\n```\n\n**补录流程**（Claude 执行）：\n\n1. 先查 auto-memory 中的 `huo15_company_info.md` / `user_identity.md`\n2. 仍缺失时用 `AskUserQuestion` 询问：公司全称、LOGO 路径、可选 slogan / 地址 / 电话 / 邮箱 / 官网\n3. 写入：\n   ```bash\n   python3 scripts/company-info.py set \\\n     --company-name \"<公司全称>\" --logo-path \"<LOGO绝对路径>\"\n   ```\n4. 同步写入 memory（`huo15_company_info.md`）\n\n---\n\n## 五、命令行\n\n```bash\n# Word 直出\npython3 scripts/create-word-doc.py --output 方案.docx \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-number \"HG-FA-2026-001\" --version \"V1.0\" --classification \"内部\" \\\n  --author \"辉火云管家·贾维斯\"\n\n# 一览 39 种 preset：\npython3 scripts/create-word-doc.py --list-formats\n\n# 原生 PDF 直出（不依赖 LibreOffice / Office）：\npython3 scripts/create-pdf-doc.py --output 方案.pdf \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-format 技术方案\n\n# Word → PDF（保留版式）：\npython3 scripts/word-to-pdf.py 方案.docx -o 方案.pdf\n```\n\n**关键 CLI 参数：**\n\n- `--doc-format <规范>` — 39 类规范任选；省略走 `auto` 自动识别\n- `--company-name / --logo-path` — 覆盖本地公司信息\n- `--with-version-history / --no-version-history` — 版本历史表\n- `--with-approval / --no-approval` — 审批记录表\n- `--with-classification-banner / --no-classification-banner` — 顶部 【内部】红字\n- `--with-doc-meta-table / --no-doc-meta-table` — 顶部元数据 2 列表\n- `--with-title-block / --no-title-block` — 标题大字块\n\n**何时用哪条路径**：只要 Word → 用 `create-word-doc.py`；只要 PDF →\n`create-pdf-doc.py`（最快）；要 Word + PDF 版式一致 → 先 word，再\n`word-to-pdf.py`。后端优先级 `libreoffice → docx2pdf → word_com` 自动回落。\n\n字体：macOS 自带 Songti.ttc / STHeiti.ttc；Linux 推荐 Noto CJK；\nWindows 可用 SimSun / SimHei。\n\n---\n\n## 六、Markdown 能力速查\n\n| 元素 | 写法 | 说明 |\n|------|------|------|\n| 标题 | `#`~`######` | 也支持规范专属编号（一、 / 1. / 1.1 / 第X章） |\n| 段落软换行 | 直接换行 | CJK ↔ CJK 不插入空格；ASCII 仍保留空格 |\n| 段落硬换行 | 行尾 `  ` 或 `\\` | 同段内强制换行 |\n| 列表 | `- item` / `* item` / `1. item` | |\n| 强调 | `**粗**` / `*斜*` / `` `inline code` `` | |\n| 表格 | 标准 GFM | 缺前导 `|` / 转义 `\\|` / 2 列起即可识别 |\n| 代码块 | `` ``` ``...`` ``` `` | 等宽灰底；带语言标签 |\n| 引用块 | `> ...` | 左侧橘色竖条 + 灰色段 |\n| 分隔线 | `---` / `***` / `___` | |\n| 元数据行 | `文档编号：XX | 版本：V1.0 | 密级：内部 | 日期：2026-04-27` | 自动两列表格 |\n| 分页符 | `---PAGE---` / `\\pagebreak` / `<!-- pagebreak -->` | 强制下一页 |\n| 空内容 | — | 写\"（无正文内容）\"灰字占位 |\n\n---\n\n## 七、Python API\n\n```python\n# Word\nfrom create_word_doc import create_word_doc\ncreate_word_doc(\n    output_path=\"文档.docx\",\n    title=\"技术方案：XXX系统\",\n    content=md_text,\n    doc_number=\"HG-FA-2026-001\",\n    version=\"V1.0\",\n    classification=\"内部\",\n    author=\"辉火云管家·贾维斯\",\n    doc_format=\"auto\",            # 12 类规范名 / 'auto'\n)\n\n# PDF\nfrom create_pdf_doc import create_pdf_doc\ncreate_pdf_doc(output_path=\"文档.pdf\", title=\"...\", content=md_text,\n               doc_format=\"商业计划书\")\n\n# Word → PDF\nfrom word_to_pdf import convert_to_pdf\nok, path = convert_to_pdf(\"方案.docx\", \"方案.pdf\",\n                          backend=\"auto\", keep_fonts=True)\n```\n\n> 缺公司信息时三个入口都抛 `RuntimeError`，message 是结构化 JSON，Claude 据此触发补录。\n\n---\n\n## 八、触发词\n\n通用：写 word / 写 PDF / 写文档 / 生成 word / 生成 PDF / 创建文档 / 导出文档 / Word 转 PDF。\n\n39 类规范触发词由 §二 表格中\"触发关键词\"列定义。常用：写合同 / 写协议 /\n写劳动合同 / 写服务合同 / 写技术开发合同 / 写销售合同 / 写采购合同 / 写 NDA /\n写保密协议 / 写战略合作协议 / 写方案 / 写报告 / 写会议纪要 / 写需求文档 /\n写 PRD / 写商业计划书 / 写 BP / 写用户手册 / 写培训手册 / 写招标书 / 写投标书 /\n写演讲稿 / 写研究报告 / 写白皮书 / 写验收单 / 写立项书 / 写 SOP / 写公司制度 /\n写公函 / 写邀请函 / 写简历 / 写 CV / 写报价单 / 写新闻稿 / 写复盘 / 写测试报告 /\n写故障报告 / 写 postmortem / 写任命书 / 写应急预案 / 写在职证明 / 写风险评估 /\n写项目计划书 / 写项目结项报告 / 写 API 文档 / 写部署文档 / 写 runbook / 写备忘录 /\n写 MOU。\n\n---\n\n## 九、目录结构\n\n```\nscripts/\n├── doc_core.py          # 共享核心：32 类预设 + Block AST 解析 + 内联 token\n│                        # v7.4：再扩 15 类预设 + 关键词优先级调整\n│                        # v7.3：FormatPreset 增 4 个文档壳开关\n├── company-info.py      # 本地公司信息读写 + Odoo 回落\n├── create-word-doc.py   # Word 渲染（python-docx + 强制 OOXML jc）\n│                        # v7.3：_strip_markdown_emphasis + _maybe_dedupe_h1_title\n├── create-pdf-doc.py    # 原生 PDF 渲染（reportlab + NumberedCanvas）\n│                        # v7.3：与 Word 端文档壳逻辑保持一致\n└── word-to-pdf.py       # Word → PDF 多后端转换\n\ntemplates/               # v7.4：15 份可直接拷贝改写的 markdown 范本\n├── 个人简历.md\n├── 报价单.md\n├── 新闻稿.md\n├── 复盘报告.md\n├── 测试报告.md\n├── 故障报告.md\n├── 任命书.md\n├── 应急预案.md\n├── 在职证明.md\n├── 风险评估报告.md\n├── 项目计划书.md\n├── 项目结项报告.md\n├── API文档.md\n├── 部署文档.md\n├── 备忘录.md\n└── README.md\n```\n\n---\n\n## 十一、未来路线（已调研、未实施）\n\n| 功能 | 业界参考 | 优先级 | 复杂度 | 拟引入依赖 |\n|------|---------|--------|-------|----------|\n| LaTeX → OMML 公式管线 | markdocx / Pandoc | 中 | 中 | latex2mathml + XSLT |\n| reference docx 模板继承 | Pandoc / Quarto | 中 | 中 | 仅模板文件 |\n| Typst 第四条 PDF 路径（30× 速度） | typst.app + zh-kit | 中 | 中 | typst 二进制 |\n| pandoc-crossref 风格交叉引用 `{#fig:xxx}` | pandoc-crossref | 中 | 中 | — |\n| 水印 + AES 加密 | msoffcrypto-tool | 低 | 小 | msoffcrypto-tool |\n| 修订追踪 / 批注 | docx-revisions | 低 | 大 | docx-revisions |\n| docxtpl Jinja2 模板槽 | docxtpl | 低 | 小 | docxtpl |\n\n> 任何一项触发刚需时再上；当前以稳定 + 中文友好 + 易维护为先。\n\n---\n\n## 十、版本历史\n\n详细版本历史见 git log。当前主要里程碑：\n- **v7.8.6**（最新）：**Word emoji 乱码修复** — markdown 内含 emoji(🎂🚗💰🦞✅⭐🇨🇳 等)生成 docx 后,在 WPS / LibreOffice / Linux Word 渲染时显示 ▢▢ 占位方块。根因:`_set_font` 把 ascii/hAnsi/eastAsia 三个 slot 都设为中文字体(PingFang/宋体/黑体),中文字体不含 emoji glyph 就 fallback 到方块。修复:(1)`_set_font` 加 `w:cs` slot 指向 `Segoe UI Emoji` 兜底;(2)新增 `_add_run` emoji-aware 包装,内部按 `_EMOJI_RE` 正则把 emoji 字符切到独立 run + 用 emoji 字体;(3)`render_inline` 改用 `_add_run` 覆盖所有 markdown 内联文本(bold/italic/code/text)。Mac/Linux 系统会自动 fallback 到 Apple Color Emoji / Noto Color Emoji。\n- **v7.8.x**：PDF 渲染保真度 — 字体 subface 修正 / leading 系数 / firstLineIndent 字符化 / LibreOffice filter 加固 / 平台感知后端优先级（详见上方〇章节）\n- **v7.5–v7.6**：39 类规范 + 合同细分 7 类 + KV 元数据归并 / TOC 占位回填 / PDF outline 修复\n- **v7.0–v7.4**：原生 PDF 直出（create-pdf-doc.py）+ 27→39 类扩张 + Pygments 代码高亮 + CJK 段落 OOXML 直写\n- **v6.x**：Block AST 重写 / 页眉恒含 LOGO / 页脚字段码\n- **v5.x**：多规范自动识别骨架 + company-info.py\n\n---\n\n**技术支持：** 青岛火一五信息科技有限公司\n\nFile v7.9.3:templates/README.md\n\n# 文档范本（v7.4 起 15 类 + v7.5 起 7 类合同细分 = 22 份）\n\n每个 markdown 范本是一份\"看了就能改\"的真实样例。\n直接拷走、把里面的占位字段（公司名 / 客户名 / 编号 / 日期 / 金额）替换成自己的，\n再用对应 preset 渲染即可。\n\n## v7.5 合同细分（7 份）⭐\n\n| 范本文件 | 对应规范 | 适用场景 |\n|---------|---------|---------|\n| [劳动合同.md](劳动合同.md) | `劳动合同` | HR 招聘、入职 |\n| [服务合同.md](服务合同.md) | `服务合同` | SaaS / 咨询 / 维保 / 实施 |\n| [技术开发合同.md](技术开发合同.md) | `技术开发合同` | 软件 / 硬件一次性开发 |\n| [销售合同.md](销售合同.md) | `销售合同` | 软件许可销售 / 货物销售 |\n| [采购合同.md](采购合同.md) | `采购合同` | 设备 / 物资 / 服务采购 |\n| [保密协议.md](保密协议.md) | `保密协议` | NDA，单向 / 双向 |\n| [合作协议.md](合作协议.md) | `合作协议` | 战略合作（有约束力，区别于 MOU）|\n\n## v7.4 通用范本（15 份）\n\n| 范本文件 | 对应规范 | 推荐用法 |\n|---------|---------|---------|\n| [个人简历.md](个人简历.md) | `个人简历` | 紧凑单页，无文档壳 |\n| [报价单.md](报价单.md) | `报价单` | 表格驱动，明显合计 |\n| [新闻稿.md](新闻稿.md) | `新闻稿` | dateline + 主体 + 媒体联系人 |\n| [复盘报告.md](复盘报告.md) | `复盘报告` | 项目复盘标准结构 |\n| [测试报告.md](测试报告.md) | `测试报告` | 含完整文档壳 + 缺陷统计 |\n| [故障报告.md](故障报告.md) | `故障报告` | 时间线 + 根因 + 改进项 |\n| [任命书.md](任命书.md) | `任命书` | letterhead 单页 |\n| [应急预案.md](应急预案.md) | `应急预案` | 完整文档壳 + 分级流程 |\n| [在职证明.md](在职证明.md) | `在职证明` | letterhead 单页 |\n| [风险评估报告.md](风险评估报告.md) | `风险评估报告` | 风险矩阵 + 应对措施 |\n| [项目计划书.md](项目计划书.md) | `项目计划书` | 完整文档壳 + 里程碑 |\n| [项目结项报告.md](项目结项报告.md) | `项目结项报告` | 收尾 + 客户评价 + 后续支持 |\n| [API文档.md](API文档.md) | `API文档` | OpenAPI 风格 |\n| [部署文档.md](部署文档.md) | `部署文档` | 步骤式 + 故障排查 + 回滚 |\n| [备忘录.md](备忘录.md) | `备忘录` | MOU 形式，双方签章（无约束力意向）|\n\n## 怎么用\n\n```bash\n# 拷一份范本\ncp ~/.openclaw/skills/huo15-openclaw-office-doc/templates/报价单.md \\\n   /tmp/我的报价单.md\n\n# 编辑成自己的内容\nvim /tmp/我的报价单.md\n\n# 渲染（auto 会按标题命中 报价单 preset）\npython3 ~/.openclaw/skills/huo15-openclaw-office-doc/scripts/create-word-doc.py \\\n  --output 我的报价单.docx \\\n  --title \"软件开发服务报价单\" \\\n  --content @/tmp/我的报价单.md\n```\n\n也可以让 LLM 直接基于范本生成，先把范本贴给它做参考，再让它按你的具体需求改写。\n\n## 既有 17 类（v7.3 及之前）尚无独立范本\n\n公文 / 合同（通用）/ 会议纪要 / 技术方案 / 需求文档 / 工作报告 / 商业计划书 /\n用户手册 / 培训手册 / 招投标书 / 演讲稿 / 研究报告 / 验收单 / 项目立项书 /\n操作SOP / 公司制度 / 信函 — 这些规范在 v7.0 ~ v7.3 已经迭代过；如有需要，\n后续可以按本目录格式继续扩。\n\n> **注意：** 通用\"合同\"作为兜底（输入命中\"合同\"但没匹配上具体子类时使用），\n> 可参考任一合同子类范本（结构高度相似，只改第一条/第二条的具体内容即可）。\n\nFile v7.9.3:_meta.json\n\n{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-openclaw-office-doc\",\n  \"version\": \"7.9.3\",\n  \"publishedAt\": 1787484457643\n}\n\nFile v7.9.3:skill-card.md\n\n## Description:\n\nHuo15 OpenClaw Office Doc helps agents generate enterprise Word and PDF documents across contracts, HR, sales, PR, project management, operations, technical, legal, and reporting formats.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhaobod1](https://clawhub.ai/user/zhaobod1)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nDevelopers, operators, and business teams use this skill to have an agent generate structured Chinese enterprise documents, contracts, reports, deployment documents, and matching Word/PDF outputs from Markdown content and templates.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can read Odoo credentials or contact business systems while resolving company information.\n\nMitigation: Use --no-odoo or explicit --company-name and --logo-path for local-only generation, and review credentials before enabling Odoo fallback.\n\nRisk: The generate-config.sh helper can rewrite persistent OpenClaw workspace identity and memory files.\n\nMitigation: Do not run generate-config.sh unless intentionally updating workspace configuration, and review the target output directory and generated files first.\n\nRisk: The deployment template includes an admin/admin credential example that is unsafe for production.\n\nMitigation: Replace example credentials before production use and avoid applying deployment examples as-is.\n\n## Reference(s):\n\n- [ClawHub skill release page](https://clawhub.ai/zhaobod1/skills/huo15-openclaw-office-doc)\n- [Template README](templates/README.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Files, Shell commands, Configuration]\n\n**Output Format:** [Markdown guidance with shell commands that generate DOCX and PDF files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can generate Word documents, native PDFs, Word-to-PDF conversions, and local company configuration.]\n\n## Skill Version(s):\n\n7.9.3 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v7.9.3:templates/API文档.md\n\n# 辉火云开放平台 API 文档\n\n## 一、概述\n\n辉火云开放平台为合作伙伴提供 RESTful API，覆盖项目管理、CRM、联系人、报销四个核心模块。\n\n**Base URL**：`https://api.huo15.com/v1`\n**协议**：HTTPS\n**编码**：UTF-8\n**响应格式**：JSON\n\n---\n\n## 二、鉴权\n\n所有 API 调用需在 HTTP Header 携带：\n\n```\nAuthorization: Bearer <ACCESS_TOKEN>\nX-Huo15-Tenant: <租户ID>\n```\n\n`ACCESS_TOKEN` 通过 `/auth/token` 获取，有效期 2 小时；过期后调用 `/auth/refresh` 刷新。\n\n---\n\n## 三、通用响应格式\n\n```json\n{\n  \"code\": 0,\n  \"message\": \"ok\",\n  \"data\": { ... },\n  \"request_id\": \"req-xxxx-xxxx-xxxx\"\n}\n```\n\n`code = 0` 表示成功；非 0 表示失败，对应错误码见 §六。\n\n---\n\n## 四、项目管理接口\n\n### POST /projects\n\n**说明**：创建项目\n\n**请求体**：\n\n```json\n{\n  \"name\": \"辉火云 v19.0 升级\",\n  \"description\": \"大版本升级，含多模型路由 + Vue 3 迁移\",\n  \"owner_id\": \"user-001\",\n  \"start_date\": \"2026-05-01\",\n  \"end_date\": \"2026-10-15\",\n  \"tags\": [\"v19\", \"upgrade\"]\n}\n```\n\n**响应**：\n\n```json\n{\n  \"code\": 0,\n  \"data\": {\n    \"id\": \"proj-2026-001\",\n    \"name\": \"辉火云 v19.0 升级\",\n    \"status\": \"planning\",\n    \"created_at\": \"2026-04-27T10:30:00+08:00\"\n  }\n}\n```\n\n### GET /projects/{id}\n\n**说明**：查询项目详情\n\n**路径参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `id` | string | 项目 ID |\n\n**响应示例**：见 POST 返回。\n\n### PATCH /projects/{id}\n\n**说明**：更新项目（部分字段）\n\n### DELETE /projects/{id}\n\n**说明**：删除项目（软删除）\n\n---\n\n## 五、CRM 接口\n\n### POST /customers\n\n**说明**：创建客户\n\n**请求体**：\n\n```json\n{\n  \"name\": \"与境出行\",\n  \"contact\": \"张鹏\",\n  \"phone\": \"138-0000-0000\",\n  \"industry\": \"出行\",\n  \"tags\": [\"重点客户\", \"出境游\"]\n}\n```\n\n### GET /customers\n\n**说明**：客户列表（支持分页与筛选）\n\n**Query 参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `page` | int | 页码，默认 1 |\n| `size` | int | 每页条数，默认 20，最大 100 |\n| `industry` | string | 行业筛选 |\n| `tag` | string | 标签筛选 |\n\n---\n\n## 六、错误码\n\n| code | 含义 | HTTP 状态 |\n|-----:|------|----------:|\n| 0 | 成功 | 200 |\n| 40001 | 参数缺失 | 400 |\n| 40002 | 参数格式错误 | 400 |\n| 40101 | 鉴权失败（token 无效）| 401 |\n| 40102 | token 过期 | 401 |\n| 40301 | 权限不足 | 403 |\n| 40401 | 资源不存在 | 404 |\n| 42901 | 调用频率超限 | 429 |\n| 50001 | 服务内部错误 | 500 |\n| 50002 | 第三方服务异常 | 502 |\n\n---\n\n## 七、限流\n\n- 默认限流：每租户 1000 次 / 分钟\n- 突发限流：5 秒内最多 50 次\n- 命中限流返回 `429`，`Retry-After` Header 给出重试间隔\n\n---\n\n## 八、变更日志\n\n| 版本 | 日期 | 变更 |\n|------|------|------|\n| v1.3 | 2026-04-27 | 新增 `/projects` 标签筛选 |\n| v1.2 | 2026-03-15 | `/customers` 增加分页 |\n| v1.1 | 2026-02-01 | 错误码体系重构 |\n| v1.0 | 2026-01-15 | 首发 |\n\nFile v7.9.3:templates/个人简历.md\n\n# 张三\n\n**手机：** 138-0000-0000   **邮箱：** zhangsan@example.com   **居住地：** 山东·青岛\n**LinkedIn：** linkedin.com/in/zhangsan   **GitHub：** github.com/zhangsan\n\n---\n\n## 求职意向\n\n后端工程师 / 全栈工程师 / 期望薪资：35-50K · 立即到岗\n\n---\n\n## 教育经历\n\n| 时间 | 学校 | 专业 / 学历 |\n|---|---|---|\n| 2018.09 - 2022.06 | 中国海洋大学 | 计算机科学与技术 · 本科 |\n\nGPA 3.7/4.0；曾获国家奖学金、全国大学生程序设计竞赛省赛一等奖。\n\n---\n\n## 工作经历\n\n### 2024.03 - 至今 · 青岛火一五信息科技 · 后端工程师\n\n- 主导 huo15 ERP 微服务化改造，把 10+ 单体模块拆为 18 个独立服务，部署效率提升 4×\n- 设计并落地 wecom 消息队列异步化，单日处理消息从 5w 提升到 80w\n- 维护核心订单库（PostgreSQL，TB 级），主导一次主备切换故障复盘\n\n### 2022.07 - 2024.02 · 某互联网公司 · Java 工程师\n\n- 负责会员中心后端，QPS 1w+，P99 < 80ms\n- 推动 Redis 集群迁移，节省云成本 30%\n\n---\n\n## 项目经验\n\n### huo15-openclaw-office-doc · 个人开源项目 · 2026.04\n\n- 17 类企业文档规范的 Word / PDF 自动生成器，已发布到 ClawHub\n- 解决 LLM 写文档时排版重复 / 格式错乱的痛点\n- 技术栈：Python · python-docx · reportlab · OOXML\n\n---\n\n## 技能\n\n- **后端**：Java / Python / Go · Spring Boot · FastAPI\n- **数据**：PostgreSQL · Redis · ClickHouse · Kafka\n- **DevOps**：Docker · Kubernetes · GitLab CI · Terraform\n- **AI**：Anthropic API · LangChain · Prompt Engineering\n\n---\n\n## 自我评价\n\n10 年代码经验，习惯先想清再写；做 ToB 项目长期对接客户，能把模糊的\"想要\"翻译成可执行的需求；在团队里通常承担\"把控架构 + 兜底救火\"的角色。\n\nFile v7.9.3:templates/任命书.md\n\n# 任命书\n\n青岛火一五信息科技有限公司全体员工：\n\n经公司董事会研究决定，现任命：\n\n**张三** 同志（身份证号：370281xxxxxxxx0001）为本公司**首席技术官（CTO）**，主管公司技术研发体系，全面负责辉火云产品线的技术战略、架构设计、研发管理、技术品牌建设等工作。\n\n任期自 2026 年 5 月 1 日起，为期三年。\n\n希望张三同志认真履行 CTO 职责，恪守职业操守，团结带领技术团队，持续推动公司技术能力升级，为公司\"加速企业向全场景人工智能机器人转变\"的愿景贡献力量。\n\n公司各部门、各岗位人员应给予全力支持与配合。\n\n特此任命。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n董事长：__________________\n\n二〇二六年四月二十七日\n\n（公司公章）\n\nFile v7.9.3:templates/保密协议.md\n\n# 保密协议（NDA）\n\n**协议编号：** HHY-NDA-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**披露方（甲方）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n\n**接收方（乙方）：** xx 公司\n**法定代表人：** xxx\n**地址：** xxx\n\n鉴于双方拟就 **辉火云企业套件 v19.0 大版本合作** 事宜进行协商和合作，过程中双方需要相互披露各自的商业秘密、技术信息等，为明确双方的保密义务，签订本保密协议。\n\n---\n\n## 第一条 保密信息的定义\n\n本协议所称\"保密信息\"是指披露方以书面、口头、电子或其他形式向接收方披露的，与合作事项相关的所有信息，包括但不限于：\n\n1. **商业信息：** 财务数据、客户名单、定价策略、营销计划、商业模式\n2. **技术信息：** 源代码、技术架构、算法、数据库设计、未公开专利\n3. **运营信息：** 内部组织架构、人员安排、员工薪酬、供应商信息\n4. **产品信息：** 未发布功能、产品路线图、设计稿、测试数据\n5. **其他：** 披露方明确标注为\"保密\"的任何信息\n\n---\n\n## 第二条 不属于保密信息的情形\n\n下列情形之一的信息不属于保密信息：\n\n1. 在披露之前已为公众所知，且非因接收方原因泄漏的\n2. 接收方在披露之前已合法持有的（须有书面证据）\n3. 由第三方合法披露给接收方且无保密义务的\n4. 接收方独立开发，不依赖披露方信息的\n5. 法律法规要求披露或司法 / 行政机关依法要求披露的\n\n---\n\n## 第三条 保密义务\n\n接收方对披露方的保密信息承担以下义务：\n\n1. **不披露：** 未经披露方书面同意，不得向任何第三方披露\n2. **不使用：** 仅可用于本协议约定的合作目的，不得用于其他用途\n3. **限制接触人员：** 仅限于\"必须知悉\"原则下的接收方员工 / 顾问；接收方应与这些人员签订同等保密义务的书面协议\n4. **妥善保管：** 采取与保护自身同等重要保密信息相同水平的措施\n5. **不复制：** 未经披露方书面同意，不得复制或备份保密信息（合作必需的工作副本除外）\n\n---\n\n## 第四条 保密期限\n\n1. **本协议有效期：** 自签订之日起 **3 年**\n2. **保密义务期限：** 接收方对保密信息的保密义务自接收之日起 **5 年**\n3. **协议终止后：** 接收方应在 30 日内归还或销毁所有保密信息材料，并向披露方提交《销毁确认书》\n\n---\n\n## 第五条 保密信息的归还与销毁\n\n1. 协议终止时，或披露方提出书面要求时，接收方应立即：\n   - 归还所有以书面、电子或其他物理形式持有的保密信息\n   - 销毁无法归还的副本（包括电子文件 / 内部文档 / 笔记 / 备份）\n   - 提交《销毁确认书》并由经办人签字\n2. 法律要求保留的副本（如审计 / 法律记录），仍受本协议保密义务约束\n\n---\n\n## 第六条 双向保密（如适用）\n\n本协议为 **双向保密协议**：双方互为披露方与接收方，均承担相同保密义务。\n\n> 单向 NDA 适用时，删除本条。\n\n---\n\n## 第七条 违约责任\n\n1. 接收方违反本协议任一条款的，应：\n   - 立即停止违约行为\n   - 向披露方支付违约金 **人民币 50 万元**（包括但不限于实际损失、可得利益损失、商誉损失等）\n   - 承担披露方为追究违约责任发生的合理费用（律师费 / 鉴定费 / 公证费等）\n2. 违约金不足以弥补披露方实际损失的，接收方还应赔偿损失差额\n\n---\n\n## 第八条 不构成授权\n\n本协议不构成任何明示或默示的：\n\n- 知识产权许可\n- 合作 / 合资关系\n- 采购 / 销售义务\n- 雇佣关系\n\n任何此类关系应通过单独签订正式合同确立。\n\n---\n\n## 第九条 适用法律与争议解决\n\n1. 本协议适用 **中华人民共和国法律**\n2. 因本协议产生的争议，双方应友好协商；协商不成的，提交 **披露方所在地有管辖权的人民法院** 诉讼解决\n\n---\n\n## 第十条 其他\n\n1. 本协议未尽事宜，由双方另行协商\n2. 本协议任一条款被认定为无效或不可执行的，不影响其他条款效力\n3. 本协议的修改 / 补充须以书面形式经双方签字盖章后生效\n4. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 披露方（甲方）（青岛火一五信息科技有限公司）| 接收方（乙方）（xx 公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.3:templates/劳动合同.md\n\n# 劳动合同\n\n**合同编号：** HHY-LD-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方（用人单位）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方（劳动者）：** 张三\n**身份证号：** 370281xxxxxxxx0001\n**居住地址：** 山东省青岛市市南区xx路xx号\n**联系电话：** 138-0000-0000\n\n根据《中华人民共和国劳动法》、《中华人民共和国劳动合同法》等相关法律法规，甲乙双方在平等自愿、协商一致的基础上签订本合同。\n\n---\n\n## 第一条 合同期限\n\n本合同为**固定期限**劳动合同，期限自 **2026年5月1日** 起至 **2029年4月30日** 止，共 **3 年**。\n\n试用期为 **3 个月**，自 2026年5月1日 起至 2026年7月31日 止。\n\n---\n\n## 第二条 工作内容与工作地点\n\n1. 乙方岗位：**后端工程师**\n2. 工作内容：参与辉火云企业套件后端开发、维护与优化，按公司项目分配执行具体研发任务\n3. 工作地点：山东省青岛市黄岛区胶州湾路99号（甲方办公地址）；甲方因业务需要可调整工作地点，调整范围限于青岛市\n\n---\n\n## 第三条 工作时间与休息休假\n\n1. 实行**标准工时制**，每日工作 8 小时，每周工作 5 天；周六、周日为休息日\n2. 乙方依法享有法定节假日、年休假、婚假、产假、丧假等带薪休假\n3. 因业务需要安排加班，按《劳动法》规定支付加班工资或安排调休\n\n---\n\n## 第四条 劳动报酬\n\n1. **试用期工资：** 月工资人民币 28,000 元（税前）\n2. **转正后工资：** 月工资人民币 35,000 元（税前）\n3. **绩效奖金：** 按公司绩效考核制度发放，年度绩效奖金为 1-3 个月工资\n4. **工资支付：** 每月 15 日发放上月工资，通过银行转账支付到乙方指定账户\n5. 加班工资按《劳动法》规定标准计算\n\n---\n\n## 第五条 社会保险与福利\n\n1. 甲方依法为乙方缴纳社会保险（养老 / 医疗 / 失业 / 工伤 / 生育）和住房公积金\n2. 缴费基数按青岛市相关规定执行\n3. 乙方享有公司福利：商业医疗保险、节日福利、年度体检、餐补 30 元/工作日\n\n---\n\n## 第六条 劳动保护与劳动条件\n\n1. 甲方为乙方提供符合国家规定的工作环境与劳动保护用品\n2. 甲方依法对乙方进行职业培训、职业健康检查\n3. 乙方应遵守甲方的安全生产规章制度\n\n---\n\n## 第七条 保密与竞业限制\n\n1. **保密义务：** 乙方对甲方的商业秘密、技术秘密、客户信息、源代码等承担保密义务，期限自入职之日起至离职后 **2 年**\n2. **竞业限制：** 离职后 **24 个月**内，不得到与甲方有竞争关系的企业任职、不得自营同业；甲方按月支付竞业限制补偿金（基本工资的 30%）\n3. 违反保密 / 竞业限制约定的，乙方需向甲方支付违约金 **20 万元**，并赔偿由此造成的实际损失\n\n---\n\n## 第八条 知识产权\n\n1. 乙方在职期间，利用甲方资源、为完成甲方工作任务所产生的全部职务成果（包括但不限于代码、文档、专利、商标、设计），知识产权归甲方所有\n2. 乙方应配合甲方完成知识产权的申请、登记、转让等手续\n\n---\n\n## 第九条 合同变更与解除\n\n1. 经双方协商一致，可以变更或解除本合同\n2. 乙方解除合同需提前 **30 日**书面通知甲方（试用期内提前 3 日）\n3. 出现《劳动合同法》第三十九条、四十条、四十一条规定情形之一的，甲方可解除本合同\n\n---\n\n## 第十条 违约责任\n\n1. 一方违反本合同约定，造成对方损失的，应承担赔偿责任\n2. 违反保密义务、竞业限制的，按本合同第七条执行\n\n---\n\n## 第十一条 争议解决\n\n因本合同发生争议，双方应协商解决；协商不成的，向甲方所在地的劳动争议仲裁委员会申请仲裁；对仲裁裁决不服的，可向人民法院提起诉讼。\n\n---\n\n## 第十二条 其他\n\n1. 本合同未尽事宜，按国家相关法律法规及甲方规章制度执行\n2. 本合同一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（张三）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 本人签字：__________ |\n| 公司公章 | |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.3:templates/合作协议.md\n\n# 战略合作协议\n\n**协议编号：** HHY-HZ-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方：** xx 教育科技有限公司\n**法定代表人：** 王五\n**地址：** xxx\n**联系电话：** xxx\n\n甲乙双方本着\"优势互补、合作共赢、长期发展\"原则，就 **教育行业 AI 智能体联合开发与市场推广** 事宜，依据《中华人民共和国民法典》及相关法律法规，经平等友好协商，签订本战略合作协议。\n\n> **声明：** 本协议为有法律约束力的合作合同，区别于《合作意向书 / MOU》。\n\n---\n\n## 第一条 合作背景\n\n甲方专注于\"全场景人工智能机器人\"赛道，拥有辉火云企业套件 + Anthropic 模型路由 + 多场景 Agent 框架技术积累。乙方深耕教育培训行业 10 年，拥有完整的课程体系、师资资源与 50 万+ 学员用户。\n\n双方一致认可：通过合作可以实现\"AI + 教育\"在中国市场的快速落地，对双方均有重大战略价值。\n\n---\n\n## 第二条 合作内容\n\n### 一、产品合作\n\n1. 双方联合开发 **辉火云教育版**（基于辉火云企业版定制），覆盖：\n   - 智能助教 Agent\n   - 自动出题 / 批改 Agent\n   - 学情分析 Agent\n   - 家校沟通 Agent\n2. 知识产权：技术框架与底层 Agent 归甲方所有；教育行业的业务流程、内容、数据归乙方所有\n\n### 二、市场合作\n\n1. 乙方将辉火云教育版作为其 ToB 客户的标准 SaaS 推荐\n2. 甲方在教育行业的市场推广中，优先与乙方合作\n3. 双方联合参加教育行业展会与论坛，共同发布白皮书与案例\n\n### 三、技术合作\n\n1. 甲方为乙方提供专属技术支持团队（3 人）\n2. 乙方向甲方反馈一线教育场景需求，作为 AI 框架演进输入\n\n---\n\n## 第三条 合作模式与投入\n\n### 甲方投入\n\n1. **技术投入：** 投入 5 名工程师（PM 1 + 后端 2 + 前端 1 + AI 1）全职 6 个月\n2. **资金投入：** 100 万元用于云资源、Anthropic API 调用费、第三方组件采购\n3. **基础平台：** 免费授权乙方使用辉火云企业版（永久授权 + 教育版定制版本）\n\n### 乙方投入\n\n1. **业务投入：** 投入 3 名教育产品经理 + 5 名教研老师全职 6 个月\n2. **资金投入：** 200 万元用于市场推广、客户转化、运营人力\n3. **客户资源：** 投入 50 万+ 学员用户与 200 家合作机构，作为冷启动池\n\n---\n\n## 第四条 合作期限\n\n1. **协议有效期：** 自签订之日起 **3 年**\n2. **续约：** 期满前 90 日，双方可协商续约；如无书面续约，本协议自动终止\n3. **早期终止：** 任意一方提前 90 日书面通知，可单方面终止合作；终止后双方须妥善处理已合作客户的服务延续\n\n---\n\n## 第五条 收益分配\n\n1. **辉火云教育版** 销售收入按以下比例分配：\n   - 甲方 **60%**（含技术服务 + 平台维护成本）\n   - 乙方 **40%**（含市场推广 + 客户运营成本）\n2. 季度结算，每季度结束后 15 个工作日内结清\n\n---\n\n## 第六条 知识产权\n\n1. **本合作前各方原有知识产权：** 归原所有方所有，互不影响\n2. **合作期间共同开发成果：** 双方共有；任一方使用须事先取得对方书面同意\n3. **乙方业务数据：** 乙方拥有所有权，甲方可在脱敏后用于产品演进\n4. **甲方技术框架：** 甲方拥有所有权，乙方仅享有合作期间的使用权\n\n---\n\n## 第七条 排他性\n\n1. **市场排他：** 协议期内，乙方不得与其他 AI 厂商合作开发同类教育 AI 产品\n2. **技术排他：** 协议期内，甲方不得向其他教育公司提供本协议同等水平的技术合作\n3. **客户排他：** 双方共同开发的客户，须以本协议产品为唯一合作工具\n\n---\n\n## 第八条 保密义务\n\n双方对合作过程中获取的对方商业秘密、技术信息、客户信息承担保密义务，期限自协议签订之日起至协议终止后 **3 年**。具体保密义务参照另行签订的《保密协议》。\n\n---\n\n## 第九条 违约责任\n\n1. 任何一方违反本协议核心义务（投入 / 排他 / 保密）的，应承担违约金 **人民币 200 万元**，并赔偿对方实际损失\n2. 违约方应立即停止违约行为；继续违约的，守约方有权单方面解约\n\n---\n\n## 第十条 不可抗力\n\n因不可抗力导致协议无法履行的，受影响方应及时通知对方并提供证明，双方协商解除或变更协议，互不承担违约责任。\n\n---\n\n## 第十一条 争议解决\n\n双方因协议产生争议，应友好协商；协商不成的，提交 **甲方所在地有管辖权的人民法院** 诉讼解决。\n\n---\n\n## 第十二条 其他\n\n1. 本协议为双方就合作事项达成的完整协议；双方此前的口头或书面协议（如《合作意向书》）在本协议生效后均失效\n2. 本协议未尽事宜，双方另行签订补充协议\n3. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（xx 教育科技有限公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.3:templates/在职证明.md\n\n# 在职证明\n\n兹证明 **张三** 同志（身份证号：370281xxxxxxxx0001）自 **2024 年 3 月 15 日**起至今在我公司任职，目前担任 **后端工程师** 一职，月平均收入（税前）人民币 **35,000.00** 元（叁万伍仟元整）。\n\n该员工现为公司在职人员，劳动合同正常履行中。\n\n特此证明。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n人力资源部\n\n二〇二六年四月二十七日\n\n（公司公章）\n\n---\n\n> **声明**：本证明仅作为该员工在职情况之证明，不作为任何金融担保用途。\n> **联系电话**：0532-87821789  **邮箱**：hr@huo15.com\n\nFile v7.9.3:templates/备忘录.md\n\n# 战略合作备忘录\n\n**甲方：** 青岛火一五信息科技有限公司（\"火一五\"）\n**乙方：** 与境出行（\"与境\"）\n**签订日期：** 2026年4月27日\n**有效期：** 自签订日起 12 个月\n\n---\n\n## 一、合作背景\n\n火一五是一家专注\"全场景人工智能机器人\"的技术公司，已为 50+ 企业客户落地辉火云企业套件。与境是出境旅游服务平台运营方，正在从单点工具升级为全链路 SaaS 服务平台。\n\n双方在 2026 年 Q1 完成与境一期 MVP 项目的开发与上线，合作顺畅，结果超预期。基于此次成功合作，双方决定进一步深化合作，签订本战略合作备忘录。\n\n---\n\n## 二、合作内容\n\n### 一、产品合作\n\n1. **二期 APP 开发**：火一五承接与境出行的 iOS / Android 原生 APP 开发，预计 2026 年 6 月启动立项\n2. **AI 客服**：火一五基于 Claude Sonnet 4.6 为与境定制 AI 客服，覆盖出境签证、航班、保险三类咨询\n3. **数据分析**：双方联合搭建客户行为分析看板，与境提供数据，火一五提供平台\n\n### 二、市场合作\n\n1. 火一五在媒体宣传中可引用本案例（需经与境审阅同意）\n2. 与境在出境游行业活动中可优先推荐火一五作为技术合作伙伴\n3. 双方共同参加 2026 年青岛\"出境游 + AI\"行业论坛\n\n### 三、技术合作\n\n1. 火一五优先为与境提供新功能 Beta 试用机会\n2. 与境向火一五反馈一线业务场景，作为产品演进的输入\n\n---\n\n## 三、双方责任\n\n### 火一五\n\n- 在不冲突现有客户的前提下，向与境提供\"准战略客户\"待遇\n- 二期 APP 报价较常规标准下浮 10%\n- 关键 Bug（P0/P1）在 2 小时内响应\n\n### 与境\n\n- 在出境游行业内推荐火一五时不收取额外推广费\n- 至少每季度提供一次详细业务反馈\n- 案例宣传时配合火一五公关动作\n\n---\n\n## 四、保密\n\n双方在合作过程中获取的对方商业秘密、技术信息、客户信息均承担保密义务，期限自本备忘录签订之日起至终止后 3 年内有效。\n\n---\n\n## 五、有效期与终止\n\n1. 本备忘录有效期 12 个月，到期后双方协商续签\n2. 任意一方提前 30 天书面通知，可单方面终止本备忘录\n3. 本备忘录不构成任何法律意义上的合资 / 合营关系，具体业务合作以单独签订的合同为准\n\n---\n\n## 六、其他\n\n本备忘录一式两份，甲乙双方各执一份，自双方签字盖章之日起生效。\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（与境出行）|\n|:--:|:--:|\n| 法人代表（签字）：__________ | 法人代表（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nArchive v7.9.2: 33 files, 119774 bytes\n\nFiles: _meta.json (144b), LICENSE (1145b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (52447b), scripts/create-word-doc.py (53437b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), skill-card.md (2552b), SKILL.md (22861b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nFile v7.9.2:SKILL.md\n\n---\nname: huo15-openclaw-office-doc\ndisplayName: 火一五文档技能\ndescription: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。\nversion: 7.9.2\naliases:\n  - 火一五文档技能\n  - 文档生成\n  - Word生成\n  - PDF生成\n  - 多规范文档\ndependencies:\n  python-packages:\n    - python-docx\n    - reportlab\n    - pygments  # 可选；装了即代码块语法高亮\n---\n\n# 火一五文档技能 v7.9.1\n\n> 企业级 Word & 原生 PDF 文档生成 — 青岛火一五信息科技有限公司\n\n**愿景：** 加速企业向全场景人工智能机器人转变\n**理念：** 打破信息孤岛，用一套系统驱动企业增长\n\n---\n\n## 〇、v7.9.1（正文默认仿宋）\n\n**变更**：除合同 7 类外，所有文体（需求文档 / 技术方案 / 研究报告 / 手册 / 方案 / 公文等）正文字体默认由**宋体改为仿宋**；标题保持黑体 / 方正小标宋。契合中文公文与方案文档规范（正文仿宋 GB），观感更正式统一。\n\n- 合同类（劳动 / 服务 / 技术开发 / 销售 / 采购 / NDA / 合作）**保持宋体**（商业惯例）\n- 调用 `create-word-doc.py` 生成的非合同文档，正文自动为仿宋，**无需再后处理改字体**\n- macOS 用 STFangsong 渲染，Windows / WPS 用系统「仿宋」\n\n---\n\n## 一、v7.8.5 hotfix（**ELEPHANT-IN-THE-ROOM** — LOGO 宽度错算导致页眉跑出页面）\n\n**用户反馈\"v7.8.1/v7.8.2/v7.8.3 还是没有页眉、字体不对\"** — pdftoppm 栅格化亲眼验证 + PyMuPDF 解 PDF stream 找到真凶：\n\n```python\n# v7.7~v7.8.4 错误代码\nimg = Image(logo_path, height=target_h)        # platypus Flowable\niw, ih = img.wrap(page_w, page_h)               # iw 返回原图像素宽（如 2048）\ntarget_w = iw * (target_h / ih) if ih else target_h\n# ↑ iw=2048, ih=25.5 → target_w = 2048 * (25.5/25.5) = 2048pt\n```\n\n`drawImage(width=2048, height=25.5, preserveAspectRatio=True)` 在 2048pt 宽容器里**居中** 25.5pt 实际 LOGO，居中偏移 `(2048-25.5)/2 = 1011pt`。LOGO 实际 x = `79 + 1011 = 1090pt`，**远超 page 595pt 宽** — LOGO 跑到页外！页眉文字 `text_x = x_start + logo_w = 79 + 2053 = 2133pt` 也跑到页外。\n\n**所以\"页眉只有一条灰线\"** — line 用绝对坐标没问题，drawImage/drawString 用 transform matrix 全跑页外。\n\n**修复**：用 `reportlab.lib.utils.ImageReader.getSize()` 直接读 LOGO 像素尺寸等比缩放，不依赖 platypus `Image.wrap()`。\n\n```python\nfrom reportlab.lib.utils import ImageReader\nir = ImageReader(logo_path)\niw, ih = ir.getSize()                # 像素尺寸，2048×2048\ntarget_w = target_h * iw / ih        # 25.5 * 2048/2048 = 25.5pt 正确\n```\n\n**v7.8.0~v7.8.4 都修错了方向**（字体 subface / fontconfig fallback / two-pass canvas resource / onPage 时机）。这次用 PyMuPDF 解 PDF stream 看到 `25.5 0 0 25.5 1090.614 803.622 cm` 才直接定位到 LOGO transform 错位。**亲眼看 + 拆 PDF stream 是诊断这类视觉 bug 的唯一可靠路径。**\n\n附带：chrome 从 two-pass canvas 子类移到 `PageTemplate.onPage` 回调（`make_chrome_callback`），架构更干净。\n\n---\n\n## 〇、v7.8.0~v7.8.4 中间版本（合并摘要 — 都没修到真因）\n\n| 版本 | 改动方向 | 实际效果 |\n|---|---|---|\n| v7.8.0 | LibreOffice filter 7 项保真 + 平台感知 backend | 字体/排版 marginal 改善，元凶未触 |\n| v7.8.1 | macOS Songti.ttc subface 0→6 / STHeiti 0→1（修繁体特黑） | 嵌入字体名变对，但页眉仍隐身 |\n| v7.8.2 | LibreOffice 路径 docx 字体名平台映射（\"宋体\"→\"宋体-简\"） | LibreOffice 路径有效，PDF 直出仍隐身 |\n| v7.8.3 | 文案：LibreOffice 标为推荐默认 | 文档级，无代码影响 |\n| v7.8.4 | (内部调试，setFillColor / 字体注册 trick) | 都没救页眉 |\n\n→ 都是错方向。**真因在 v7.8.5 才被定位**：LOGO `Image.wrap()` 返回 iw 没等比缩放 → target_w 错算 2048pt → drawImage 居中偏移 1011pt → LOGO+chrome 文字跑出页面右边。\n\n---\n\n## 〇、v7.7 修复（PDF 直出与 Word 视觉对齐 — 摘要）\n\n修了 3 处对齐：页眉用 `stringWidth()` 居中（修正中文公司名偏右）/ leading × 1.2 系数（21.6pt 对齐 Word 1.5 倍行距）/ firstLineIndent = size × 2（24pt 对齐 Word `firstLineChars=200`）。详细数学验证见 git log `v7.7.0` 提交。\n\n---\n\n## 一、v7.5 关键变化（合同细分 7 类 + 配套范本）\n\n> 用户反馈：\"合同帮我再细分\"。\n\n通用\"合同\"在 ToB 场景下太粗 — 一份合同应不应该带 试用期 / 知识产权 / 退换货 /\n保密期限 / 收益分配 等条款，取决于具体合同子类。v7.5 把合同细分为 7 类：\n\n| 子类 | 触发关键词 | 适用场景 | 范本 |\n|------|-----------|---------|------|\n| **劳动合同** | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | HR 招聘入职 | [templates/劳动合同.md](templates/劳动合同.md) |\n| **服务合同** | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS / 运维 | 长期服务 | [templates/服务合同.md](templates/服务合同.md) |\n| **技术开发合同** | 软件开发 / 委托开发 / 定制开发 / 开发合同 | 一次性开发 | [templates/技术开发合同.md](templates/技术开发合同.md) |\n| **销售合同** | 销售合同 / 货物销售 / 软件许可 / 经销 | 售方角度 | [templates/销售合同.md](templates/销售合同.md) |\n| **采购合同** | 采购合同 / 物资采购 / 设备采购 / 框架采购协议 | 购方角度 | [templates/采购合同.md](templates/采购合同.md) |\n| **保密协议** | 保密协议 / NDA / 信息保密 / 双向保密 | 保密信息保护 | [templates/保密协议.md](templates/保密协议.md) |\n| **合作协议** | 战略合作协议 / 联营协议 / 联合开发协议 | 有约束力合作 | [templates/合作协议.md](templates/合作协议.md) |\n\n通用\"合同\"作为兜底保留 — 输入命中\"合同\"但没匹配到具体子类时使用。\n\n视觉上 7 个合同子类共享通用合同的版式（宋体 / 标准页边距 / 无文档壳 / 第一条 ~\n第N条结构）；差异在 **正文结构** 与 **范本内容**。FORMAT_KEYWORDS 顺序保证子类\n关键词在通用\"合同\"之前命中。\n\n---\n\n> 历史变更详见文末 §十 版本历史。\n\n---\n\n## 二、39 类文档规范（v7.5）\n\n> 列含义：banner = 顶部右上 【内部】 红字；meta = 文档编号/版本/密级/日期 2 列表；\n> 版本史 = 末尾\"版本历史\"表；审批 = 末尾\"审批记录\"表；TOC = 自动目录。\n> 命中顺序由上至下；`auto` 命中后立即返回；`--doc-format <规范>` 强制覆盖。\n\n| 规范 | 触发关键词 | banner | meta | 版本史 | 审批 | TOC |\n|------|-----------|:------:|:----:|:------:|:----:|:---:|\n| **个人简历** ⭐v7.4 | 简历 / resume / CV | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **报价单** ⭐v7.4 | 报价单 / 商务报价 / 报价书 / 询价回复 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **新闻稿** ⭐v7.4 | 新闻稿 / 媒体通稿 / 发布稿 / press release | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **复盘报告** ⭐v7.4 | 复盘 / 项目复盘 / 项目总结 / 月度复盘 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **测试报告** ⭐v7.4 | 测试报告 / QA报告 / 验证报告 / 性能测试 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **故障报告** ⭐v7.4 | 故障报告 / 事故报告 / 故障复盘 / postmortem | ✅ | ✅ | ❌ | ❌ | ❌ |\n| **任命书** ⭐v7.4 | 任命书 / 聘任书 / 委任书 / 任命决定 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **应急预案** ⭐v7.4 | 应急预案 / 应急响应预案 / 应急处置方案 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **在职证明** ⭐v7.4 | 在职证明 / 离职证明 / 工作证明 / 收入证明 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **风险评估报告** ⭐v7.4 | 风险评估 / 风险报告 / 安全评估 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目计划书** ⭐v7.4 | 项目计划书 / 项目执行计划 / 项目章程 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目结项报告** ⭐v7.4 | 结项报告 / 项目收尾报告 / 项目交付总结 | ❌ | ✅ | ✅ | ✅ | ✅ |\n| **API文档** ⭐v7.4 | API文档 / 接口文档 / 接口规范 / openapi | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **部署文档** ⭐v7.4 | 部署文档 / 部署手册 / 上线手册 / runbook | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **备忘录** ⭐v7.4 | 备忘录 / MOU / 合作意向书 / 战略合作备忘录 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 验收单 ⭐v7.3 | 验收单 / 验收报告 / 交付确认书 / 项目验收 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 项目立项书 ⭐v7.3 | 立项申请 / 立项书 / 项目建议书 / 可行性研究报告 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 操作SOP ⭐v7.3 | SOP / 标准作业指导书 / 工艺文件 / 操作规程 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| 公司制度 ⭐v7.3 | 规章制度 / 管理办法 / 实施细则 / 管理细则 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 信函 ⭐v7.3 | 公函 / 商务函件 / 求职信 / 推荐信 / 邀请函 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 招投标书 | 招标书 / 投标书 / 投标文件 / 响应文件 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 商业计划书 | 商业计划书 / BP / 融资计划书 / 路演稿 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 用户手册 | 用户手册 / 操作手册 / 使用说明 / Manual | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 培训手册 | 培训手册 / 培训教材 / 教学大纲 / 员工手册 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 演讲稿 | 演讲稿 / 致辞稿 / 讲话稿 / 主题分享 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 研究报告 | 研究报告 / 学术论文 / 调研报告 / 白皮书 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **劳动合同** ⭐v7.5 | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **服务合同** ⭐v7.5 | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS 合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **技术开发合同** ⭐v7.5 | 软件开发合同 / 委托开发合同 / 定制开发 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **销售合同** ⭐v7.5 | 销售合同 / 货物销售 / 软件许可合同 / 经销 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **采购合同** ⭐v7.5 | 采购合同 / 物资采购 / 设备采购 / 框架采购 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **保密协议** ⭐v7.5 | 保密协议 / NDA / 信息保密 / 双向保密 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **合作协议** ⭐v7.5 | 战略合作协议 / 联营协议 / 联合开发协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 合同（通用兜底）| 合同 / 协议 / 协议书 / 补充协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 会议纪要 | 会议纪要 / 纪要 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 技术方案 | 技术方案 / 实施方案 / 解决方案 / 设计文档 / 架构设计 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 需求文档 | 需求规格 / SRS / PRD / 需求说明 / 需求文档 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 工作报告 | 工作报告 / 周报 / 月报 / 季报 / 年报 / 述职报告 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 公文（默认）| 未命中其他关键词 | ✅ | ✅ | ✅ | ✅ | ❌ |\n\n> 一行命令看全 17 种：`python3 scripts/create-word-doc.py --list-formats`。\n> CLI 精细控制：`--with-version-history / --no-version-history /\n> --with-approval / --no-approval /\n> --with-classification-banner / --no-classification-banner /\n> --with-doc-meta-table / --no-doc-meta-table /\n> --with-title-block / --no-title-block`。\n\n### 标题层级识别（每种规范独立）\n\n每种规范都有自己的章节编号正则；同时支持标准 Markdown `# / ## / ### / ####`。例如：\n\n| 规范 | 一级（chapter） | 二级（section） | 三级（article） |\n|------|---------------|---------------|----------------|\n| 公文 | 第X章/第X节 | 一、二、三、 | （一）（二） |\n| 合同 | 第X章/第X条 | 一、二、 | — |\n| 商业计划书 | 第X部分/一、二、 | 1.1 | 1.1.1 |\n| 用户手册 | 第X章 | X. | X.X |\n| 培训手册 | 模块X/单元X/第X课 | 一、二、 | X.X |\n| 招投标书 | 第X章/篇/部分 | 一、二、 | （一）（二） |\n| 研究报告 | 摘要/Abstract/引言/结论/参考文献/一、 | X. | X.X |\n\n---\n\n## 三、页眉 / 页脚规范\n\n### 3.1 页眉\n\n- **company**（默认）：LOGO + 公司名 + 文档编号 + 密级，**左对齐**\n- **minimal**（合同 / 用户手册 / 演讲稿）：LOGO + 公司名，**左对齐**，不显示编号 / 密级\n- **centered**（保留备选，当前无规范默认走此项）：仅公司名，居中\n- 底部统一灰线 `#888888`\n\n> v7.0 直接写 OOXML `<w:jc>` 并清 `<w:tabs>`，避免 WPS / 部分 Word 模板的样式继承覆盖。\n\n### 3.2 页脚\n\n- 所有规范统一为 `第 X 页 / 共 Y 页`，居中\n- Word：`PAGE` / `NUMPAGES` 字段码（打开时自动计算）\n- PDF：两遍渲染（NumberedCanvas）拿到真总页数\n\n---\n\n## 四、本地公司信息工作流\n\n页眉的公司名、LOGO 按以下优先级解析：\n\n1. **CLI 显式参数** `--company-name` / `--logo-path`\n2. **本地缓存** `~/.huo15/company-info.json`\n3. **Odoo `res.company`** 自动拉取（可用 `--no-odoo` 关闭）\n4. **退出码 2 + 结构化 JSON** — 以上都拿不到时让 Claude 触发补录流程\n\n### 4.1 标准流程（生成前）\n\n```bash\npython3 scripts/company-info.py check\n#   exit 0 + 完整 JSON  → 直接生成\n#   exit 2 + missing[]  → 进入补录\n```\n\n**补录流程**（Claude 执行）：\n\n1. 先查 auto-memory 中的 `huo15_company_info.md` / `user_identity.md`\n2. 仍缺失时用 `AskUserQuestion` 询问：公司全称、LOGO 路径、可选 slogan / 地址 / 电话 / 邮箱 / 官网\n3. 写入：\n   ```bash\n   python3 scripts/company-info.py set \\\n     --company-name \"<公司全称>\" --logo-path \"<LOGO绝对路径>\"\n   ```\n4. 同步写入 memory（`huo15_company_info.md`）\n\n---\n\n## 五、命令行\n\n```bash\n# Word 直出\npython3 scripts/create-word-doc.py --output 方案.docx \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-number \"HG-FA-2026-001\" --version \"V1.0\" --classification \"内部\" \\\n  --author \"辉火云管家·贾维斯\"\n\n# 一览 39 种 preset：\npython3 scripts/create-word-doc.py --list-formats\n\n# 原生 PDF 直出（不依赖 LibreOffice / Office）：\npython3 scripts/create-pdf-doc.py --output 方案.pdf \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-format 技术方案\n\n# Word → PDF（保留版式）：\npython3 scripts/word-to-pdf.py 方案.docx -o 方案.pdf\n```\n\n**关键 CLI 参数：**\n\n- `--doc-format <规范>` — 39 类规范任选；省略走 `auto` 自动识别\n- `--company-name / --logo-path` — 覆盖本地公司信息\n- `--with-version-history / --no-version-history` — 版本历史表\n- `--with-approval / --no-approval` — 审批记录表\n- `--with-classification-banner / --no-classification-banner` — 顶部 【内部】红字\n- `--with-doc-meta-table / --no-doc-meta-table` — 顶部元数据 2 列表\n- `--with-title-block / --no-title-block` — 标题大字块\n\n**何时用哪条路径**：只要 Word → 用 `create-word-doc.py`；只要 PDF →\n`create-pdf-doc.py`（最快）；要 Word + PDF 版式一致 → 先 word，再\n`word-to-pdf.py`。后端优先级 `libreoffice → docx2pdf → word_com` 自动回落。\n\n字体：macOS 自带 Songti.ttc / STHeiti.ttc；Linux 推荐 Noto CJK；\nWindows 可用 SimSun / SimHei。\n\n---\n\n## 六、Markdown 能力速查\n\n| 元素 | 写法 | 说明 |\n|------|------|------|\n| 标题 | `#`~`######` | 也支持规范专属编号（一、 / 1. / 1.1 / 第X章） |\n| 段落软换行 | 直接换行 | CJK ↔ CJK 不插入空格；ASCII 仍保留空格 |\n| 段落硬换行 | 行尾 `  ` 或 `\\` | 同段内强制换行 |\n| 列表 | `- item` / `* item` / `1. item` | |\n| 强调 | `**粗**` / `*斜*` / `` `inline code` `` | |\n| 表格 | 标准 GFM | 缺前导 `|` / 转义 `\\|` / 2 列起即可识别 |\n| 代码块 | `` ``` ``...`` ``` `` | 等宽灰底；带语言标签 |\n| 引用块 | `> ...` | 左侧橘色竖条 + 灰色段 |\n| 分隔线 | `---` / `***` / `___` | |\n| 元数据行 | `文档编号：XX | 版本：V1.0 | 密级：内部 | 日期：2026-04-27` | 自动两列表格 |\n| 分页符 | `---PAGE---` / `\\pagebreak` / `<!-- pagebreak -->` | 强制下一页 |\n| 空内容 | — | 写\"（无正文内容）\"灰字占位 |\n\n---\n\n## 七、Python API\n\n```python\n# Word\nfrom create_word_doc import create_word_doc\ncreate_word_doc(\n    output_path=\"文档.docx\",\n    title=\"技术方案：XXX系统\",\n    content=md_text,\n    doc_number=\"HG-FA-2026-001\",\n    version=\"V1.0\",\n    classification=\"内部\",\n    author=\"辉火云管家·贾维斯\",\n    doc_format=\"auto\",            # 12 类规范名 / 'auto'\n)\n\n# PDF\nfrom create_pdf_doc import create_pdf_doc\ncreate_pdf_doc(output_path=\"文档.pdf\", title=\"...\", content=md_text,\n               doc_format=\"商业计划书\")\n\n# Word → PDF\nfrom word_to_pdf import convert_to_pdf\nok, path = convert_to_pdf(\"方案.docx\", \"方案.pdf\",\n                          backend=\"auto\", keep_fonts=True)\n```\n\n> 缺公司信息时三个入口都抛 `RuntimeError`，message 是结构化 JSON，Claude 据此触发补录。\n\n---\n\n## 八、触发词\n\n通用：写 word / 写 PDF / 写文档 / 生成 word / 生成 PDF / 创建文档 / 导出文档 / Word 转 PDF。\n\n39 类规范触发词由 §二 表格中\"触发关键词\"列定义。常用：写合同 / 写协议 /\n写劳动合同 / 写服务合同 / 写技术开发合同 / 写销售合同 / 写采购合同 / 写 NDA /\n写保密协议 / 写战略合作协议 / 写方案 / 写报告 / 写会议纪要 / 写需求文档 /\n写 PRD / 写商业计划书 / 写 BP / 写用户手册 / 写培训手册 / 写招标书 / 写投标书 /\n写演讲稿 / 写研究报告 / 写白皮书 / 写验收单 / 写立项书 / 写 SOP / 写公司制度 /\n写公函 / 写邀请函 / 写简历 / 写 CV / 写报价单 / 写新闻稿 / 写复盘 / 写测试报告 /\n写故障报告 / 写 postmortem / 写任命书 / 写应急预案 / 写在职证明 / 写风险评估 /\n写项目计划书 / 写项目结项报告 / 写 API 文档 / 写部署文档 / 写 runbook / 写备忘录 /\n写 MOU。\n\n---\n\n## 九、目录结构\n\n```\nscripts/\n├── doc_core.py          # 共享核心：32 类预设 + Block AST 解析 + 内联 token\n│                        # v7.4：再扩 15 类预设 + 关键词优先级调整\n│                        # v7.3：FormatPreset 增 4 个文档壳开关\n├── company-info.py      # 本地公司信息读写 + Odoo 回落\n├── create-word-doc.py   # Word 渲染（python-docx + 强制 OOXML jc）\n│                        # v7.3：_strip_markdown_emphasis + _maybe_dedupe_h1_title\n├── create-pdf-doc.py    # 原生 PDF 渲染（reportlab + NumberedCanvas）\n│                        # v7.3：与 Word 端文档壳逻辑保持一致\n└── word-to-pdf.py       # Word → PDF 多后端转换\n\ntemplates/               # v7.4：15 份可直接拷贝改写的 markdown 范本\n├── 个人简历.md\n├── 报价单.md\n├── 新闻稿.md\n├── 复盘报告.md\n├── 测试报告.md\n├── 故障报告.md\n├── 任命书.md\n├── 应急预案.md\n├── 在职证明.md\n├── 风险评估报告.md\n├── 项目计划书.md\n├── 项目结项报告.md\n├── API文档.md\n├── 部署文档.md\n├── 备忘录.md\n└── README.md\n```\n\n---\n\n## 十一、未来路线（已调研、未实施）\n\n| 功能 | 业界参考 | 优先级 | 复杂度 | 拟引入依赖 |\n|------|---------|--------|-------|----------|\n| LaTeX → OMML 公式管线 | markdocx / Pandoc | 中 | 中 | latex2mathml + XSLT |\n| reference docx 模板继承 | Pandoc / Quarto | 中 | 中 | 仅模板文件 |\n| Typst 第四条 PDF 路径（30× 速度） | typst.app + zh-kit | 中 | 中 | typst 二进制 |\n| pandoc-crossref 风格交叉引用 `{#fig:xxx}` | pandoc-crossref | 中 | 中 | — |\n| 水印 + AES 加密 | msoffcrypto-tool | 低 | 小 | msoffcrypto-tool |\n| 修订追踪 / 批注 | docx-revisions | 低 | 大 | docx-revisions |\n| docxtpl Jinja2 模板槽 | docxtpl | 低 | 小 | docxtpl |\n\n> 任何一项触发刚需时再上；当前以稳定 + 中文友好 + 易维护为先。\n\n---\n\n## 十、版本历史\n\n详细版本历史见 git log。当前主要里程碑：\n- **v7.8.6**（最新）：**Word emoji 乱码修复** — markdown 内含 emoji(🎂🚗💰🦞✅⭐🇨🇳 等)生成 docx 后,在 WPS / LibreOffice / Linux Word 渲染时显示 ▢▢ 占位方块。根因:`_set_font` 把 ascii/hAnsi/eastAsia 三个 slot 都设为中文字体(PingFang/宋体/黑体),中文字体不含 emoji glyph 就 fallback 到方块。修复:(1)`_set_font` 加 `w:cs` slot 指向 `Segoe UI Emoji` 兜底;(2)新增 `_add_run` emoji-aware 包装,内部按 `_EMOJI_RE` 正则把 emoji 字符切到独立 run + 用 emoji 字体;(3)`render_inline` 改用 `_add_run` 覆盖所有 markdown 内联文本(bold/italic/code/text)。Mac/Linux 系统会自动 fallback 到 Apple Color Emoji / Noto Color Emoji。\n- **v7.8.x**：PDF 渲染保真度 — 字体 subface 修正 / leading 系数 / firstLineIndent 字符化 / LibreOffice filter 加固 / 平台感知后端优先级（详见上方〇章节）\n- **v7.5–v7.6**：39 类规范 + 合同细分 7 类 + KV 元数据归并 / TOC 占位回填 / PDF outline 修复\n- **v7.0–v7.4**：原生 PDF 直出（create-pdf-doc.py）+ 27→39 类扩张 + Pygments 代码高亮 + CJK 段落 OOXML 直写\n- **v6.x**：Block AST 重写 / 页眉恒含 LOGO / 页脚字段码\n- **v5.x**：多规范自动识别骨架 + company-info.py\n\n---\n\n**技术支持：** 青岛火一五信息科技有限公司\n\nFile v7.9.2:templates/README.md\n\n# 文档范本（v7.4 起 15 类 + v7.5 起 7 类合同细分 = 22 份）\n\n每个 markdown 范本是一份\"看了就能改\"的真实样例。\n直接拷走、把里面的占位字段（公司名 / 客户名 / 编号 / 日期 / 金额）替换成自己的，\n再用对应 preset 渲染即可。\n\n## v7.5 合同细分（7 份）⭐\n\n| 范本文件 | 对应规范 | 适用场景 |\n|---------|---------|---------|\n| [劳动合同.md](劳动合同.md) | `劳动合同` | HR 招聘、入职 |\n| [服务合同.md](服务合同.md) | `服务合同` | SaaS / 咨询 / 维保 / 实施 |\n| [技术开发合同.md](技术开发合同.md) | `技术开发合同` | 软件 / 硬件一次性开发 |\n| [销售合同.md](销售合同.md) | `销售合同` | 软件许可销售 / 货物销售 |\n| [采购合同.md](采购合同.md) | `采购合同` | 设备 / 物资 / 服务采购 |\n| [保密协议.md](保密协议.md) | `保密协议` | NDA，单向 / 双向 |\n| [合作协议.md](合作协议.md) | `合作协议` | 战略合作（有约束力，区别于 MOU）|\n\n## v7.4 通用范本（15 份）\n\n| 范本文件 | 对应规范 | 推荐用法 |\n|---------|---------|---------|\n| [个人简历.md](个人简历.md) | `个人简历` | 紧凑单页，无文档壳 |\n| [报价单.md](报价单.md) | `报价单` | 表格驱动，明显合计 |\n| [新闻稿.md](新闻稿.md) | `新闻稿` | dateline + 主体 + 媒体联系人 |\n| [复盘报告.md](复盘报告.md) | `复盘报告` | 项目复盘标准结构 |\n| [测试报告.md](测试报告.md) | `测试报告` | 含完整文档壳 + 缺陷统计 |\n| [故障报告.md](故障报告.md) | `故障报告` | 时间线 + 根因 + 改进项 |\n| [任命书.md](任命书.md) | `任命书` | letterhead 单页 |\n| [应急预案.md](应急预案.md) | `应急预案` | 完整文档壳 + 分级流程 |\n| [在职证明.md](在职证明.md) | `在职证明` | letterhead 单页 |\n| [风险评估报告.md](风险评估报告.md) | `风险评估报告` | 风险矩阵 + 应对措施 |\n| [项目计划书.md](项目计划书.md) | `项目计划书` | 完整文档壳 + 里程碑 |\n| [项目结项报告.md](项目结项报告.md) | `项目结项报告` | 收尾 + 客户评价 + 后续支持 |\n| [API文档.md](API文档.md) | `API文档` | OpenAPI 风格 |\n| [部署文档.md](部署文档.md) | `部署文档` | 步骤式 + 故障排查 + 回滚 |\n| [备忘录.md](备忘录.md) | `备忘录` | MOU 形式，双方签章（无约束力意向）|\n\n## 怎么用\n\n```bash\n# 拷一份范本\ncp ~/.openclaw/skills/huo15-openclaw-office-doc/templates/报价单.md \\\n   /tmp/我的报价单.md\n\n# 编辑成自己的内容\nvim /tmp/我的报价单.md\n\n# 渲染（auto 会按标题命中 报价单 preset）\npython3 ~/.openclaw/skills/huo15-openclaw-office-doc/scripts/create-word-doc.py \\\n  --output 我的报价单.docx \\\n  --title \"软件开发服务报价单\" \\\n  --content @/tmp/我的报价单.md\n```\n\n也可以让 LLM 直接基于范本生成，先把范本贴给它做参考，再让它按你的具体需求改写。\n\n## 既有 17 类（v7.3 及之前）尚无独立范本\n\n公文 / 合同（通用）/ 会议纪要 / 技术方案 / 需求文档 / 工作报告 / 商业计划书 /\n用户手册 / 培训手册 / 招投标书 / 演讲稿 / 研究报告 / 验收单 / 项目立项书 /\n操作SOP / 公司制度 / 信函 — 这些规范在 v7.0 ~ v7.3 已经迭代过；如有需要，\n后续可以按本目录格式继续扩。\n\n> **注意：** 通用\"合同\"作为兜底（输入命中\"合同\"但没匹配上具体子类时使用），\n> 可参考任一合同子类范本（结构高度相似，只改第一条/第二条的具体内容即可）。\n\nFile v7.9.2:_meta.json\n\n{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-openclaw-office-doc\",\n  \"version\": \"7.9.2\",\n  \"publishedAt\": 1787483408706\n}\n\nFile v7.9.2:skill-card.md\n\n## Description:\n\nHuo15 OpenClaw Office Doc helps agents generate Chinese business Word and PDF documents across 39 formats, including contracts, HR forms, project reports, API documentation, deployment guides, and postmortems.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhaobod1](https://clawhub.ai/user/zhaobod1)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nEmployees, consultants, and business or technical teams use this skill to draft, format, and export standardized Chinese enterprise documents as Word or PDF files. It supports document generation from Markdown content, template reuse, document-format selection, company branding, and Word-to-PDF conversion.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence says the skill can use local company branding data and may attempt Odoo access by default when company information is missing.\n\nMitigation: Run document commands with explicit --company-name and --logo-path values, or pass --no-odoo unless Odoo integration is intended.\n\nRisk: The security evidence flags credential-backed Odoo access with disabled TLS checks.\n\nMitigation: Review the skill before installation and enable Odoo only with trusted credentials, endpoints, and network conditions.\n\nRisk: The security evidence says scripts/generate-config.sh creates persistent OpenClaw identity and memory files.\n\nMitigation: Do not run scripts/generate-config.sh unless persistent identity and memory files are desired, and inspect the output directory before use.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zhaobod1/skills/huo15-openclaw-office-doc)\n- [Skill instructions](SKILL.md)\n- [Template README](templates/README.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, files]\n\n**Output Format:** [Markdown guidance with shell commands and generated Word or PDF document files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Generated documents may include company branding, document metadata, version history, approval records, tables of contents, classification banners, and format-specific templates.]\n\n## Skill Version(s):\n\n7.9.2 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v7.9.2:templates/API文档.md\n\n# 辉火云开放平台 API 文档\n\n## 一、概述\n\n辉火云开放平台为合作伙伴提供 RESTful API，覆盖项目管理、CRM、联系人、报销四个核心模块。\n\n**Base URL**：`https://api.huo15.com/v1`\n**协议**：HTTPS\n**编码**：UTF-8\n**响应格式**：JSON\n\n---\n\n## 二、鉴权\n\n所有 API 调用需在 HTTP Header 携带：\n\n```\nAuthorization: Bearer <ACCESS_TOKEN>\nX-Huo15-Tenant: <租户ID>\n```\n\n`ACCESS_TOKEN` 通过 `/auth/token` 获取，有效期 2 小时；过期后调用 `/auth/refresh` 刷新。\n\n---\n\n## 三、通用响应格式\n\n```json\n{\n  \"code\": 0,\n  \"message\": \"ok\",\n  \"data\": { ... },\n  \"request_id\": \"req-xxxx-xxxx-xxxx\"\n}\n```\n\n`code = 0` 表示成功；非 0 表示失败，对应错误码见 §六。\n\n---\n\n## 四、项目管理接口\n\n### POST /projects\n\n**说明**：创建项目\n\n**请求体**：\n\n```json\n{\n  \"name\": \"辉火云 v19.0 升级\",\n  \"description\": \"大版本升级，含多模型路由 + Vue 3 迁移\",\n  \"owner_id\": \"user-001\",\n  \"start_date\": \"2026-05-01\",\n  \"end_date\": \"2026-10-15\",\n  \"tags\": [\"v19\", \"upgrade\"]\n}\n```\n\n**响应**：\n\n```json\n{\n  \"code\": 0,\n  \"data\": {\n    \"id\": \"proj-2026-001\",\n    \"name\": \"辉火云 v19.0 升级\",\n    \"status\": \"planning\",\n    \"created_at\": \"2026-04-27T10:30:00+08:00\"\n  }\n}\n```\n\n### GET /projects/{id}\n\n**说明**：查询项目详情\n\n**路径参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `id` | string | 项目 ID |\n\n**响应示例**：见 POST 返回。\n\n### PATCH /projects/{id}\n\n**说明**：更新项目（部分字段）\n\n### DELETE /projects/{id}\n\n**说明**：删除项目（软删除）\n\n---\n\n## 五、CRM 接口\n\n### POST /customers\n\n**说明**：创建客户\n\n**请求体**：\n\n```json\n{\n  \"name\": \"与境出行\",\n  \"contact\": \"张鹏\",\n  \"phone\": \"138-0000-0000\",\n  \"industry\": \"出行\",\n  \"tags\": [\"重点客户\", \"出境游\"]\n}\n```\n\n### GET /customers\n\n**说明**：客户列表（支持分页与筛选）\n\n**Query 参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `page` | int | 页码，默认 1 |\n| `size` | int | 每页条数，默认 20，最大 100 |\n| `industry` | string | 行业筛选 |\n| `tag` | string | 标签筛选 |\n\n---\n\n## 六、错误码\n\n| code | 含义 | HTTP 状态 |\n|-----:|------|----------:|\n| 0 | 成功 | 200 |\n| 40001 | 参数缺失 | 400 |\n| 40002 | 参数格式错误 | 400 |\n| 40101 | 鉴权失败（token 无效）| 401 |\n| 40102 | token 过期 | 401 |\n| 40301 | 权限不足 | 403 |\n| 40401 | 资源不存在 | 404 |\n| 42901 | 调用频率超限 | 429 |\n| 50001 | 服务内部错误 | 500 |\n| 50002 | 第三方服务异常 | 502 |\n\n---\n\n## 七、限流\n\n- 默认限流：每租户 1000 次 / 分钟\n- 突发限流：5 秒内最多 50 次\n- 命中限流返回 `429`，`Retry-After` Header 给出重试间隔\n\n---\n\n## 八、变更日志\n\n| 版本 | 日期 | 变更 |\n|------|------|------|\n| v1.3 | 2026-04-27 | 新增 `/projects` 标签筛选 |\n| v1.2 | 2026-03-15 | `/customers` 增加分页 |\n| v1.1 | 2026-02-01 | 错误码体系重构 |\n| v1.0 | 2026-01-15 | 首发 |\n\nFile v7.9.2:templates/个人简历.md\n\n# 张三\n\n**手机：** 138-0000-0000   **邮箱：** zhangsan@example.com   **居住地：** 山东·青岛\n**LinkedIn：** linkedin.com/in/zhangsan   **GitHub：** github.com/zhangsan\n\n---\n\n## 求职意向\n\n后端工程师 / 全栈工程师 / 期望薪资：35-50K · 立即到岗\n\n---\n\n## 教育经历\n\n| 时间 | 学校 | 专业 / 学历 |\n|---|---|---|\n| 2018.09 - 2022.06 | 中国海洋大学 | 计算机科学与技术 · 本科 |\n\nGPA 3.7/4.0；曾获国家奖学金、全国大学生程序设计竞赛省赛一等奖。\n\n---\n\n## 工作经历\n\n### 2024.03 - 至今 · 青岛火一五信息科技 · 后端工程师\n\n- 主导 huo15 ERP 微服务化改造，把 10+ 单体模块拆为 18 个独立服务，部署效率提升 4×\n- 设计并落地 wecom 消息队列异步化，单日处理消息从 5w 提升到 80w\n- 维护核心订单库（PostgreSQL，TB 级），主导一次主备切换故障复盘\n\n### 2022.07 - 2024.02 · 某互联网公司 · Java 工程师\n\n- 负责会员中心后端，QPS 1w+，P99 < 80ms\n- 推动 Redis 集群迁移，节省云成本 30%\n\n---\n\n## 项目经验\n\n### huo15-openclaw-office-doc · 个人开源项目 · 2026.04\n\n- 17 类企业文档规范的 Word / PDF 自动生成器，已发布到 ClawHub\n- 解决 LLM 写文档时排版重复 / 格式错乱的痛点\n- 技术栈：Python · python-docx · reportlab · OOXML\n\n---\n\n## 技能\n\n- **后端**：Java / Python / Go · Spring Boot · FastAPI\n- **数据**：PostgreSQL · Redis · ClickHouse · Kafka\n- **DevOps**：Docker · Kubernetes · GitLab CI · Terraform\n- **AI**：Anthropic API · LangChain · Prompt Engineering\n\n---\n\n## 自我评价\n\n10 年代码经验，习惯先想清再写；做 ToB 项目长期对接客户，能把模糊的\"想要\"翻译成可执行的需求；在团队里通常承担\"把控架构 + 兜底救火\"的角色。\n\nFile v7.9.2:templates/任命书.md\n\n# 任命书\n\n青岛火一五信息科技有限公司全体员工：\n\n经公司董事会研究决定，现任命：\n\n**张三** 同志（身份证号：370281xxxxxxxx0001）为本公司**首席技术官（CTO）**，主管公司技术研发体系，全面负责辉火云产品线的技术战略、架构设计、研发管理、技术品牌建设等工作。\n\n任期自 2026 年 5 月 1 日起，为期三年。\n\n希望张三同志认真履行 CTO 职责，恪守职业操守，团结带领技术团队，持续推动公司技术能力升级，为公司\"加速企业向全场景人工智能机器人转变\"的愿景贡献力量。\n\n公司各部门、各岗位人员应给予全力支持与配合。\n\n特此任命。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n董事长：__________________\n\n二〇二六年四月二十七日\n\n（公司公章）\n\nFile v7.9.2:templates/保密协议.md\n\n# 保密协议（NDA）\n\n**协议编号：** HHY-NDA-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**披露方（甲方）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n\n**接收方（乙方）：** xx 公司\n**法定代表人：** xxx\n**地址：** xxx\n\n鉴于双方拟就 **辉火云企业套件 v19.0 大版本合作** 事宜进行协商和合作，过程中双方需要相互披露各自的商业秘密、技术信息等，为明确双方的保密义务，签订本保密协议。\n\n---\n\n## 第一条 保密信息的定义\n\n本协议所称\"保密信息\"是指披露方以书面、口头、电子或其他形式向接收方披露的，与合作事项相关的所有信息，包括但不限于：\n\n1. **商业信息：** 财务数据、客户名单、定价策略、营销计划、商业模式\n2. **技术信息：** 源代码、技术架构、算法、数据库设计、未公开专利\n3. **运营信息：** 内部组织架构、人员安排、员工薪酬、供应商信息\n4. **产品信息：** 未发布功能、产品路线图、设计稿、测试数据\n5. **其他：** 披露方明确标注为\"保密\"的任何信息\n\n---\n\n## 第二条 不属于保密信息的情形\n\n下列情形之一的信息不属于保密信息：\n\n1. 在披露之前已为公众所知，且非因接收方原因泄漏的\n2. 接收方在披露之前已合法持有的（须有书面证据）\n3. 由第三方合法披露给接收方且无保密义务的\n4. 接收方独立开发，不依赖披露方信息的\n5. 法律法规要求披露或司法 / 行政机关依法要求披露的\n\n---\n\n## 第三条 保密义务\n\n接收方对披露方的保密信息承担以下义务：\n\n1. **不披露：** 未经披露方书面同意，不得向任何第三方披露\n2. **不使用：** 仅可用于本协议约定的合作目的，不得用于其他用途\n3. **限制接触人员：** 仅限于\"必须知悉\"原则下的接收方员工 / 顾问；接收方应与这些人员签订同等保密义务的书面协议\n4. **妥善保管：** 采取与保护自身同等重要保密信息相同水平的措施\n5. **不复制：** 未经披露方书面同意，不得复制或备份保密信息（合作必需的工作副本除外）\n\n---\n\n## 第四条 保密期限\n\n1. **本协议有效期：** 自签订之日起 **3 年**\n2. **保密义务期限：** 接收方对保密信息的保密义务自接收之日起 **5 年**\n3. **协议终止后：** 接收方应在 30 日内归还或销毁所有保密信息材料，并向披露方提交《销毁确认书》\n\n---\n\n## 第五条 保密信息的归还与销毁\n\n1. 协议终止时，或披露方提出书面要求时，接收方应立即：\n   - 归还所有以书面、电子或其他物理形式持有的保密信息\n   - 销毁无法归还的副本（包括电子文件 / 内部文档 / 笔记 / 备份）\n   - 提交《销毁确认书》并由经办人签字\n2. 法律要求保留的副本（如审计 / 法律记录），仍受本协议保密义务约束\n\n---\n\n## 第六条 双向保密（如适用）\n\n本协议为 **双向保密协议**：双方互为披露方与接收方，均承担相同保密义务。\n\n> 单向 NDA 适用时，删除本条。\n\n---\n\n## 第七条 违约责任\n\n1. 接收方违反本协议任一条款的，应：\n   - 立即停止违约行为\n   - 向披露方支付违约金 **人民币 50 万元**（包括但不限于实际损失、可得利益损失、商誉损失等）\n   - 承担披露方为追究违约责任发生的合理费用（律师费 / 鉴定费 / 公证费等）\n2. 违约金不足以弥补披露方实际损失的，接收方还应赔偿损失差额\n\n---\n\n## 第八条 不构成授权\n\n本协议不构成任何明示或默示的：\n\n- 知识产权许可\n- 合作 / 合资关系\n- 采购 / 销售义务\n- 雇佣关系\n\n任何此类关系应通过单独签订正式合同确立。\n\n---\n\n## 第九条 适用法律与争议解决\n\n1. 本协议适用 **中华人民共和国法律**\n2. 因本协议产生的争议，双方应友好协商；协商不成的，提交 **披露方所在地有管辖权的人民法院** 诉讼解决\n\n---\n\n## 第十条 其他\n\n1. 本协议未尽事宜，由双方另行协商\n2. 本协议任一条款被认定为无效或不可执行的，不影响其他条款效力\n3. 本协议的修改 / 补充须以书面形式经双方签字盖章后生效\n4. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 披露方（甲方）（青岛火一五信息科技有限公司）| 接收方（乙方）（xx 公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.2:templates/劳动合同.md\n\n# 劳动合同\n\n**合同编号：** HHY-LD-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方（用人单位）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方（劳动者）：** 张三\n**身份证号：** 370281xxxxxxxx0001\n**居住地址：** 山东省青岛市市南区xx路xx号\n**联系电话：** 138-0000-0000\n\n根据《中华人民共和国劳动法》、《中华人民共和国劳动合同法》等相关法律法规，甲乙双方在平等自愿、协商一致的基础上签订本合同。\n\n---\n\n## 第一条 合同期限\n\n本合同为**固定期限**劳动合同，期限自 **2026年5月1日** 起至 **2029年4月30日** 止，共 **3 年**。\n\n试用期为 **3 个月**，自 2026年5月1日 起至 2026年7月31日 止。\n\n---\n\n## 第二条 工作内容与工作地点\n\n1. 乙方岗位：**后端工程师**\n2. 工作内容：参与辉火云企业套件后端开发、维护与优化，按公司项目分配执行具体研发任务\n3. 工作地点：山东省青岛市黄岛区胶州湾路99号（甲方办公地址）；甲方因业务需要可调整工作地点，调整范围限于青岛市\n\n---\n\n## 第三条 工作时间与休息休假\n\n1. 实行**标准工时制**，每日工作 8 小时，每周工作 5 天；周六、周日为休息日\n2. 乙方依法享有法定节假日、年休假、婚假、产假、丧假等带薪休假\n3. 因业务需要安排加班，按《劳动法》规定支付加班工资或安排调休\n\n---\n\n## 第四条 劳动报酬\n\n1. **试用期工资：** 月工资人民币 28,000 元（税前）\n2. **转正后工资：** 月工资人民币 35,000 元（税前）\n3. **绩效奖金：** 按公司绩效考核制度发放，年度绩效奖金为 1-3 个月工资\n4. **工资支付：** 每月 15 日发放上月工资，通过银行转账支付到乙方指定账户\n5. 加班工资按《劳动法》规定标准计算\n\n---\n\n## 第五条 社会保险与福利\n\n1. 甲方依法为乙方缴纳社会保险（养老 / 医疗 / 失业 / 工伤 / 生育）和住房公积金\n2. 缴费基数按青岛市相关规定执行\n3. 乙方享有公司福利：商业医疗保险、节日福利、年度体检、餐补 30 元/工作日\n\n---\n\n## 第六条 劳动保护与劳动条件\n\n1. 甲方为乙方提供符合国家规定的工作环境与劳动保护用品\n2. 甲方依法对乙方进行职业培训、职业健康检查\n3. 乙方应遵守甲方的安全生产规章制度\n\n---\n\n## 第七条 保密与竞业限制\n\n1. **保密义务：** 乙方对甲方的商业秘密、技术秘密、客户信息、源代码等承担保密义务，期限自入职之日起至离职后 **2 年**\n2. **竞业限制：** 离职后 **24 个月**内，不得到与甲方有竞争关系的企业任职、不得自营同业；甲方按月支付竞业限制补偿金（基本工资的 30%）\n3. 违反保密 / 竞业限制约定的，乙方需向甲方支付违约金 **20 万元**，并赔偿由此造成的实际损失\n\n---\n\n## 第八条 知识产权\n\n1. 乙方在职期间，利用甲方资源、为完成甲方工作任务所产生的全部职务成果（包括但不限于代码、文档、专利、商标、设计），知识产权归甲方所有\n2. 乙方应配合甲方完成知识产权的申请、登记、转让等手续\n\n---\n\n## 第九条 合同变更与解除\n\n1. 经双方协商一致，可以变更或解除本合同\n2. 乙方解除合同需提前 **30 日**书面通知甲方（试用期内提前 3 日）\n3. 出现《劳动合同法》第三十九条、四十条、四十一条规定情形之一的，甲方可解除本合同\n\n---\n\n## 第十条 违约责任\n\n1. 一方违反本合同约定，造成对方损失的，应承担赔偿责任\n2. 违反保密义务、竞业限制的，按本合同第七条执行\n\n---\n\n## 第十一条 争议解决\n\n因本合同发生争议，双方应协商解决；协商不成的，向甲方所在地的劳动争议仲裁委员会申请仲裁；对仲裁裁决不服的，可向人民法院提起诉讼。\n\n---\n\n## 第十二条 其他\n\n1. 本合同未尽事宜，按国家相关法律法规及甲方规章制度执行\n2. 本合同一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（张三）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 本人签字：__________ |\n| 公司公章 | |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.2:templates/合作协议.md\n\n# 战略合作协议\n\n**协议编号：** HHY-HZ-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方：** xx 教育科技有限公司\n**法定代表人：** 王五\n**地址：** xxx\n**联系电话：** xxx\n\n甲乙双方本着\"优势互补、合作共赢、长期发展\"原则，就 **教育行业 AI 智能体联合开发与市场推广** 事宜，依据《中华人民共和国民法典》及相关法律法规，经平等友好协商，签订本战略合作协议。\n\n> **声明：** 本协议为有法律约束力的合作合同，区别于《合作意向书 / MOU》。\n\n---\n\n## 第一条 合作背景\n\n甲方专注于\"全场景人工智能机器人\"赛道，拥有辉火云企业套件 + Anthropic 模型路由 + 多场景 Agent 框架技术积累。乙方深耕教育培训行业 10 年，拥有完整的课程体系、师资资源与 50 万+ 学员用户。\n\n双方一致认可：通过合作可以实现\"AI + 教育\"在中国市场的快速落地，对双方均有重大战略价值。\n\n---\n\n## 第二条 合作内容\n\n### 一、产品合作\n\n1. 双方联合开发 **辉火云教育版**（基于辉火云企业版定制），覆盖：\n   - 智能助教 Agent\n   - 自动出题 / 批改 Agent\n   - 学情分析 Agent\n   - 家校沟通 Agent\n2. 知识产权：技术框架与底层 Agent 归甲方所有；教育行业的业务流程、内容、数据归乙方所有\n\n### 二、市场合作\n\n1. 乙方将辉火云教育版作为其 ToB 客户的标准 SaaS 推荐\n2. 甲方在教育行业的市场推广中，优先与乙方合作\n3. 双方联合参加教育行业展会与论坛，共同发布白皮书与案例\n\n### 三、技术合作\n\n1. 甲方为乙方提供专属技术支持团队（3 人）\n2. 乙方向甲方反馈一线教育场景需求，作为 AI 框架演进输入\n\n---\n\n## 第三条 合作模式与投入\n\n### 甲方投入\n\n1. **技术投入：** 投入 5 名工程师（PM 1 + 后端 2 + 前端 1 + AI 1）全职 6 个月\n2. **资金投入：** 100 万元用于云资源、Anthropic API 调用费、第三方组件采购\n3. **基础平台：** 免费授权乙方使用辉火云企业版（永久授权 + 教育版定制版本）\n\n### 乙方投入\n\n1. **业务投入：** 投入 3 名教育产品经理 + 5 名教研老师全职 6 个月\n2. **资金投入：** 200 万元用于市场推广、客户转化、运营人力\n3. **客户资源：** 投入 50 万+ 学员用户与 200 家合作机构，作为冷启动池\n\n---\n\n## 第四条 合作期限\n\n1. **协议有效期：** 自签订之日起 **3 年**\n2. **续约：** 期满前 90 日，双方可协商续约；如无书面续约，本协议自动终止\n3. **早期终止：** 任意一方提前 90 日书面通知，可单方面终止合作；终止后双方须妥善处理已合作客户的服务延续\n\n---\n\n## 第五条 收益分配\n\n1. **辉火云教育版** 销售收入按以下比例分配：\n   - 甲方 **60%**（含技术服务 + 平台维护成本）\n   - 乙方 **40%**（含市场推广 + 客户运营成本）\n2. 季度结算，每季度结束后 15 个工作日内结清\n\n---\n\n## 第六条 知识产权\n\n1. **本合作前各方原有知识产权：** 归原所有方所有，互不影响\n2. **合作期间共同开发成果：** 双方共有；任一方使用须事先取得对方书面同意\n3. **乙方业务数据：** 乙方拥有所有权，甲方可在脱敏后用于产品演进\n4. **甲方技术框架：** 甲方拥有所有权，乙方仅享有合作期间的使用权\n\n---\n\n## 第七条 排他性\n\n1. **市场排他：** 协议期内，乙方不得与其他 AI 厂商合作开发同类教育 AI 产品\n2. **技术排他：** 协议期内，甲方不得向其他教育公司提供本协议同等水平的技术合作\n3. **客户排他：** 双方共同开发的客户，须以本协议产品为唯一合作工具\n\n---\n\n## 第八条 保密义务\n\n双方对合作过程中获取的对方商业秘密、技术信息、客户信息承担保密义务，期限自协议签订之日起至协议终止后 **3 年**。具体保密义务参照另行签订的《保密协议》。\n\n---\n\n## 第九条 违约责任\n\n1. 任何一方违反本协议核心义务（投入 / 排他 / 保密）的，应承担违约金 **人民币 200 万元**，并赔偿对方实际损失\n2. 违约方应立即停止违约行为；继续违约的，守约方有权单方面解约\n\n---\n\n## 第十条 不可抗力\n\n因不可抗力导致协议无法履行的，受影响方应及时通知对方并提供证明，双方协商解除或变更协议，互不承担违约责任。\n\n---\n\n## 第十一条 争议解决\n\n双方因协议产生争议，应友好协商；协商不成的，提交 **甲方所在地有管辖权的人民法院** 诉讼解决。\n\n---\n\n## 第十二条 其他\n\n1. 本协议为双方就合作事项达成的完整协议；双方此前的口头或书面协议（如《合作意向书》）在本协议生效后均失效\n2. 本协议未尽事宜，双方另行签订补充协议\n3. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（xx 教育科技有限公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.2:templates/在职证明.md\n\n# 在职证明\n\n兹证明 **张三** 同志（身份证号：370281xxxxxxxx0001）自 **2024 年 3 月 15 日**起至今在我公司任职，目前担任 **后端工程师** 一职，月平均收入（税前）人民币 **35,000.00** 元（叁万伍仟元整）。\n\n该员工现为公司在职人员，劳动合同正常履行中。\n\n特此证明。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n人力资源部\n\n二〇二六年四月二十七日\n\n（公司公章）\n\n---\n\n> **声明**：本证明仅作为该员工在职情况之证明，不作为任何金融担保用途。\n> **联系电话**：0532-87821789  **邮箱**：hr@huo15.com\n\nFile v7.9.2:templates/备忘录.md\n\n# 战略合作备忘录\n\n**甲方：** 青岛火一五信息科技有限公司（\"火一五\"）\n**乙方：** 与境出行（\"与境\"）\n**签订日期：** 2026年4月27日\n**有效期：** 自签订日起 12 个月\n\n---\n\n## 一、合作背景\n\n火一五是一家专注\"全场景人工智能机器人\"的技术公司，已为 50+ 企业客户落地辉火云企业套件。与境是出境旅游服务平台运营方，正在从单点工具升级为全链路 SaaS 服务平台。\n\n双方在 2026 年 Q1 完成与境一期 MVP 项目的开发与上线，合作顺畅，结果超预期。基于此次成功合作，双方决定进一步深化合作，签订本战略合作备忘录。\n\n---\n\n## 二、合作内容\n\n### 一、产品合作\n\n1. **二期 APP 开发**：火一五承接与境出行的 iOS / Android 原生 APP 开发，预计 2026 年 6 月启动立项\n2. **AI 客服**：火一五基于 Claude Sonnet 4.6 为与境定制 AI 客服，覆盖出境签证、航班、保险三类咨询\n3. **数据分析**：双方联合搭建客户行为分析看板，与境提供数据，火一五提供平台\n\n### 二、市场合作\n\n1. 火一五在媒体宣传中可引用本案例（需经与境审阅同意）\n2. 与境在出境游行业活动中可优先推荐火一五作为技术合作伙伴\n3. 双方共同参加 2026 年青岛\"出境游 + AI\"行业论坛\n\n### 三、技术合作\n\n1. 火一五优先为与境提供新功能 Beta 试用机会\n2. 与境向火一五反馈一线业务场景，作为产品演进的输入\n\n---\n\n## 三、双方责任\n\n### 火一五\n\n- 在不冲突现有客户的前提下，向与境提供\"准战略客户\"待遇\n- 二期 APP 报价较常规标准下浮 10%\n- 关键 Bug（P0/P1）在 2 小时内响应\n\n### 与境\n\n- 在出境游行业内推荐火一五时不收取额外推广费\n- 至少每季度提供一次详细业务反馈\n- 案例宣传时配合火一五公关动作\n\n---\n\n## 四、保密\n\n双方在合作过程中获取的对方商业秘密、技术信息、客户信息均承担保密义务，期限自本备忘录签订之日起至终止后 3 年内有效。\n\n---\n\n## 五、有效期与终止\n\n1. 本备忘录有效期 12 个月，到期后双方协商续签\n2. 任意一方提前 30 天书面通知，可单方面终止本备忘录\n3. 本备忘录不构成任何法律意义上的合资 / 合营关系，具体业务合作以单独签订的合同为准\n\n---\n\n## 六、其他\n\n本备忘录一式两份，甲乙双方各执一份，自双方签字盖章之日起生效。\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（与境出行）|\n|:--:|:--:|\n| 法人代表（签字）：__________ | 法人代表（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nArchive v7.9.1: 32 files, 116075 bytes\n\nFiles: _meta.json (144b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (44116b), scripts/create-word-doc.py (53437b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), skill-card.md (2651b), SKILL.md (22861b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nFile v7.9.1:SKILL.md\n\n---\nname: huo15-openclaw-office-doc\ndisplayName: 火一五文档技能\ndescription: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。\nversion: 7.9.1\naliases:\n  - 火一五文档技能\n  - 文档生成\n  - Word生成\n  - PDF生成\n  - 多规范文档\ndependencies:\n  python-packages:\n    - python-docx\n    - reportlab\n    - pygments  # 可选；装了即代码块语法高亮\n---\n\n# 火一五文档技能 v7.9.1\n\n> 企业级 Word & 原生 PDF 文档生成 — 青岛火一五信息科技有限公司\n\n**愿景：** 加速企业向全场景人工智能机器人转变\n**理念：** 打破信息孤岛，用一套系统驱动企业增长\n\n---\n\n## 〇、v7.9.1（正文默认仿宋）\n\n**变更**：除合同 7 类外，所有文体（需求文档 / 技术方案 / 研究报告 / 手册 / 方案 / 公文等）正文字体默认由**宋体改为仿宋**；标题保持黑体 / 方正小标宋。契合中文公文与方案文档规范（正文仿宋 GB），观感更正式统一。\n\n- 合同类（劳动 / 服务 / 技术开发 / 销售 / 采购 / NDA / 合作）**保持宋体**（商业惯例）\n- 调用 `create-word-doc.py` 生成的非合同文档，正文自动为仿宋，**无需再后处理改字体**\n- macOS 用 STFangsong 渲染，Windows / WPS 用系统「仿宋」\n\n---\n\n## 一、v7.8.5 hotfix（**ELEPHANT-IN-THE-ROOM** — LOGO 宽度错算导致页眉跑出页面）\n\n**用户反馈\"v7.8.1/v7.8.2/v7.8.3 还是没有页眉、字体不对\"** — pdftoppm 栅格化亲眼验证 + PyMuPDF 解 PDF stream 找到真凶：\n\n```python\n# v7.7~v7.8.4 错误代码\nimg = Image(logo_path, height=target_h)        # platypus Flowable\niw, ih = img.wrap(page_w, page_h)               # iw 返回原图像素宽（如 2048）\ntarget_w = iw * (target_h / ih) if ih else target_h\n# ↑ iw=2048, ih=25.5 → target_w = 2048 * (25.5/25.5) = 2048pt\n```\n\n`drawImage(width=2048, height=25.5, preserveAspectRatio=True)` 在 2048pt 宽容器里**居中** 25.5pt 实际 LOGO，居中偏移 `(2048-25.5)/2 = 1011pt`。LOGO 实际 x = `79 + 1011 = 1090pt`，**远超 page 595pt 宽** — LOGO 跑到页外！页眉文字 `text_x = x_start + logo_w = 79 + 2053 = 2133pt` 也跑到页外。\n\n**所以\"页眉只有一条灰线\"** — line 用绝对坐标没问题，drawImage/drawString 用 transform matrix 全跑页外。\n\n**修复**：用 `reportlab.lib.utils.ImageReader.getSize()` 直接读 LOGO 像素尺寸等比缩放，不依赖 platypus `Image.wrap()`。\n\n```python\nfrom reportlab.lib.utils import ImageReader\nir = ImageReader(logo_path)\niw, ih = ir.getSize()                # 像素尺寸，2048×2048\ntarget_w = target_h * iw / ih        # 25.5 * 2048/2048 = 25.5pt 正确\n```\n\n**v7.8.0~v7.8.4 都修错了方向**（字体 subface / fontconfig fallback / two-pass canvas resource / onPage 时机）。这次用 PyMuPDF 解 PDF stream 看到 `25.5 0 0 25.5 1090.614 803.622 cm` 才直接定位到 LOGO transform 错位。**亲眼看 + 拆 PDF stream 是诊断这类视觉 bug 的唯一可靠路径。**\n\n附带：chrome 从 two-pass canvas 子类移到 `PageTemplate.onPage` 回调（`make_chrome_callback`），架构更干净。\n\n---\n\n## 〇、v7.8.0~v7.8.4 中间版本（合并摘要 — 都没修到真因）\n\n| 版本 | 改动方向 | 实际效果 |\n|---|---|---|\n| v7.8.0 | LibreOffice filter 7 项保真 + 平台感知 backend | 字体/排版 marginal 改善，元凶未触 |\n| v7.8.1 | macOS Songti.ttc subface 0→6 / STHeiti 0→1（修繁体特黑） | 嵌入字体名变对，但页眉仍隐身 |\n| v7.8.2 | LibreOffice 路径 docx 字体名平台映射（\"宋体\"→\"宋体-简\"） | LibreOffice 路径有效，PDF 直出仍隐身 |\n| v7.8.3 | 文案：LibreOffice 标为推荐默认 | 文档级，无代码影响 |\n| v7.8.4 | (内部调试，setFillColor / 字体注册 trick) | 都没救页眉 |\n\n→ 都是错方向。**真因在 v7.8.5 才被定位**：LOGO `Image.wrap()` 返回 iw 没等比缩放 → target_w 错算 2048pt → drawImage 居中偏移 1011pt → LOGO+chrome 文字跑出页面右边。\n\n---\n\n## 〇、v7.7 修复（PDF 直出与 Word 视觉对齐 — 摘要）\n\n修了 3 处对齐：页眉用 `stringWidth()` 居中（修正中文公司名偏右）/ leading × 1.2 系数（21.6pt 对齐 Word 1.5 倍行距）/ firstLineIndent = size × 2（24pt 对齐 Word `firstLineChars=200`）。详细数学验证见 git log `v7.7.0` 提交。\n\n---\n\n## 一、v7.5 关键变化（合同细分 7 类 + 配套范本）\n\n> 用户反馈：\"合同帮我再细分\"。\n\n通用\"合同\"在 ToB 场景下太粗 — 一份合同应不应该带 试用期 / 知识产权 / 退换货 /\n保密期限 / 收益分配 等条款，取决于具体合同子类。v7.5 把合同细分为 7 类：\n\n| 子类 | 触发关键词 | 适用场景 | 范本 |\n|------|-----------|---------|------|\n| **劳动合同** | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | HR 招聘入职 | [templates/劳动合同.md](templates/劳动合同.md) |\n| **服务合同** | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS / 运维 | 长期服务 | [templates/服务合同.md](templates/服务合同.md) |\n| **技术开发合同** | 软件开发 / 委托开发 / 定制开发 / 开发合同 | 一次性开发 | [templates/技术开发合同.md](templates/技术开发合同.md) |\n| **销售合同** | 销售合同 / 货物销售 / 软件许可 / 经销 | 售方角度 | [templates/销售合同.md](templates/销售合同.md) |\n| **采购合同** | 采购合同 / 物资采购 / 设备采购 / 框架采购协议 | 购方角度 | [templates/采购合同.md](templates/采购合同.md) |\n| **保密协议** | 保密协议 / NDA / 信息保密 / 双向保密 | 保密信息保护 | [templates/保密协议.md](templates/保密协议.md) |\n| **合作协议** | 战略合作协议 / 联营协议 / 联合开发协议 | 有约束力合作 | [templates/合作协议.md](templates/合作协议.md) |\n\n通用\"合同\"作为兜底保留 — 输入命中\"合同\"但没匹配到具体子类时使用。\n\n视觉上 7 个合同子类共享通用合同的版式（宋体 / 标准页边距 / 无文档壳 / 第一条 ~\n第N条结构）；差异在 **正文结构** 与 **范本内容**。FORMAT_KEYWORDS 顺序保证子类\n关键词在通用\"合同\"之前命中。\n\n---\n\n> 历史变更详见文末 §十 版本历史。\n\n---\n\n## 二、39 类文档规范（v7.5）\n\n> 列含义：banner = 顶部右上 【内部】 红字；meta = 文档编号/版本/密级/日期 2 列表；\n> 版本史 = 末尾\"版本历史\"表；审批 = 末尾\"审批记录\"表；TOC = 自动目录。\n> 命中顺序由上至下；`auto` 命中后立即返回；`--doc-format <规范>` 强制覆盖。\n\n| 规范 | 触发关键词 | banner | meta | 版本史 | 审批 | TOC |\n|------|-----------|:------:|:----:|:------:|:----:|:---:|\n| **个人简历** ⭐v7.4 | 简历 / resume / CV | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **报价单** ⭐v7.4 | 报价单 / 商务报价 / 报价书 / 询价回复 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **新闻稿** ⭐v7.4 | 新闻稿 / 媒体通稿 / 发布稿 / press release | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **复盘报告** ⭐v7.4 | 复盘 / 项目复盘 / 项目总结 / 月度复盘 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **测试报告** ⭐v7.4 | 测试报告 / QA报告 / 验证报告 / 性能测试 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **故障报告** ⭐v7.4 | 故障报告 / 事故报告 / 故障复盘 / postmortem | ✅ | ✅ | ❌ | ❌ | ❌ |\n| **任命书** ⭐v7.4 | 任命书 / 聘任书 / 委任书 / 任命决定 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **应急预案** ⭐v7.4 | 应急预案 / 应急响应预案 / 应急处置方案 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **在职证明** ⭐v7.4 | 在职证明 / 离职证明 / 工作证明 / 收入证明 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **风险评估报告** ⭐v7.4 | 风险评估 / 风险报告 / 安全评估 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目计划书** ⭐v7.4 | 项目计划书 / 项目执行计划 / 项目章程 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目结项报告** ⭐v7.4 | 结项报告 / 项目收尾报告 / 项目交付总结 | ❌ | ✅ | ✅ | ✅ | ✅ |\n| **API文档** ⭐v7.4 | API文档 / 接口文档 / 接口规范 / openapi | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **部署文档** ⭐v7.4 | 部署文档 / 部署手册 / 上线手册 / runbook | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **备忘录** ⭐v7.4 | 备忘录 / MOU / 合作意向书 / 战略合作备忘录 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 验收单 ⭐v7.3 | 验收单 / 验收报告 / 交付确认书 / 项目验收 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 项目立项书 ⭐v7.3 | 立项申请 / 立项书 / 项目建议书 / 可行性研究报告 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 操作SOP ⭐v7.3 | SOP / 标准作业指导书 / 工艺文件 / 操作规程 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| 公司制度 ⭐v7.3 | 规章制度 / 管理办法 / 实施细则 / 管理细则 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 信函 ⭐v7.3 | 公函 / 商务函件 / 求职信 / 推荐信 / 邀请函 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 招投标书 | 招标书 / 投标书 / 投标文件 / 响应文件 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 商业计划书 | 商业计划书 / BP / 融资计划书 / 路演稿 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 用户手册 | 用户手册 / 操作手册 / 使用说明 / Manual | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 培训手册 | 培训手册 / 培训教材 / 教学大纲 / 员工手册 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 演讲稿 | 演讲稿 / 致辞稿 / 讲话稿 / 主题分享 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 研究报告 | 研究报告 / 学术论文 / 调研报告 / 白皮书 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **劳动合同** ⭐v7.5 | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **服务合同** ⭐v7.5 | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS 合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **技术开发合同** ⭐v7.5 | 软件开发合同 / 委托开发合同 / 定制开发 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **销售合同** ⭐v7.5 | 销售合同 / 货物销售 / 软件许可合同 / 经销 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **采购合同** ⭐v7.5 | 采购合同 / 物资采购 / 设备采购 / 框架采购 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **保密协议** ⭐v7.5 | 保密协议 / NDA / 信息保密 / 双向保密 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **合作协议** ⭐v7.5 | 战略合作协议 / 联营协议 / 联合开发协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 合同（通用兜底）| 合同 / 协议 / 协议书 / 补充协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 会议纪要 | 会议纪要 / 纪要 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 技术方案 | 技术方案 / 实施方案 / 解决方案 / 设计文档 / 架构设计 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 需求文档 | 需求规格 / SRS / PRD / 需求说明 / 需求文档 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 工作报告 | 工作报告 / 周报 / 月报 / 季报 / 年报 / 述职报告 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 公文（默认）| 未命中其他关键词 | ✅ | ✅ | ✅ | ✅ | ❌ |\n\n> 一行命令看全 17 种：`python3 scripts/create-word-doc.py --list-formats`。\n> CLI 精细控制：`--with-version-history / --no-version-history /\n> --with-approval / --no-approval /\n> --with-classification-banner / --no-classification-banner /\n> --with-doc-meta-table / --no-doc-meta-table /\n> --with-title-block / --no-title-block`。\n\n### 标题层级识别（每种规范独立）\n\n每种规范都有自己的章节编号正则；同时支持标准 Markdown `# / ## / ### / ####`。例如：\n\n| 规范 | 一级（chapter） | 二级（section） | 三级（article） |\n|------|---------------|---------------|----------------|\n| 公文 | 第X章/第X节 | 一、二、三、 | （一）（二） |\n| 合同 | 第X章/第X条 | 一、二、 | — |\n| 商业计划书 | 第X部分/一、二、 | 1.1 | 1.1.1 |\n| 用户手册 | 第X章 | X. | X.X |\n| 培训手册 | 模块X/单元X/第X课 | 一、二、 | X.X |\n| 招投标书 | 第X章/篇/部分 | 一、二、 | （一）（二） |\n| 研究报告 | 摘要/Abstract/引言/结论/参考文献/一、 | X. | X.X |\n\n---\n\n## 三、页眉 / 页脚规范\n\n### 3.1 页眉\n\n- **company**（默认）：LOGO + 公司名 + 文档编号 + 密级，**左对齐**\n- **minimal**（合同 / 用户手册 / 演讲稿）：LOGO + 公司名，**左对齐**，不显示编号 / 密级\n- **centered**（保留备选，当前无规范默认走此项）：仅公司名，居中\n- 底部统一灰线 `#888888`\n\n> v7.0 直接写 OOXML `<w:jc>` 并清 `<w:tabs>`，避免 WPS / 部分 Word 模板的样式继承覆盖。\n\n### 3.2 页脚\n\n- 所有规范统一为 `第 X 页 / 共 Y 页`，居中\n- Word：`PAGE` / `NUMPAGES` 字段码（打开时自动计算）\n- PDF：两遍渲染（NumberedCanvas）拿到真总页数\n\n---\n\n## 四、本地公司信息工作流\n\n页眉的公司名、LOGO 按以下优先级解析：\n\n1. **CLI 显式参数** `--company-name` / `--logo-path`\n2. **本地缓存** `~/.huo15/company-info.json`\n3. **Odoo `res.company`** 自动拉取（可用 `--no-odoo` 关闭）\n4. **退出码 2 + 结构化 JSON** — 以上都拿不到时让 Claude 触发补录流程\n\n### 4.1 标准流程（生成前）\n\n```bash\npython3 scripts/company-info.py check\n#   exit 0 + 完整 JSON  → 直接生成\n#   exit 2 + missing[]  → 进入补录\n```\n\n**补录流程**（Claude 执行）：\n\n1. 先查 auto-memory 中的 `huo15_company_info.md` / `user_identity.md`\n2. 仍缺失时用 `AskUserQuestion` 询问：公司全称、LOGO 路径、可选 slogan / 地址 / 电话 / 邮箱 / 官网\n3. 写入：\n   ```bash\n   python3 scripts/company-info.py set \\\n     --company-name \"<公司全称>\" --logo-path \"<LOGO绝对路径>\"\n   ```\n4. 同步写入 memory（`huo15_company_info.md`）\n\n---\n\n## 五、命令行\n\n```bash\n# Word 直出\npython3 scripts/create-word-doc.py --output 方案.docx \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-number \"HG-FA-2026-001\" --version \"V1.0\" --classification \"内部\" \\\n  --author \"辉火云管家·贾维斯\"\n\n# 一览 39 种 preset：\npython3 scripts/create-word-doc.py --list-formats\n\n# 原生 PDF 直出（不依赖 LibreOffice / Office）：\npython3 scripts/create-pdf-doc.py --output 方案.pdf \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-format 技术方案\n\n# Word → PDF（保留版式）：\npython3 scripts/word-to-pdf.py 方案.docx -o 方案.pdf\n```\n\n**关键 CLI 参数：**\n\n- `--doc-format <规范>` — 39 类规范任选；省略走 `auto` 自动识别\n- `--company-name / --logo-path` — 覆盖本地公司信息\n- `--with-version-history / --no-version-history` — 版本历史表\n- `--with-approval / --no-approval` — 审批记录表\n- `--with-classification-banner / --no-classification-banner` — 顶部 【内部】红字\n- `--with-doc-meta-table / --no-doc-meta-table` — 顶部元数据 2 列表\n- `--with-title-block / --no-title-block` — 标题大字块\n\n**何时用哪条路径**：只要 Word → 用 `create-word-doc.py`；只要 PDF →\n`create-pdf-doc.py`（最快）；要 Word + PDF 版式一致 → 先 word，再\n`word-to-pdf.py`。后端优先级 `libreoffice → docx2pdf → word_com` 自动回落。\n\n字体：macOS 自带 Songti.ttc / STHeiti.ttc；Linux 推荐 Noto CJK；\nWindows 可用 SimSun / SimHei。\n\n---\n\n## 六、Markdown 能力速查\n\n| 元素 | 写法 | 说明 |\n|------|------|------|\n| 标题 | `#`~`######` | 也支持规范专属编号（一、 / 1. / 1.1 / 第X章） |\n| 段落软换行 | 直接换行 | CJK ↔ CJK 不插入空格；ASCII 仍保留空格 |\n| 段落硬换行 | 行尾 `  ` 或 `\\` | 同段内强制换行 |\n| 列表 | `- item` / `* item` / `1. item` | |\n| 强调 | `**粗**` / `*斜*` / `` `inline code` `` | |\n| 表格 | 标准 GFM | 缺前导 `|` / 转义 `\\|` / 2 列起即可识别 |\n| 代码块 | `` ``` ``...`` ``` `` | 等宽灰底；带语言标签 |\n| 引用块 | `> ...` | 左侧橘色竖条 + 灰色段 |\n| 分隔线 | `---` / `***` / `___` | |\n| 元数据行 | `文档编号：XX | 版本：V1.0 | 密级：内部 | 日期：2026-04-27` | 自动两列表格 |\n| 分页符 | `---PAGE---` / `\\pagebreak` / `<!-- pagebreak -->` | 强制下一页 |\n| 空内容 | — | 写\"（无正文内容）\"灰字占位 |\n\n---\n\n## 七、Python API\n\n```python\n# Word\nfrom create_word_doc import create_word_doc\ncreate_word_doc(\n    output_path=\"文档.docx\",\n    title=\"技术方案：XXX系统\",\n    content=md_text,\n    doc_number=\"HG-FA-2026-001\",\n    version=\"V1.0\",\n    classification=\"内部\",\n    author=\"辉火云管家·贾维斯\",\n    doc_format=\"auto\",            # 12 类规范名 / 'auto'\n)\n\n# PDF\nfrom create_pdf_doc import create_pdf_doc\ncreate_pdf_doc(output_path=\"文档.pdf\", title=\"...\", content=md_text,\n               doc_format=\"商业计划书\")\n\n# Word → PDF\nfrom word_to_pdf import convert_to_pdf\nok, path = convert_to_pdf(\"方案.docx\", \"方案.pdf\",\n                          backend=\"auto\", keep_fonts=True)\n```\n\n> 缺公司信息时三个入口都抛 `RuntimeError`，message 是结构化 JSON，Claude 据此触发补录。\n\n---\n\n## 八、触发词\n\n通用：写 word / 写 PDF / 写文档 / 生成 word / 生成 PDF / 创建文档 / 导出文档 / Word 转 PDF。\n\n39 类规范触发词由 §二 表格中\"触发关键词\"列定义。常用：写合同 / 写协议 /\n写劳动合同 / 写服务合同 / 写技术开发合同 / 写销售合同 / 写采购合同 / 写 NDA /\n写保密协议 / 写战略合作协议 / 写方案 / 写报告 / 写会议纪要 / 写需求文档 /\n写 PRD / 写商业计划书 / 写 BP / 写用户手册 / 写培训手册 / 写招标书 / 写投标书 /\n写演讲稿 / 写研究报告 / 写白皮书 / 写验收单 / 写立项书 / 写 SOP / 写公司制度 /\n写公函 / 写邀请函 / 写简历 / 写 CV / 写报价单 / 写新闻稿 / 写复盘 / 写测试报告 /\n写故障报告 / 写 postmortem / 写任命书 / 写应急预案 / 写在职证明 / 写风险评估 /\n写项目计划书 / 写项目结项报告 / 写 API 文档 / 写部署文档 / 写 runbook / 写备忘录 /\n写 MOU。\n\n---\n\n## 九、目录结构\n\n```\nscripts/\n├── doc_core.py          # 共享核心：32 类预设 + Block AST 解析 + 内联 token\n│                        # v7.4：再扩 15 类预设 + 关键词优先级调整\n│                        # v7.3：FormatPreset 增 4 个文档壳开关\n├── company-info.py      # 本地公司信息读写 + Odoo 回落\n├── create-word-doc.py   # Word 渲染（python-docx + 强制 OOXML jc）\n│                        # v7.3：_strip_markdown_emphasis + _maybe_dedupe_h1_title\n├── create-pdf-doc.py    # 原生 PDF 渲染（reportlab + NumberedCanvas）\n│                        # v7.3：与 Word 端文档壳逻辑保持一致\n└── word-to-pdf.py       # Word → PDF 多后端转换\n\ntemplates/               # v7.4：15 份可直接拷贝改写的 markdown 范本\n├── 个人简历.md\n├── 报价单.md\n├── 新闻稿.md\n├── 复盘报告.md\n├── 测试报告.md\n├── 故障报告.md\n├── 任命书.md\n├── 应急预案.md\n├── 在职证明.md\n├── 风险评估报告.md\n├── 项目计划书.md\n├── 项目结项报告.md\n├── API文档.md\n├── 部署文档.md\n├── 备忘录.md\n└── README.md\n```\n\n---\n\n## 十一、未来路线（已调研、未实施）\n\n| 功能 | 业界参考 | 优先级 | 复杂度 | 拟引入依赖 |\n|------|---------|--------|-------|----------|\n| LaTeX → OMML 公式管线 | markdocx / Pandoc | 中 | 中 | latex2mathml + XSLT |\n| reference docx 模板继承 | Pandoc / Quarto | 中 | 中 | 仅模板文件 |\n| Typst 第四条 PDF 路径（30× 速度） | typst.app + zh-kit | 中 | 中 | typst 二进制 |\n| pandoc-crossref 风格交叉引用 `{#fig:xxx}` | pandoc-crossref | 中 | 中 | — |\n| 水印 + AES 加密 | msoffcrypto-tool | 低 | 小 | msoffcrypto-tool |\n| 修订追踪 / 批注 | docx-revisions | 低 | 大 | docx-revisions |\n| docxtpl Jinja2 模板槽 | docxtpl | 低 | 小 | docxtpl |\n\n> 任何一项触发刚需时再上；当前以稳定 + 中文友好 + 易维护为先。\n\n---\n\n## 十、版本历史\n\n详细版本历史见 git log。当前主要里程碑：\n- **v7.8.6**（最新）：**Word emoji 乱码修复** — markdown 内含 emoji(🎂🚗💰🦞✅⭐🇨🇳 等)生成 docx 后,在 WPS / LibreOffice / Linux Word 渲染时显示 ▢▢ 占位方块。根因:`_set_font` 把 ascii/hAnsi/eastAsia 三个 slot 都设为中文字体(PingFang/宋体/黑体),中文字体不含 emoji glyph 就 fallback 到方块。修复:(1)`_set_font` 加 `w:cs` slot 指向 `Segoe UI Emoji` 兜底;(2)新增 `_add_run` emoji-aware 包装,内部按 `_EMOJI_RE` 正则把 emoji 字符切到独立 run + 用 emoji 字体;(3)`render_inline` 改用 `_add_run` 覆盖所有 markdown 内联文本(bold/italic/code/text)。Mac/Linux 系统会自动 fallback 到 Apple Color Emoji / Noto Color Emoji。\n- **v7.8.x**：PDF 渲染保真度 — 字体 subface 修正 / leading 系数 / firstLineIndent 字符化 / LibreOffice filter 加固 / 平台感知后端优先级（详见上方〇章节）\n- **v7.5–v7.6**：39 类规范 + 合同细分 7 类 + KV 元数据归并 / TOC 占位回填 / PDF outline 修复\n- **v7.0–v7.4**：原生 PDF 直出（create-pdf-doc.py）+ 27→39 类扩张 + Pygments 代码高亮 + CJK 段落 OOXML 直写\n- **v6.x**：Block AST 重写 / 页眉恒含 LOGO / 页脚字段码\n- **v5.x**：多规范自动识别骨架 + company-info.py\n\n---\n\n**技术支持：** 青岛火一五信息科技有限公司\n\nFile v7.9.1:templates/README.md\n\n# 文档范本（v7.4 起 15 类 + v7.5 起 7 类合同细分 = 22 份）\n\n每个 markdown 范本是一份\"看了就能改\"的真实样例。\n直接拷走、把里面的占位字段（公司名 / 客户名 / 编号 / 日期 / 金额）替换成自己的，\n再用对应 preset 渲染即可。\n\n## v7.5 合同细分（7 份）⭐\n\n| 范本文件 | 对应规范 | 适用场景 |\n|---------|---------|---------|\n| [劳动合同.md](劳动合同.md) | `劳动合同` | HR 招聘、入职 |\n| [服务合同.md](服务合同.md) | `服务合同` | SaaS / 咨询 / 维保 / 实施 |\n| [技术开发合同.md](技术开发合同.md) | `技术开发合同` | 软件 / 硬件一次性开发 |\n| [销售合同.md](销售合同.md) | `销售合同` | 软件许可销售 / 货物销售 |\n| [采购合同.md](采购合同.md) | `采购合同` | 设备 / 物资 / 服务采购 |\n| [保密协议.md](保密协议.md) | `保密协议` | NDA，单向 / 双向 |\n| [合作协议.md](合作协议.md) | `合作协议` | 战略合作（有约束力，区别于 MOU）|\n\n## v7.4 通用范本（15 份）\n\n| 范本文件 | 对应规范 | 推荐用法 |\n|---------|---------|---------|\n| [个人简历.md](个人简历.md) | `个人简历` | 紧凑单页，无文档壳 |\n| [报价单.md](报价单.md) | `报价单` | 表格驱动，明显合计 |\n| [新闻稿.md](新闻稿.md) | `新闻稿` | dateline + 主体 + 媒体联系人 |\n| [复盘报告.md](复盘报告.md) | `复盘报告` | 项目复盘标准结构 |\n| [测试报告.md](测试报告.md) | `测试报告` | 含完整文档壳 + 缺陷统计 |\n| [故障报告.md](故障报告.md) | `故障报告` | 时间线 + 根因 + 改进项 |\n| [任命书.md](任命书.md) | `任命书` | letterhead 单页 |\n| [应急预案.md](应急预案.md) | `应急预案` | 完整文档壳 + 分级流程 |\n| [在职证明.md](在职证明.md) | `在职证明` | letterhead 单页 |\n| [风险评估报告.md](风险评估报告.md) | `风险评估报告` | 风险矩阵 + 应对措施 |\n| [项目计划书.md](项目计划书.md) | `项目计划书` | 完整文档壳 + 里程碑 |\n| [项目结项报告.md](项目结项报告.md) | `项目结项报告` | 收尾 + 客户评价 + 后续支持 |\n| [API文档.md](API文档.md) | `API文档` | OpenAPI 风格 |\n| [部署文档.md](部署文档.md) | `部署文档` | 步骤式 + 故障排查 + 回滚 |\n| [备忘录.md](备忘录.md) | `备忘录` | MOU 形式，双方签章（无约束力意向）|\n\n## 怎么用\n\n```bash\n# 拷一份范本\ncp ~/.openclaw/skills/huo15-openclaw-office-doc/templates/报价单.md \\\n   /tmp/我的报价单.md\n\n# 编辑成自己的内容\nvim /tmp/我的报价单.md\n\n# 渲染（auto 会按标题命中 报价单 preset）\npython3 ~/.openclaw/skills/huo15-openclaw-office-doc/scripts/create-word-doc.py \\\n  --output 我的报价单.docx \\\n  --title \"软件开发服务报价单\" \\\n  --content @/tmp/我的报价单.md\n```\n\n也可以让 LLM 直接基于范本生成，先把范本贴给它做参考，再让它按你的具体需求改写。\n\n## 既有 17 类（v7.3 及之前）尚无独立范本\n\n公文 / 合同（通用）/ 会议纪要 / 技术方案 / 需求文档 / 工作报告 / 商业计划书 /\n用户手册 / 培训手册 / 招投标书 / 演讲稿 / 研究报告 / 验收单 / 项目立项书 /\n操作SOP / 公司制度 / 信函 — 这些规范在 v7.0 ~ v7.3 已经迭代过；如有需要，\n后续可以按本目录格式继续扩。\n\n> **注意：** 通用\"合同\"作为兜底（输入命中\"合同\"但没匹配上具体子类时使用），\n> 可参考任一合同子类范本（结构高度相似，只改第一条/第二条的具体内容即可）。\n\nFile v7.9.1:_meta.json\n\n{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-openclaw-office-doc\",\n  \"version\": \"7.9.1\",\n  \"publishedAt\": 1780816248117\n}\n\nFile v7.9.1:skill-card.md\n\n## Description: <br>\nHuo15 Openclaw Office Doc helps agents generate Chinese enterprise documents as Word or PDF files across contracts, reports, plans, technical documents, and related business formats. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[zhaobod1](https://clawhub.ai/user/zhaobod1) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees and business or technical teams use this skill to draft, format, and convert enterprise documents such as contracts, project reports, API documentation, deployment guides, resumes, press releases, and risk assessments. It supports Word generation, native PDF generation, Word-to-PDF conversion, and reusable Markdown templates. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Document generation may attempt Odoo access using existing OpenClaw credentials when company information is missing. <br>\nMitigation: Run document commands with explicit --company-name and --logo-path values or use --no-odoo when external Odoo access is not intended. <br>\nRisk: The skill can persist local company information and related memory files. <br>\nMitigation: Review ~/.huo15/company-info.json and generated memory files before and after use, especially on shared machines. <br>\nRisk: generate-config.sh can write OpenClaw workspace, persona, and memory files outside ordinary document generation. <br>\nMitigation: Avoid running generate-config.sh unless the intended task is OpenClaw workspace configuration. <br>\nRisk: A deployment template includes an admin/admin test credential. <br>\nMitigation: Replace or remove the test credential before using the template in any real deployment documentation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zhaobod1/huo15-openclaw-office-doc) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Markdown, Shell commands, Configuration, Files] <br>\n**Output Format:** [Markdown source and generated DOCX or PDF files, with CLI-oriented command output where scripts are used] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Document commands can use local company information, logo assets, templates, and optional conversion backends.] <br>\n\n## Skill Version(s): <br>\n7.9.1 (source: frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v7.9.1:templates/API文档.md\n\n# 辉火云开放平台 API 文档\n\n## 一、概述\n\n辉火云开放平台为合作伙伴提供 RESTful API，覆盖项目管理、CRM、联系人、报销四个核心模块。\n\n**Base URL**：`https://api.huo15.com/v1`\n**协议**：HTTPS\n**编码**：UTF-8\n**响应格式**：JSON\n\n---\n\n## 二、鉴权\n\n所有 API 调用需在 HTTP Header 携带：\n\n```\nAuthorization: Bearer <ACCESS_TOKEN>\nX-Huo15-Tenant: <租户ID>\n```\n\n`ACCESS_TOKEN` 通过 `/auth/token` 获取，有效期 2 小时；过期后调用 `/auth/refresh` 刷新。\n\n---\n\n## 三、通用响应格式\n\n```json\n{\n  \"code\": 0,\n  \"message\": \"ok\",\n  \"data\": { ... },\n  \"request_id\": \"req-xxxx-xxxx-xxxx\"\n}\n```\n\n`code = 0` 表示成功；非 0 表示失败，对应错误码见 §六。\n\n---\n\n## 四、项目管理接口\n\n### POST /projects\n\n**说明**：创建项目\n\n**请求体**：\n\n```json\n{\n  \"name\": \"辉火云 v19.0 升级\",\n  \"description\": \"大版本升级，含多模型路由 + Vue 3 迁移\",\n  \"owner_id\": \"user-001\",\n  \"start_date\": \"2026-05-01\",\n  \"end_date\": \"2026-10-15\",\n  \"tags\": [\"v19\", \"upgrade\"]\n}\n```\n\n**响应**：\n\n```json\n{\n  \"code\": 0,\n  \"data\": {\n    \"id\": \"proj-2026-001\",\n    \"name\": \"辉火云 v19.0 升级\",\n    \"status\": \"planning\",\n    \"created_at\": \"2026-04-27T10:30:00+08:00\"\n  }\n}\n```\n\n### GET /projects/{id}\n\n**说明**：查询项目详情\n\n**路径参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `id` | string | 项目 ID |\n\n**响应示例**：见 POST 返回。\n\n### PATCH /projects/{id}\n\n**说明**：更新项目（部分字段）\n\n### DELETE /projects/{id}\n\n**说明**：删除项目（软删除）\n\n---\n\n## 五、CRM 接口\n\n### POST /customers\n\n**说明**：创建客户\n\n**请求体**：\n\n```json\n{\n  \"name\": \"与境出行\",\n  \"contact\": \"张鹏\",\n  \"phone\": \"138-0000-0000\",\n  \"industry\": \"出行\",\n  \"tags\": [\"重点客户\", \"出境游\"]\n}\n```\n\n### GET /customers\n\n**说明**：客户列表（支持分页与筛选）\n\n**Query 参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `page` | int | 页码，默认 1 |\n| `size` | int | 每页条数，默认 20，最大 100 |\n| `industry` | string | 行业筛选 |\n| `tag` | string | 标签筛选 |\n\n---\n\n## 六、错误码\n\n| code | 含义 | HTTP 状态 |\n|-----:|------|----------:|\n| 0 | 成功 | 200 |\n| 40001 | 参数缺失 | 400 |\n| 40002 | 参数格式错误 | 400 |\n| 40101 | 鉴权失败（token 无效）| 401 |\n| 40102 | token 过期 | 401 |\n| 40301 | 权限不足 | 403 |\n| 40401 | 资源不存在 | 404 |\n| 42901 | 调用频率超限 | 429 |\n| 50001 | 服务内部错误 | 500 |\n| 50002 | 第三方服务异常 | 502 |\n\n---\n\n## 七、限流\n\n- 默认限流：每租户 1000 次 / 分钟\n- 突发限流：5 秒内最多 50 次\n- 命中限流返回 `429`，`Retry-After` Header 给出重试间隔\n\n---\n\n## 八、变更日志\n\n| 版本 | 日期 | 变更 |\n|------|------|------|\n| v1.3 | 2026-04-27 | 新增 `/projects` 标签筛选 |\n| v1.2 | 2026-03-15 | `/customers` 增加分页 |\n| v1.1 | 2026-02-01 | 错误码体系重构 |\n| v1.0 | 2026-01-15 | 首发 |\n\nFile v7.9.1:templates/个人简历.md\n\n# 张三\n\n**手机：** 138-0000-0000   **邮箱：** zhangsan@example.com   **居住地：** 山东·青岛\n**LinkedIn：** linkedin.com/in/zhangsan   **GitHub：** github.com/zhangsan\n\n---\n\n## 求职意向\n\n后端工程师 / 全栈工程师 / 期望薪资：35-50K · 立即到岗\n\n---\n\n## 教育经历\n\n| 时间 | 学校 | 专业 / 学历 |\n|---|---|---|\n| 2018.09 - 2022.06 | 中国海洋大学 | 计算机科学与技术 · 本科 |\n\nGPA 3.7/4.0；曾获国家奖学金、全国大学生程序设计竞赛省赛一等奖。\n\n---\n\n## 工作经历\n\n### 2024.03 - 至今 · 青岛火一五信息科技 · 后端工程师\n\n- 主导 huo15 ERP 微服务化改造，把 10+ 单体模块拆为 18 个独立服务，部署效率提升 4×\n- 设计并落地 wecom 消息队列异步化，单日处理消息从 5w 提升到 80w\n- 维护核心订单库（PostgreSQL，TB 级），主导一次主备切换故障复盘\n\n### 2022.07 - 2024.02 · 某互联网公司 · Java 工程师\n\n- 负责会员中心后端，QPS 1w+，P99 < 80ms\n- 推动 Redis 集群迁移，节省云成本 30%\n\n---\n\n## 项目经验\n\n### huo15-openclaw-office-doc · 个人开源项目 · 2026.04\n\n- 17 类企业文档规范的 Word / PDF 自动生成器，已发布到 ClawHub\n- 解决 LLM 写文档时排版重复 / 格式错乱的痛点\n- 技术栈：Python · python-docx · reportlab · OOXML\n\n---\n\n## 技能\n\n- **后端**：Java / Python / Go · Spring Boot · FastAPI\n- **数据**：PostgreSQL · Redis · ClickHouse · Kafka\n- **DevOps**：Docker · Kubernetes · GitLab CI · Terraform\n- **AI**：Anthropic API · LangChain · Prompt Engineering\n\n---\n\n## 自我评价\n\n10 年代码经验，习惯先想清再写；做 ToB 项目长期对接客户，能把模糊的\"想要\"翻译成可执行的需求；在团队里通常承担\"把控架构 + 兜底救火\"的角色。\n\nFile v7.9.1:templates/任命书.md\n\n# 任命书\n\n青岛火一五信息科技有限公司全体员工：\n\n经公司董事会研究决定，现任命：\n\n**张三** 同志（身份证号：370281xxxxxxxx0001）为本公司**首席技术官（CTO）**，主管公司技术研发体系，全面负责辉火云产品线的技术战略、架构设计、研发管理、技术品牌建设等工作。\n\n任期自 2026 年 5 月 1 日起，为期三年。\n\n希望张三同志认真履行 CTO 职责，恪守职业操守，团结带领技术团队，持续推动公司技术能力升级，为公司\"加速企业向全场景人工智能机器人转变\"的愿景贡献力量。\n\n公司各部门、各岗位人员应给予全力支持与配合。\n\n特此任命。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n董事长：__________________\n\n二〇二六年四月二十七日\n\n（公司公章）\n\nFile v7.9.1:templates/保密协议.md\n\n# 保密协议（NDA）\n\n**协议编号：** HHY-NDA-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**披露方（甲方）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n\n**接收方（乙方）：** xx 公司\n**法定代表人：** xxx\n**地址：** xxx\n\n鉴于双方拟就 **辉火云企业套件 v19.0 大版本合作** 事宜进行协商和合作，过程中双方需要相互披露各自的商业秘密、技术信息等，为明确双方的保密义务，签订本保密协议。\n\n---\n\n## 第一条 保密信息的定义\n\n本协议所称\"保密信息\"是指披露方以书面、口头、电子或其他形式向接收方披露的，与合作事项相关的所有信息，包括但不限于：\n\n1. **商业信息：** 财务数据、客户名单、定价策略、营销计划、商业模式\n2. **技术信息：** 源代码、技术架构、算法、数据库设计、未公开专利\n3. **运营信息：** 内部组织架构、人员安排、员工薪酬、供应商信息\n4. **产品信息：** 未发布功能、产品路线图、设计稿、测试数据\n5. **其他：** 披露方明确标注为\"保密\"的任何信息\n\n---\n\n## 第二条 不属于保密信息的情形\n\n下列情形之一的信息不属于保密信息：\n\n1. 在披露之前已为公众所知，且非因接收方原因泄漏的\n2. 接收方在披露之前已合法持有的（须有书面证据）\n3. 由第三方合法披露给接收方且无保密义务的\n4. 接收方独立开发，不依赖披露方信息的\n5. 法律法规要求披露或司法 / 行政机关依法要求披露的\n\n---\n\n## 第三条 保密义务\n\n接收方对披露方的保密信息承担以下义务：\n\n1. **不披露：** 未经披露方书面同意，不得向任何第三方披露\n2. **不使用：** 仅可用于本协议约定的合作目的，不得用于其他用途\n3. **限制接触人员：** 仅限于\"必须知悉\"原则下的接收方员工 / 顾问；接收方应与这些人员签订同等保密义务的书面协议\n4. **妥善保管：** 采取与保护自身同等重要保密信息相同水平的措施\n5. **不复制：** 未经披露方书面同意，不得复制或备份保密信息（合作必需的工作副本除外）\n\n---\n\n## 第四条 保密期限\n\n1. **本协议有效期：** 自签订之日起 **3 年**\n2. **保密义务期限：** 接收方对保密信息的保密义务自接收之日起 **5 年**\n3. **协议终止后：** 接收方应在 30 日内归还或销毁所有保密信息材料，并向披露方提交《销毁确认书》\n\n---\n\n## 第五条 保密信息的归还与销毁\n\n1. 协议终止时，或披露方提出书面要求时，接收方应立即：\n   - 归还所有以书面、电子或其他物理形式持有的保密信息\n   - 销毁无法归还的副本（包括电子文件 / 内部文档 / 笔记 / 备份）\n   - 提交《销毁确认书》并由经办人签字\n2. 法律要求保留的副本（如审计 / 法律记录），仍受本协议保密义务约束\n\n---\n\n## 第六条 双向保密（如适用）\n\n本协议为 **双向保密协议**：双方互为披露方与接收方，均承担相同保密义务。\n\n> 单向 NDA 适用时，删除本条。\n\n---\n\n## 第七条 违约责任\n\n1. 接收方违反本协议任一条款的，应：\n   - 立即停止违约行为\n   - 向披露方支付违约金 **人民币 50 万元**（包括但不限于实际损失、可得利益损失、商誉损失等）\n   - 承担披露方为追究违约责任发生的合理费用（律师费 / 鉴定费 / 公证费等）\n2. 违约金不足以弥补披露方实际损失的，接收方还应赔偿损失差额\n\n---\n\n## 第八条 不构成授权\n\n本协议不构成任何明示或默示的：\n\n- 知识产权许可\n- 合作 / 合资关系\n- 采购 / 销售义务\n- 雇佣关系\n\n任何此类关系应通过单独签订正式合同确立。\n\n---\n\n## 第九条 适用法律与争议解决\n\n1. 本协议适用 **中华人民共和国法律**\n2. 因本协议产生的争议，双方应友好协商；协商不成的，提交 **披露方所在地有管辖权的人民法院** 诉讼解决\n\n---\n\n## 第十条 其他\n\n1. 本协议未尽事宜，由双方另行协商\n2. 本协议任一条款被认定为无效或不可执行的，不影响其他条款效力\n3. 本协议的修改 / 补充须以书面形式经双方签字盖章后生效\n4. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 披露方（甲方）（青岛火一五信息科技有限公司）| 接收方（乙方）（xx 公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.1:templates/劳动合同.md\n\n# 劳动合同\n\n**合同编号：** HHY-LD-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方（用人单位）：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方（劳动者）：** 张三\n**身份证号：** 370281xxxxxxxx0001\n**居住地址：** 山东省青岛市市南区xx路xx号\n**联系电话：** 138-0000-0000\n\n根据《中华人民共和国劳动法》、《中华人民共和国劳动合同法》等相关法律法规，甲乙双方在平等自愿、协商一致的基础上签订本合同。\n\n---\n\n## 第一条 合同期限\n\n本合同为**固定期限**劳动合同，期限自 **2026年5月1日** 起至 **2029年4月30日** 止，共 **3 年**。\n\n试用期为 **3 个月**，自 2026年5月1日 起至 2026年7月31日 止。\n\n---\n\n## 第二条 工作内容与工作地点\n\n1. 乙方岗位：**后端工程师**\n2. 工作内容：参与辉火云企业套件后端开发、维护与优化，按公司项目分配执行具体研发任务\n3. 工作地点：山东省青岛市黄岛区胶州湾路99号（甲方办公地址）；甲方因业务需要可调整工作地点，调整范围限于青岛市\n\n---\n\n## 第三条 工作时间与休息休假\n\n1. 实行**标准工时制**，每日工作 8 小时，每周工作 5 天；周六、周日为休息日\n2. 乙方依法享有法定节假日、年休假、婚假、产假、丧假等带薪休假\n3. 因业务需要安排加班，按《劳动法》规定支付加班工资或安排调休\n\n---\n\n## 第四条 劳动报酬\n\n1. **试用期工资：** 月工资人民币 28,000 元（税前）\n2. **转正后工资：** 月工资人民币 35,000 元（税前）\n3. **绩效奖金：** 按公司绩效考核制度发放，年度绩效奖金为 1-3 个月工资\n4. **工资支付：** 每月 15 日发放上月工资，通过银行转账支付到乙方指定账户\n5. 加班工资按《劳动法》规定标准计算\n\n---\n\n## 第五条 社会保险与福利\n\n1. 甲方依法为乙方缴纳社会保险（养老 / 医疗 / 失业 / 工伤 / 生育）和住房公积金\n2. 缴费基数按青岛市相关规定执行\n3. 乙方享有公司福利：商业医疗保险、节日福利、年度体检、餐补 30 元/工作日\n\n---\n\n## 第六条 劳动保护与劳动条件\n\n1. 甲方为乙方提供符合国家规定的工作环境与劳动保护用品\n2. 甲方依法对乙方进行职业培训、职业健康检查\n3. 乙方应遵守甲方的安全生产规章制度\n\n---\n\n## 第七条 保密与竞业限制\n\n1. **保密义务：** 乙方对甲方的商业秘密、技术秘密、客户信息、源代码等承担保密义务，期限自入职之日起至离职后 **2 年**\n2. **竞业限制：** 离职后 **24 个月**内，不得到与甲方有竞争关系的企业任职、不得自营同业；甲方按月支付竞业限制补偿金（基本工资的 30%）\n3. 违反保密 / 竞业限制约定的，乙方需向甲方支付违约金 **20 万元**，并赔偿由此造成的实际损失\n\n---\n\n## 第八条 知识产权\n\n1. 乙方在职期间，利用甲方资源、为完成甲方工作任务所产生的全部职务成果（包括但不限于代码、文档、专利、商标、设计），知识产权归甲方所有\n2. 乙方应配合甲方完成知识产权的申请、登记、转让等手续\n\n---\n\n## 第九条 合同变更与解除\n\n1. 经双方协商一致，可以变更或解除本合同\n2. 乙方解除合同需提前 **30 日**书面通知甲方（试用期内提前 3 日）\n3. 出现《劳动合同法》第三十九条、四十条、四十一条规定情形之一的，甲方可解除本合同\n\n---\n\n## 第十条 违约责任\n\n1. 一方违反本合同约定，造成对方损失的，应承担赔偿责任\n2. 违反保密义务、竞业限制的，按本合同第七条执行\n\n---\n\n## 第十一条 争议解决\n\n因本合同发生争议，双方应协商解决；协商不成的，向甲方所在地的劳动争议仲裁委员会申请仲裁；对仲裁裁决不服的，可向人民法院提起诉讼。\n\n---\n\n## 第十二条 其他\n\n1. 本合同未尽事宜，按国家相关法律法规及甲方规章制度执行\n2. 本合同一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（张三）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 本人签字：__________ |\n| 公司公章 | |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.1:templates/合作协议.md\n\n# 战略合作协议\n\n**协议编号：** HHY-HZ-20260427-001\n**签订日期：** 2026年4月27日\n**签订地点：** 山东省青岛市\n\n---\n\n**甲方：** 青岛火一五信息科技有限公司\n**法定代表人：** job zhao\n**地址：** 山东省青岛市黄岛区胶州湾路99号\n**联系电话：** 0532-87821789\n\n**乙方：** xx 教育科技有限公司\n**法定代表人：** 王五\n**地址：** xxx\n**联系电话：** xxx\n\n甲乙双方本着\"优势互补、合作共赢、长期发展\"原则，就 **教育行业 AI 智能体联合开发与市场推广** 事宜，依据《中华人民共和国民法典》及相关法律法规，经平等友好协商，签订本战略合作协议。\n\n> **声明：** 本协议为有法律约束力的合作合同，区别于《合作意向书 / MOU》。\n\n---\n\n## 第一条 合作背景\n\n甲方专注于\"全场景人工智能机器人\"赛道，拥有辉火云企业套件 + Anthropic 模型路由 + 多场景 Agent 框架技术积累。乙方深耕教育培训行业 10 年，拥有完整的课程体系、师资资源与 50 万+ 学员用户。\n\n双方一致认可：通过合作可以实现\"AI + 教育\"在中国市场的快速落地，对双方均有重大战略价值。\n\n---\n\n## 第二条 合作内容\n\n### 一、产品合作\n\n1. 双方联合开发 **辉火云教育版**（基于辉火云企业版定制），覆盖：\n   - 智能助教 Agent\n   - 自动出题 / 批改 Agent\n   - 学情分析 Agent\n   - 家校沟通 Agent\n2. 知识产权：技术框架与底层 Agent 归甲方所有；教育行业的业务流程、内容、数据归乙方所有\n\n### 二、市场合作\n\n1. 乙方将辉火云教育版作为其 ToB 客户的标准 SaaS 推荐\n2. 甲方在教育行业的市场推广中，优先与乙方合作\n3. 双方联合参加教育行业展会与论坛，共同发布白皮书与案例\n\n### 三、技术合作\n\n1. 甲方为乙方提供专属技术支持团队（3 人）\n2. 乙方向甲方反馈一线教育场景需求，作为 AI 框架演进输入\n\n---\n\n## 第三条 合作模式与投入\n\n### 甲方投入\n\n1. **技术投入：** 投入 5 名工程师（PM 1 + 后端 2 + 前端 1 + AI 1）全职 6 个月\n2. **资金投入：** 100 万元用于云资源、Anthropic API 调用费、第三方组件采购\n3. **基础平台：** 免费授权乙方使用辉火云企业版（永久授权 + 教育版定制版本）\n\n### 乙方投入\n\n1. **业务投入：** 投入 3 名教育产品经理 + 5 名教研老师全职 6 个月\n2. **资金投入：** 200 万元用于市场推广、客户转化、运营人力\n3. **客户资源：** 投入 50 万+ 学员用户与 200 家合作机构，作为冷启动池\n\n---\n\n## 第四条 合作期限\n\n1. **协议有效期：** 自签订之日起 **3 年**\n2. **续约：** 期满前 90 日，双方可协商续约；如无书面续约，本协议自动终止\n3. **早期终止：** 任意一方提前 90 日书面通知，可单方面终止合作；终止后双方须妥善处理已合作客户的服务延续\n\n---\n\n## 第五条 收益分配\n\n1. **辉火云教育版** 销售收入按以下比例分配：\n   - 甲方 **60%**（含技术服务 + 平台维护成本）\n   - 乙方 **40%**（含市场推广 + 客户运营成本）\n2. 季度结算，每季度结束后 15 个工作日内结清\n\n---\n\n## 第六条 知识产权\n\n1. **本合作前各方原有知识产权：** 归原所有方所有，互不影响\n2. **合作期间共同开发成果：** 双方共有；任一方使用须事先取得对方书面同意\n3. **乙方业务数据：** 乙方拥有所有权，甲方可在脱敏后用于产品演进\n4. **甲方技术框架：** 甲方拥有所有权，乙方仅享有合作期间的使用权\n\n---\n\n## 第七条 排他性\n\n1. **市场排他：** 协议期内，乙方不得与其他 AI 厂商合作开发同类教育 AI 产品\n2. **技术排他：** 协议期内，甲方不得向其他教育公司提供本协议同等水平的技术合作\n3. **客户排他：** 双方共同开发的客户，须以本协议产品为唯一合作工具\n\n---\n\n## 第八条 保密义务\n\n双方对合作过程中获取的对方商业秘密、技术信息、客户信息承担保密义务，期限自协议签订之日起至协议终止后 **3 年**。具体保密义务参照另行签订的《保密协议》。\n\n---\n\n## 第九条 违约责任\n\n1. 任何一方违反本协议核心义务（投入 / 排他 / 保密）的，应承担违约金 **人民币 200 万元**，并赔偿对方实际损失\n2. 违约方应立即停止违约行为；继续违约的，守约方有权单方面解约\n\n---\n\n## 第十条 不可抗力\n\n因不可抗力导致协议无法履行的，受影响方应及时通知对方并提供证明，双方协商解除或变更协议，互不承担违约责任。\n\n---\n\n## 第十一条 争议解决\n\n双方因协议产生争议，应友好协商；协商不成的，提交 **甲方所在地有管辖权的人民法院** 诉讼解决。\n\n---\n\n## 第十二条 其他\n\n1. 本协议为双方就合作事项达成的完整协议；双方此前的口头或书面协议（如《合作意向书》）在本协议生效后均失效\n2. 本协议未尽事宜，双方另行签订补充协议\n3. 本协议一式两份，甲乙双方各执一份，自双方签字盖章之日起生效\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（xx 教育科技有限公司）|\n|:--:|:--:|\n| 法定代表人（签字）：__________ | 法定代表人（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nFile v7.9.1:templates/在职证明.md\n\n# 在职证明\n\n兹证明 **张三** 同志（身份证号：370281xxxxxxxx0001）自 **2024 年 3 月 15 日**起至今在我公司任职，目前担任 **后端工程师** 一职，月平均收入（税前）人民币 **35,000.00** 元（叁万伍仟元整）。\n\n该员工现为公司在职人员，劳动合同正常履行中。\n\n特此证明。\n\n---\n\n**青岛火一五信息科技有限公司**\n\n人力资源部\n\n二〇二六年四月二十七日\n\n（公司公章）\n\n---\n\n> **声明**：本证明仅作为该员工在职情况之证明，不作为任何金融担保用途。\n> **联系电话**：0532-87821789  **邮箱**：hr@huo15.com\n\nFile v7.9.1:templates/备忘录.md\n\n# 战略合作备忘录\n\n**甲方：** 青岛火一五信息科技有限公司（\"火一五\"）\n**乙方：** 与境出行（\"与境\"）\n**签订日期：** 2026年4月27日\n**有效期：** 自签订日起 12 个月\n\n---\n\n## 一、合作背景\n\n火一五是一家专注\"全场景人工智能机器人\"的技术公司，已为 50+ 企业客户落地辉火云企业套件。与境是出境旅游服务平台运营方，正在从单点工具升级为全链路 SaaS 服务平台。\n\n双方在 2026 年 Q1 完成与境一期 MVP 项目的开发与上线，合作顺畅，结果超预期。基于此次成功合作，双方决定进一步深化合作，签订本战略合作备忘录。\n\n---\n\n## 二、合作内容\n\n### 一、产品合作\n\n1. **二期 APP 开发**：火一五承接与境出行的 iOS / Android 原生 APP 开发，预计 2026 年 6 月启动立项\n2. **AI 客服**：火一五基于 Claude Sonnet 4.6 为与境定制 AI 客服，覆盖出境签证、航班、保险三类咨询\n3. **数据分析**：双方联合搭建客户行为分析看板，与境提供数据，火一五提供平台\n\n### 二、市场合作\n\n1. 火一五在媒体宣传中可引用本案例（需经与境审阅同意）\n2. 与境在出境游行业活动中可优先推荐火一五作为技术合作伙伴\n3. 双方共同参加 2026 年青岛\"出境游 + AI\"行业论坛\n\n### 三、技术合作\n\n1. 火一五优先为与境提供新功能 Beta 试用机会\n2. 与境向火一五反馈一线业务场景，作为产品演进的输入\n\n---\n\n## 三、双方责任\n\n### 火一五\n\n- 在不冲突现有客户的前提下，向与境提供\"准战略客户\"待遇\n- 二期 APP 报价较常规标准下浮 10%\n- 关键 Bug（P0/P1）在 2 小时内响应\n\n### 与境\n\n- 在出境游行业内推荐火一五时不收取额外推广费\n- 至少每季度提供一次详细业务反馈\n- 案例宣传时配合火一五公关动作\n\n---\n\n## 四、保密\n\n双方在合作过程中获取的对方商业秘密、技术信息、客户信息均承担保密义务，期限自本备忘录签订之日起至终止后 3 年内有效。\n\n---\n\n## 五、有效期与终止\n\n1. 本备忘录有效期 12 个月，到期后双方协商续签\n2. 任意一方提前 30 天书面通知，可单方面终止本备忘录\n3. 本备忘录不构成任何法律意义上的合资 / 合营关系，具体业务合作以单独签订的合同为准\n\n---\n\n## 六、其他\n\n本备忘录一式两份，甲乙双方各执一份，自双方签字盖章之日起生效。\n\n---\n\n| 甲方（青岛火一五信息科技有限公司）| 乙方（与境出行）|\n|:--:|:--:|\n| 法人代表（签字）：__________ | 法人代表（签字）：__________ |\n| 公司公章 | 公司公章 |\n| 日期：______ 年 ______ 月 ______ 日 | 日期：______ 年 ______ 月 ______ 日 |\n\nArchive v7.9.0: 32 files, 116119 bytes\n\nFiles: _meta.json (144b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (44116b), scripts/create-word-doc.py (53437b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), skill-card.md (2689b), SKILL.md (22861b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nFile v7.9.0:SKILL.md\n\n---\nname: huo15-openclaw-office-doc\ndisplayName: 火一五文档技能\ndescription: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。\nversion: 7.9.0\naliases:\n  - 火一五文档技能\n  - 文档生成\n  - Word生成\n  - PDF生成\n  - 多规范文档\ndependencies:\n  python-packages:\n    - python-docx\n    - reportlab\n    - pygments  # 可选；装了即代码块语法高亮\n---\n\n# 火一五文档技能 v7.9.0\n\n> 企业级 Word & 原生 PDF 文档生成 — 青岛火一五信息科技有限公司\n\n**愿景：** 加速企业向全场景人工智能机器人转变\n**理念：** 打破信息孤岛，用一套系统驱动企业增长\n\n---\n\n## 〇、v7.9.0（正文默认仿宋）\n\n**变更**：除合同 7 类外，所有文体（需求文档 / 技术方案 / 研究报告 / 手册 / 方案 / 公文等）正文字体默认由**宋体改为仿宋**；标题保持黑体 / 方正小标宋。契合中文公文与方案文档规范（正文仿宋 GB），观感更正式统一。\n\n- 合同类（劳动 / 服务 / 技术开发 / 销售 / 采购 / NDA / 合作）**保持宋体**（商业惯例）\n- 调用 `create-word-doc.py` 生成的非合同文档，正文自动为仿宋，**无需再后处理改字体**\n- macOS 用 STFangsong 渲染，Windows / WPS 用系统「仿宋」\n\n---\n\n## 一、v7.8.5 hotfix（**ELEPHANT-IN-THE-ROOM** — LOGO 宽度错算导致页眉跑出页面）\n\n**用户反馈\"v7.8.1/v7.8.2/v7.8.3 还是没有页眉、字体不对\"** — pdftoppm 栅格化亲眼验证 + PyMuPDF 解 PDF stream 找到真凶：\n\n```python\n# v7.7~v7.8.4 错误代码\nimg = Image(logo_path, height=target_h)        # platypus Flowable\niw, ih = img.wrap(page_w, page_h)               # iw 返回原图像素宽（如 2048）\ntarget_w = iw * (target_h / ih) if ih else target_h\n# ↑ iw=2048, ih=25.5 → target_w = 2048 * (25.5/25.5) = 2048pt\n```\n\n`drawImage(width=2048, height=25.5, preserveAspectRatio=True)` 在 2048pt 宽容器里**居中** 25.5pt 实际 LOGO，居中偏移 `(2048-25.5)/2 = 1011pt`。LOGO 实际 x = `79 + 1011 = 1090pt`，**远超 page 595pt 宽** — LOGO 跑到页外！页眉文字 `text_x = x_start + logo_w = 79 + 2053 = 2133pt` 也跑到页外。\n\n**所以\"页眉只有一条灰线\"** — line 用绝对坐标没问题，drawImage/drawString 用 transform matrix 全跑页外。\n\n**修复**：用 `reportlab.lib.utils.ImageReader.getSize()` 直接读 LOGO 像素尺寸等比缩放，不依赖 platypus `Image.wrap()`。\n\n```python\nfrom reportlab.lib.utils import ImageReader\nir = ImageReader(logo_path)\niw, ih = ir.getSize()                # 像素尺寸，2048×2048\ntarget_w = target_h * iw / ih        # 25.5 * 2048/2048 = 25.5pt 正确\n```\n\n**v7.8.0~v7.8.4 都修错了方向**（字体 subface / fontconfig fallback / two-pass canvas resource / onPage 时机）。这次用 PyMuPDF 解 PDF stream 看到 `25.5 0 0 25.5 1090.614 803.622 cm` 才直接定位到 LOGO transform 错位。**亲眼看 + 拆 PDF stream 是诊断这类视觉 bug 的唯一可靠路径。**\n\n附带：chrome 从 two-pass canvas 子类移到 `PageTemplate.onPage` 回调（`make_chrome_callback`），架构更干净。\n\n---\n\n## 〇、v7.8.0~v7.8.4 中间版本（合并摘要 — 都没修到真因）\n\n| 版本 | 改动方向 | 实际效果 |\n|---|---|---|\n| v7.8.0 | LibreOffice filter 7 项保真 + 平台感知 backend | 字体/排版 marginal 改善，元凶未触 |\n| v7.8.1 | macOS Songti.ttc subface 0→6 / STHeiti 0→1（修繁体特黑） | 嵌入字体名变对，但页眉仍隐身 |\n| v7.8.2 | LibreOffice 路径 docx 字体名平台映射（\"宋体\"→\"宋体-简\"） | LibreOffice 路径有效，PDF 直出仍隐身 |\n| v7.8.3 | 文案：LibreOffice 标为推荐默认 | 文档级，无代码影响 |\n| v7.8.4 | (内部调试，setFillColor / 字体注册 trick) | 都没救页眉 |\n\n→ 都是错方向。**真因在 v7.8.5 才被定位**：LOGO `Image.wrap()` 返回 iw 没等比缩放 → target_w 错算 2048pt → drawImage 居中偏移 1011pt → LOGO+chrome 文字跑出页面右边。\n\n---\n\n## 〇、v7.7 修复（PDF 直出与 Word 视觉对齐 — 摘要）\n\n修了 3 处对齐：页眉用 `stringWidth()` 居中（修正中文公司名偏右）/ leading × 1.2 系数（21.6pt 对齐 Word 1.5 倍行距）/ firstLineIndent = size × 2（24pt 对齐 Word `firstLineChars=200`）。详细数学验证见 git log `v7.7.0` 提交。\n\n---\n\n## 一、v7.5 关键变化（合同细分 7 类 + 配套范本）\n\n> 用户反馈：\"合同帮我再细分\"。\n\n通用\"合同\"在 ToB 场景下太粗 — 一份合同应不应该带 试用期 / 知识产权 / 退换货 /\n保密期限 / 收益分配 等条款，取决于具体合同子类。v7.5 把合同细分为 7 类：\n\n| 子类 | 触发关键词 | 适用场景 | 范本 |\n|------|-----------|---------|------|\n| **劳动合同** | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | HR 招聘入职 | [templates/劳动合同.md](templates/劳动合同.md) |\n| **服务合同** | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS / 运维 | 长期服务 | [templates/服务合同.md](templates/服务合同.md) |\n| **技术开发合同** | 软件开发 / 委托开发 / 定制开发 / 开发合同 | 一次性开发 | [templates/技术开发合同.md](templates/技术开发合同.md) |\n| **销售合同** | 销售合同 / 货物销售 / 软件许可 / 经销 | 售方角度 | [templates/销售合同.md](templates/销售合同.md) |\n| **采购合同** | 采购合同 / 物资采购 / 设备采购 / 框架采购协议 | 购方角度 | [templates/采购合同.md](templates/采购合同.md) |\n| **保密协议** | 保密协议 / NDA / 信息保密 / 双向保密 | 保密信息保护 | [templates/保密协议.md](templates/保密协议.md) |\n| **合作协议** | 战略合作协议 / 联营协议 / 联合开发协议 | 有约束力合作 | [templates/合作协议.md](templates/合作协议.md) |\n\n通用\"合同\"作为兜底保留 — 输入命中\"合同\"但没匹配到具体子类时使用。\n\n视觉上 7 个合同子类共享通用合同的版式（宋体 / 标准页边距 / 无文档壳 / 第一条 ~\n第N条结构）；差异在 **正文结构** 与 **范本内容**。FORMAT_KEYWORDS 顺序保证子类\n关键词在通用\"合同\"之前命中。\n\n---\n\n> 历史变更详见文末 §十 版本历史。\n\n---\n\n## 二、39 类文档规范（v7.5）\n\n> 列含义：banner = 顶部右上 【内部】 红字；meta = 文档编号/版本/密级/日期 2 列表；\n> 版本史 = 末尾\"版本历史\"表；审批 = 末尾\"审批记录\"表；TOC = 自动目录。\n> 命中顺序由上至下；`auto` 命中后立即返回；`--doc-format <规范>` 强制覆盖。\n\n| 规范 | 触发关键词 | banner | meta | 版本史 | 审批 | TOC |\n|------|-----------|:------:|:----:|:------:|:----:|:---:|\n| **个人简历** ⭐v7.4 | 简历 / resume / CV | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **报价单** ⭐v7.4 | 报价单 / 商务报价 / 报价书 / 询价回复 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **新闻稿** ⭐v7.4 | 新闻稿 / 媒体通稿 / 发布稿 / press release | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **复盘报告** ⭐v7.4 | 复盘 / 项目复盘 / 项目总结 / 月度复盘 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **测试报告** ⭐v7.4 | 测试报告 / QA报告 / 验证报告 / 性能测试 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **故障报告** ⭐v7.4 | 故障报告 / 事故报告 / 故障复盘 / postmortem | ✅ | ✅ | ❌ | ❌ | ❌ |\n| **任命书** ⭐v7.4 | 任命书 / 聘任书 / 委任书 / 任命决定 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **应急预案** ⭐v7.4 | 应急预案 / 应急响应预案 / 应急处置方案 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **在职证明** ⭐v7.4 | 在职证明 / 离职证明 / 工作证明 / 收入证明 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **风险评估报告** ⭐v7.4 | 风险评估 / 风险报告 / 安全评估 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目计划书** ⭐v7.4 | 项目计划书 / 项目执行计划 / 项目章程 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **项目结项报告** ⭐v7.4 | 结项报告 / 项目收尾报告 / 项目交付总结 | ❌ | ✅ | ✅ | ✅ | ✅ |\n| **API文档** ⭐v7.4 | API文档 / 接口文档 / 接口规范 / openapi | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **部署文档** ⭐v7.4 | 部署文档 / 部署手册 / 上线手册 / runbook | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **备忘录** ⭐v7.4 | 备忘录 / MOU / 合作意向书 / 战略合作备忘录 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 验收单 ⭐v7.3 | 验收单 / 验收报告 / 交付确认书 / 项目验收 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 项目立项书 ⭐v7.3 | 立项申请 / 立项书 / 项目建议书 / 可行性研究报告 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 操作SOP ⭐v7.3 | SOP / 标准作业指导书 / 工艺文件 / 操作规程 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| 公司制度 ⭐v7.3 | 规章制度 / 管理办法 / 实施细则 / 管理细则 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 信函 ⭐v7.3 | 公函 / 商务函件 / 求职信 / 推荐信 / 邀请函 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 招投标书 | 招标书 / 投标书 / 投标文件 / 响应文件 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 商业计划书 | 商业计划书 / BP / 融资计划书 / 路演稿 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 用户手册 | 用户手册 / 操作手册 / 使用说明 / Manual | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 培训手册 | 培训手册 / 培训教材 / 教学大纲 / 员工手册 | ❌ | ❌ | ✅ | ❌ | ✅ |\n| 演讲稿 | 演讲稿 / 致辞稿 / 讲话稿 / 主题分享 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 研究报告 | 研究报告 / 学术论文 / 调研报告 / 白皮书 | ❌ | ✅ | ✅ | ❌ | ✅ |\n| **劳动合同** ⭐v7.5 | 劳动合同 / 雇佣合同 / 用工合同 / 实习合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **服务合同** ⭐v7.5 | 服务合同 / 技术服务 / 咨询 / 维保 / SaaS 合同 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **技术开发合同** ⭐v7.5 | 软件开发合同 / 委托开发合同 / 定制开发 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **销售合同** ⭐v7.5 | 销售合同 / 货物销售 / 软件许可合同 / 经销 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **采购合同** ⭐v7.5 | 采购合同 / 物资采购 / 设备采购 / 框架采购 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **保密协议** ⭐v7.5 | 保密协议 / NDA / 信息保密 / 双向保密 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **合作协议** ⭐v7.5 | 战略合作协议 / 联营协议 / 联合开发协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 合同（通用兜底）| 合同 / 协议 / 协议书 / 补充协议 | ❌ | ❌ | ❌ | ❌ | ❌ |\n| 会议纪要 | 会议纪要 / 纪要 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 技术方案 | 技术方案 / 实施方案 / 解决方案 / 设计文档 / 架构设计 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 需求文档 | 需求规格 / SRS / PRD / 需求说明 / 需求文档 | ✅ | ✅ | ✅ | ✅ | ✅ |\n| 工作报告 | 工作报告 / 周报 / 月报 / 季报 / 年报 / 述职报告 | ❌ | ✅ | ❌ | ❌ | ❌ |\n| 公文（默认）| 未命中其他关键词 | ✅ | ✅ | ✅ | ✅ | ❌ |\n\n> 一行命令看全 17 种：`python3 scripts/create-word-doc.py --list-formats`。\n> CLI 精细控制：`--with-version-history / --no-version-history /\n> --with-approval / --no-approval /\n> --with-classification-banner / --no-classification-banner /\n> --with-doc-meta-table / --no-doc-meta-table /\n> --with-title-block / --no-title-block`。\n\n### 标题层级识别（每种规范独立）\n\n每种规范都有自己的章节编号正则；同时支持标准 Markdown `# / ## / ### / ####`。例如：\n\n| 规范 | 一级（chapter） | 二级（section） | 三级（article） |\n|------|---------------|---------------|----------------|\n| 公文 | 第X章/第X节 | 一、二、三、 | （一）（二） |\n| 合同 | 第X章/第X条 | 一、二、 | — |\n| 商业计划书 | 第X部分/一、二、 | 1.1 | 1.1.1 |\n| 用户手册 | 第X章 | X. | X.X |\n| 培训手册 | 模块X/单元X/第X课 | 一、二、 | X.X |\n| 招投标书 | 第X章/篇/部分 | 一、二、 | （一）（二） |\n| 研究报告 | 摘要/Abstract/引言/结论/参考文献/一、 | X. | X.X |\n\n---\n\n## 三、页眉 / 页脚规范\n\n### 3.1 页眉\n\n- **company**（默认）：LOGO + 公司名 + 文档编号 + 密级，**左对齐**\n- **minimal**（合同 / 用户手册 / 演讲稿）：LOGO + 公司名，**左对齐**，不显示编号 / 密级\n- **centered**（保留备选，当前无规范默认走此项）：仅公司名，居中\n- 底部统一灰线 `#888888`\n\n> v7.0 直接写 OOXML `<w:jc>` 并清 `<w:tabs>`，避免 WPS / 部分 Word 模板的样式继承覆盖。\n\n### 3.2 页脚\n\n- 所有规范统一为 `第 X 页 / 共 Y 页`，居中\n- Word：`PAGE` / `NUMPAGES` 字段码（打开时自动计算）\n- PDF：两遍渲染（NumberedCanvas）拿到真总页数\n\n---\n\n## 四、本地公司信息工作流\n\n页眉的公司名、LOGO 按以下优先级解析：\n\n1. **CLI 显式参数** `--company-name` / `--logo-path`\n2. **本地缓存** `~/.huo15/company-info.json`\n3. **Odoo `res.company`** 自动拉取（可用 `--no-odoo` 关闭）\n4. **退出码 2 + 结构化 JSON** — 以上都拿不到时让 Claude 触发补录流程\n\n### 4.1 标准流程（生成前）\n\n```bash\npython3 scripts/company-info.py check\n#   exit 0 + 完整 JSON  → 直接生成\n#   exit 2 + missing[]  → 进入补录\n```\n\n**补录流程**（Claude 执行）：\n\n1. 先查 auto-memory 中的 `huo15_company_info.md` / `user_identity.md`\n2. 仍缺失时用 `AskUserQuestion` 询问：公司全称、LOGO 路径、可选 slogan / 地址 / 电话 / 邮箱 / 官网\n3. 写入：\n   ```bash\n   python3 scripts/company-info.py set \\\n     --company-name \"<公司全称>\" --logo-path \"<LOGO绝对路径>\"\n   ```\n4. 同步写入 memory（`huo15_company_info.md`）\n\n---\n\n## 五、命令行\n\n```bash\n# Word 直出\npython3 scripts/create-word-doc.py --output 方案.docx \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-number \"HG-FA-2026-001\" --version \"V1.0\" --classification \"内部\" \\\n  --author \"辉火云管家·贾维斯\"\n\n# 一览 39 种 preset：\npython3 scripts/create-word-doc.py --list-formats\n\n# 原生 PDF 直出（不依赖 LibreOffice / Office）：\npython3 scripts/create-pdf-doc.py --output 方案.pdf \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-format 技术方案\n\n# Word → PDF（保留版式）：\npython3 scripts/word-to-pdf.py 方案.docx -o 方案.pdf\n```\n\n**关键 CLI 参数：**\n\n- `--doc-format <规范>` — 39 类规范任选；省略走 `auto` 自动识别\n- `--company-name / --logo-path` — 覆盖本地公司信息\n- `--with-version-history / --no-version-history` — 版本历史表\n- `--with-approval / --no-approval` — 审批记录表\n- `--with-classification-banner / --no-classification-banner` — 顶部 【内部】红字\n- `--with-doc-meta-table / --no-doc-meta-table` — 顶部元数据 2 列表\n- `--with-title-block / --no-title-block` — 标题大字块\n\n**何时用哪条路径**：只要 Word → 用 `create-word-doc.py`；只要 PDF →\n`create-pdf-doc.py`（最快）；要 Word + PDF 版式一致 → 先 word，再\n`word-to-pdf.py`。后端优先级 `libreoffice → docx2pdf → word_com` 自动回落。\n\n字体：macOS 自带 Songti.ttc / STHeiti.ttc；Linux 推荐 Noto CJK；\nWindows 可用 SimSun / SimHei。\n\n---\n\n## 六、Markdown 能力速查\n\n| 元素 | 写法 | 说明 |\n|------|------|------|\n| 标题 | `#`~`######` | 也支持规范专属编号（一、 / 1. / 1.1 / 第X章） |\n| 段落软换行 | 直接换行 | CJK ↔ CJK 不插入空格；ASCII 仍保留空格 |\n| 段落硬换行 | 行尾 `  ` 或 `\\` | 同段内强制换行 |\n| 列表 | `- item` / `* item` / `1. item` | |\n| 强调 | `**粗**` / `*斜*` / `` `inline code` `` | |\n| 表格 | 标准 GFM | 缺前导 `|` / 转义 `\\|` / 2 列起即可识别 |\n| 代码块 | `` ``` ``...`` ``` `` | 等宽灰底；带语言标签 |\n| 引用块 | `> ...` | 左侧橘色竖条 + 灰色段 |\n| 分隔线 | `---` / `***` / `___` | |\n| 元数据行 | `文档编号：XX | 版本：V1.0 | 密级：内部 | 日期：2026-04-27` | 自动两列表格 |\n| 分页符 | `---PAGE---` / `\\pagebreak` / `<!-- pagebreak -->` | 强制下一页 |\n| 空内容 | — | 写\"（无正文内容）\"灰字占位 |\n\n---\n\n## 七、Python API\n\n```python\n# Word\nfrom create_word_doc import create_word_doc\ncreate_word_doc(\n    output_path=\"文档.docx\",\n    title=\"技术方案：XXX系统\",\n    content=md_text,\n    doc_number=\"HG-FA-2026-001\",\n    version=\"V1.0\",\n    classification=\"内部\",\n    author=\"辉火云管家·贾维斯\",\n    doc_format=\"auto\",            # 12 类规范名 / 'auto'\n)\n\n# PDF\nfrom create_pdf_doc import create_pdf_doc\ncreate_pdf_doc(output_path=\"文档.pdf\", title=\"...\", content=md_text,\n               doc_format=\"商业计划书\")\n\n# Word → PDF\nfrom word_to_pdf import convert_to_pdf\nok, path = convert_to_pdf(\"方案.docx\", \"方案.pdf\",\n                          backend=\"auto\", keep_fonts=True)\n```\n\n> 缺公司信息时三个入口都抛 `RuntimeError`，message 是结构化 JSON，Claude 据此触发补录。\n\n---\n\n## 八、触发词\n\n通用：写 word / 写 PDF / 写文档 / 生成 word / 生成 PDF / 创建文档 / 导出文档 / Word 转 PDF。\n\n39 类规范触发词由 §二 表格中\"触发关键词\"列定义。常用：写合同 / 写协议 /\n写劳动合同 / 写服务合同 / 写技术开发合同 / 写销售合同 / 写采购合同 / 写 NDA /\n写保密协议 / 写战略合作协议 / 写方案 / 写报告 / 写会议纪要 / 写需求文档 /\n写 PRD / 写商业计划书 / 写 BP / 写用户手册 / 写培训手册 / 写招标书 / 写投标书 /\n写演讲稿 / 写研究报告 / 写白皮书 / 写验收单 / 写立项书 / 写 SOP / 写公司制度 /\n写公函 / 写邀请函 / 写简历 / 写 CV / 写报价单 / 写新闻稿 / 写复盘 / 写测试报告 /\n写故障报告 / 写 postmortem / 写任命书 / 写应急预案 / 写在职证明 / 写风险评估 /\n写项目计划书 / 写项目结项报告 / 写 API 文档 / 写部署文档 / 写 runbook / 写备忘录 /\n写 MOU。\n\n---\n\n## 九、目录结构\n\n```\nscripts/\n├── doc_core.py          # 共享核心：32 类预设 + Block AST 解析 + 内联 token\n│                        # v7.4：再扩 15 类预设 + 关键词优先级调整\n│                        # v7.3：FormatPreset 增 4 个文档壳开关\n├── company-info.py      # 本地公司信息读写 + Odoo 回落\n├── create-word-doc.py   # Word 渲染（python-docx + 强制 OOXML jc）\n│                        # v7.3：_strip_markdown_emphasis + _maybe_dedupe_h1_title\n├── create-pdf-doc.py    # 原生 PDF 渲染（reportlab + NumberedCanvas）\n│                        # v7.3：与 Word 端文档壳逻辑保持一致\n└── word-to-pdf.py       # Word → PDF 多后端转换\n\ntemplates/               # v7.4：15 份可直接拷贝改写的 markdown 范本\n├── 个人简历.md\n├── 报价单.md\n├── 新闻稿.md\n├── 复盘报告.md\n├── 测试报告.md\n├── 故障报告.md\n├── 任命书.md\n├── 应急预案.md\n├── 在职证明.md\n├── 风险评估报告.md\n├── 项目计划书.md\n├── 项目结项报告.md\n├── API文档.md\n├── 部署文档.md\n├── 备忘录.md\n└── README.md\n```\n\n---\n\n## 十一、未来路线（已调研、未实施）\n\n| 功能 | 业界参考 | 优先级 | 复杂度 | 拟引入依赖 |\n|------|---------|--------|-------|----------|\n| LaTeX → OMML 公式管线 | markdocx / Pandoc | 中 | 中 | latex2mathml + XSLT |\n| reference docx 模板继承 | Pandoc / Quarto | 中 | 中 | 仅模板文件 |\n| Typst 第四条 PDF 路径（30× 速度） | typst.app + zh-kit | 中 | 中 | typst 二进制 |\n| pandoc-crossref 风格交叉引用 `{#fig:xxx}` | pandoc-crossref | 中 | 中 | — |\n| 水印 + AES 加密 | msoffcrypto-tool | 低 | 小 | msoffcrypto-tool |\n| 修订追踪 / 批注 | docx-revisions | 低 | 大 | docx-revisions |\n| docxtpl Jinja2 模板槽 | docxtpl | 低 | 小 | docxtpl |\n\n> 任何一项触发刚需时再上；当前以稳定 + 中文友好 + 易维护为先。\n\n---\n\n## 十、版本历史\n\n详细版本历史见 git log。当前主要里程碑：\n- **v7.8.6**（最新）：**Word emoji 乱码修复** — markdown 内含 emoji(🎂🚗💰🦞✅⭐🇨🇳 等)生成 docx 后,在 WPS / LibreOffice / Linux Word 渲染时显示 ▢▢ 占位方块。根因:`_set_font` 把 ascii/hAnsi/eastAsia 三个 slot 都设为中文字体(PingFang/宋体/黑体),中文字体不含 emoji glyph 就 fallback 到方块。修复:(1)`_set_font` 加 `w:cs` slot 指向 `Segoe UI Emoji` 兜底;(2)新增 `_add_run` emoji-aware 包装,内部按 `_EMOJI_RE` 正则把 emoji 字符切到独立 run + 用 emoji 字体;(3)`render_inline` 改用 `_add_run` 覆盖所有 markdown 内联文本(bold/italic/code/text)。Mac/Linux 系统会自动 fallback 到 Apple Color Emoji / Noto Color Emoji。\n- **v7.8.x**：PDF 渲染保真度 — 字体 subface 修正 / leading 系数 / firstLineIndent 字符化 / LibreOffice filter 加固 / 平台感知后端优先级（详见上方〇章节）\n- **v7.5–v7.6**：39 类规范 + 合同细分 7 类 + KV 元数据归并 / TOC 占位回填 / PDF outline 修复\n- **v7.0–v7.4**：原生 PDF 直出（create-pdf-doc.py）+ 27→39 类扩张 + Pygments 代码高亮 + CJK 段落 OOXML 直写\n- **v6.x**：Block AST 重写 / 页眉恒含 LOGO / 页脚字段码\n- **v5.x**：多规范自动识别骨架 + company-info.py\n\n---\n\n**技术支持：** 青岛火一五信息科技有限公司\n\nFile v7.9.0:templates/README.md\n\n# 文档范本（v7.4 起 15 类 + v7.5 起 7 类合同细分 = 22 份）\n\n每个 markdown 范本是一份\"看了就能改\"的真实样例。\n直接拷走、把里面的占位字段（公司名 / 客户名 / 编号 / 日期 / 金额）替换成自己的，\n再用对应 preset 渲染即可。\n\n## v7.5 合同细分（7 份）⭐\n\n| 范本文件 | 对应规范 | 适用场景 |\n|---------|---------|---------|\n| [劳动合同.md](劳动合同.md) | `劳动合同` | HR 招聘、入职 |\n| [服务合同.md](服务合同.md) | `服务合同` | SaaS / 咨询 / 维保 / 实施 |\n| [技术开发合同.md](技术开发合同.md) | `技术开发合同` | 软件 / 硬件一次性开发 |\n| [销售合同.md](销售合同.md) | `销售合同` | 软件许可销售 / 货物销售 |\n| [采购合同.md](采购合同.md) | `采购合同` | 设备 / 物资 / 服务采购 |\n| [保密协议.md](保密协议.md) | `保密协议` | NDA，单向 / 双向 |\n| [合作协议.md](合作协议.md) | `合作协议` | 战略合作（有约束力，区别于 MOU）|\n\n## v7.4 通用范本（15 份）\n\n| 范本文件 | 对应规范 | 推荐用法 |\n|---------|---------|---------|\n| [个人简历.md](个人简历.md) | `个人简历` | 紧凑单页，无文档壳 |\n| [报价单.md](报价单.md) | `报价单` | 表格驱动，明显合计 |\n| [新闻稿.md](新闻稿.md) | `新闻稿` | dateline + 主体 + 媒体联系人 |\n| [复盘报告.md](复盘报告.md) | `复盘报告` | 项目复盘标准结构 |\n| [测试报告.md](测试报告.md) | `测试报告` | 含完整文档壳 + 缺陷统计 |\n| [故障报告.md](故障报告.md) | `故障报告` | 时间线 + 根因 + 改进项 |\n| [任命书.md](任命书.md) | `任命书` | letterhead 单页 |\n| [应急预案.md](应急预案.md) | `应急预案` | 完整文档壳 + 分级流程 |\n| [在职证明.md](在职证明.md) | `在职证明` | letterhead 单页 |\n| [风险评估报告.md](风险评估报告.md) | `风险评估报告` | 风险矩阵 + 应对措施 |\n| [项目计划书.md](项目计划书.md) | `项目计划书` | 完整文档壳 + 里程碑 |\n| [项目结项报告.md](项目结项报告.md) | `项目结项报告` | 收尾 + 客户评价 + 后续支持 |\n| [API文档.md](API文档.md) | `API文档` | OpenAPI 风格 |\n| [部署文档.md](部署文档.md) | `部署文档` | 步骤式 + 故障排查 + 回滚 |\n| [备忘录.md](备忘录.md) | `备忘录` | MOU 形式，双方签章（无约束力意向）|\n\n## 怎么用\n\n```bash\n# 拷一份范本\ncp ~/.openclaw/skills/huo15-openclaw-office-doc/templates/报价单.md \\\n   /tmp/我的报价单.md\n\n# 编辑成自己的内容\nvim /tmp/我的报价单.md\n\n# 渲染（auto 会按标题命中 报价单 preset）\npython3 ~/.openclaw/skills/huo15-openclaw-office-doc/scripts/create-word-doc.py \\\n  --output 我的报价单.docx \\\n  --title \"软件开发服务报价单\" \\\n  --content @/tmp/我的报价单.md\n```\n\n也可以让 LLM 直接基于范本生成，先把范本贴给它做参考，再让它按你的具体需求改写。\n\n## 既有 17 类（v7.3 及之前）尚无独立范本\n\n公文 / 合同（通用）/ 会议纪要 / 技术方案 / 需求文档 / 工作报告 / 商业计划书 /\n用户手册 / 培训手册 / 招投标书 / 演讲稿\n\nArchive v7.8.6: 32 files, 115675 bytes\n\nFiles: _meta.json (144b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (44116b), scripts/create-word-doc.py (53075b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), skill-card.md (2479b), SKILL.md (22220b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nArchive v7.8.5: 31 files, 112485 bytes\n\nFiles: _meta.json (144b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (44116b), scripts/create-word-doc.py (49852b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), SKILL.md (21504b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nArchive v7.8.3: 31 files, 112354 bytes\n\nFiles: _meta.json (144b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (42556b), scripts/create-word-doc.py (49852b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20075b), SKILL.md (23986b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nArchive v7.8.2: 31 files, 112258 bytes\n\nFiles: _meta.json (144b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (42556b), scripts/create-word-doc.py (49852b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (20211b), SKILL.md (23553b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)\n\nArchive v7.8.1: 31 files, 109761 bytes\n\nFiles: _meta.json (144b), scripts/company-info.py (7083b), scripts/create-pdf-doc.py (42556b), scripts/create-word-doc.py (49852b), scripts/doc_core.py (66449b), scripts/generate-config.sh (8454b), scripts/word-to-pdf.py (14196b), SKILL.md (22198b), templates/API文档.md (3061b), templates/README.md (3672b), templates/个人简历.md (1840b), templates/任命书.md (851b), templates/保密协议.md (4890b), templates/劳动合同.md (4635b), templates/合作协议.md (5602b), templates/在职证明.md (643b), templates/备忘录.md (2813b), templates/复盘报告.md (3019b), templates/应急预案.md (3342b), templates/技术开发合同.md (6129b), templates/报价单.md (2139b), templates/故障报告.md (3425b), templates/新闻稿.md (2366b), templates/服务合同.md (4957b), templates/测试报告.md (2636b), templates/部署文档.md (3809b), templates/采购合同.md (4544b), templates/销售合同.md (4829b), templates/项目结项报告.md (3072b), templates/项目计划书.md (3110b), templates/风险评估报告.md (2900b)","readmeExcerpt":"Skill: huo15-openclaw-office-doc Owner: zhaobod1 Summary: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写","codeSnippets":[],"executableExamples":[{"language":"python","snippet":"# v7.7~v7.8.4 错误代码\nimg = Image(logo_path, height=target_h)        # platypus Flowable\niw, ih = img.wrap(page_w, page_h)               # iw 返回原图像素宽（如 2048）\ntarget_w = iw * (target_h / ih) if ih else target_h\n# ↑ iw=2048, ih=25.5 → target_w = 2048 * (25.5/25.5) = 2048pt"},{"language":"python","snippet":"from reportlab.lib.utils import ImageReader\nir = ImageReader(logo_path)\niw, ih = ir.getSize()                # 像素尺寸，2048×2048\ntarget_w = target_h * iw / ih        # 25.5 * 2048/2048 = 25.5pt 正确"},{"language":"bash","snippet":"python3 scripts/company-info.py check\n#   exit 0 + 完整 JSON  → 直接生成\n#   exit 2 + missing[]  → 进入补录"},{"language":"bash","snippet":"python3 scripts/company-info.py set \\\n     --company-name \"<公司全称>\" --logo-path \"<LOGO绝对路径>\""},{"language":"bash","snippet":"# Word 直出\npython3 scripts/create-word-doc.py --output 方案.docx \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-number \"HG-FA-2026-001\" --version \"V1.0\" --classification \"内部\" \\\n  --author \"辉火云管家·贾维斯\"\n\n# 一览 39 种 preset：\npython3 scripts/create-word-doc.py --list-formats\n\n# 原生 PDF 直出（不依赖 LibreOffice / Office）：\npython3 scripts/create-pdf-doc.py --output 方案.pdf \\\n  --title \"技术方案：XXX系统\" --content @/tmp/content.md \\\n  --doc-format 技术方案\n\n# Word → PDF（保留版式）：\npython3 scripts/word-to-pdf.py 方案.docx -o 方案.pdf"},{"language":"python","snippet":"# Word\nfrom create_word_doc import create_word_doc\ncreate_word_doc(\n    output_path=\"文档.docx\",\n    title=\"技术方案：XXX系统\",\n    content=md_text,\n    doc_number=\"HG-FA-2026-001\",\n    version=\"V1.0\",\n    classification=\"内部\",\n    author=\"辉火云管家·贾维斯\",\n    doc_format=\"auto\",            # 12 类规范名 / 'auto'\n)\n\n# PDF\nfrom create_pdf_doc import create_pdf_doc\ncreate_pdf_doc(output_path=\"文档.pdf\", title=\"...\", content=md_text,\n               doc_format=\"商业计划书\")\n\n# Word → PDF\nfrom word_to_pdf import convert_to_pdf\nok, path = convert_to_pdf(\"方案.docx\", \"方案.pdf\",\n                          backend=\"auto\", keep_fonts=True)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: huo15-openclaw-office-doc\ndisplayName: 火一五文档技能\ndescription: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。\nversion: 7.9.4\naliases:\n  - 火一五文档技能\n  - 文档生成\n  - Word生成\n  - PDF生成\n  - 多规范文档\ndependencies:\n  python-packages:\n    - python-docx\n    - reportlab\n    - pygments  # 可选；装了即代码块语法高亮\n---\n\n# 火一五文档技能 v7.9.1\n\n> 企业级 Word & 原生 PDF 文档生成 — 青岛火一五信息科技有限公司\n\n**愿景：** 加速企业向全场景人工智能机器人转变\n**理念：** 打破信息孤岛，用一套系统驱动企业增长\n\n---\n\n## 〇、v7.9.1（正文默认仿宋）\n\n**变更**：除合同 7 类外，所有文体（需求文档 / 技术方案 / 研究报告 / 手册 / 方案 / 公文等）正文字体默认由**宋体改为仿宋**；标题保持黑体 / 方正小标宋。契合中文公文与方案文档规范（正文仿宋 GB），观感更正式统一。\n\n- 合同类（劳动 / 服务 / 技术开发 / 销售 / 采购 / NDA / 合作）**保持宋体**（商业惯例）\n- 调用 `create-word-doc.py` 生成的非合同文档，正文自动为仿宋，**无需再后处理改字体**\n- macOS 用 STFangsong 渲染，Windows / WPS 用系统「仿宋」\n\n---\n\n## 一、v7.8.5 hotfix（**ELEPHANT-IN-THE-ROOM** — LOGO 宽度错算导致页眉跑出页面）\n\n**用户反馈\"v7.8.1/v7.8.2/v7.8.3 还是没有页眉、字体不对\"** — pdftoppm 栅格化亲眼验证 + PyMuPDF 解 PDF stream 找到真凶：\n\n```python\n# v7.7~v7.8.4 错误代码\nimg = Image(logo_path, height=target_h)        # platypus Flowable\niw, ih = img.wrap(page_w, page_h)               # iw 返回原图像素宽（如 2048）\ntarget_w = iw * (target_h / ih) if ih else target_h\n# ↑ iw=2048, ih=25.5 → target_w = 2048 * (25.5/25.5) = 2048pt\n```\n\n`drawImage(width=2048, height=25.5, preserveAspectRatio=True)` 在 2048pt 宽容器里**居中** 25.5pt 实际 LOGO，居中偏移 `(2048-25.5)/2 = 1011pt`。LOGO 实际 x = `79 + 1011 = 1090pt`，**远超 page 595pt 宽** — LOGO 跑到页外！页眉文字 `text_x = x_start + logo_w = 79 + 2053 = 2133pt` 也跑到页外。\n\n**所以\"页眉只有一条灰线\"** — line 用绝对坐标没问题，drawImage/drawString 用 transform matrix 全跑页外。\n\n**修复**：用 `reportlab.lib.utils.ImageReader.getSize()` 直接读 LOGO 像素尺寸等比缩放，不依赖 platypus `Image.wrap()`。\n\n```python\nfrom reportlab.lib.utils import ImageReader\nir = ImageReader(logo_path)\niw, ih = ir.getSize()                # 像素尺寸，2048×2048\ntarget_w = target_h * iw / ih        # 25.5 * 2048/2048 = 25.5pt 正确\n```\n\n**v7.8.0~v7.8.4 都修错了方向**（字体 subface / fontconfig fallback / two-pass canvas resource / onPage 时机）。这次用 PyMuPDF 解 PDF stream 看到 `25.5 0 0 25.5 1090.614 803.622 cm` 才直接定位到 LOGO transform 错位。**亲眼看 + 拆 PDF stream 是诊断这类视觉 bug 的唯一可靠路径。**\n\n附带：chrome 从 two-pass canvas 子类移到 `PageTemplate.onPage` 回调（`make_chrome_callback`），架构更干净。\n\n---\n\n## 〇、v7.8.0~v7.8.4 中间版本（合并摘要 — 都没修到真因）\n\n| 版本 | 改动方向 | 实际效果 |\n|---|---|---|\n| v7.8.0 | LibreOffice filter 7 项保真 + 平台感知 backend | 字体/排版 marginal 改善，元凶未触 |\n| v7.8.1 | macOS Songti.ttc subface 0→6 / STHeiti 0→1（修繁体特黑） | 嵌入字体名变对，但页眉仍隐身 |\n| v7.8.2 | LibreOffice 路径 docx 字体名平台映射（\"宋体\"→\"宋体-简\"） | LibreOffice 路径有效，PDF 直出仍隐身 |\n| v7.8.3 | 文案：LibreOffice 标为"},{"path":"templates/README.md","content":"# 文档范本（v7.4 起 15 类 + v7.5 起 7 类合同细分 = 22 份）\n\n每个 markdown 范本是一份\"看了就能改\"的真实样例。\n直接拷走、把里面的占位字段（公司名 / 客户名 / 编号 / 日期 / 金额）替换成自己的，\n再用对应 preset 渲染即可。\n\n## v7.5 合同细分（7 份）⭐\n\n| 范本文件 | 对应规范 | 适用场景 |\n|---------|---------|---------|\n| [劳动合同.md](劳动合同.md) | `劳动合同` | HR 招聘、入职 |\n| [服务合同.md](服务合同.md) | `服务合同` | SaaS / 咨询 / 维保 / 实施 |\n| [技术开发合同.md](技术开发合同.md) | `技术开发合同` | 软件 / 硬件一次性开发 |\n| [销售合同.md](销售合同.md) | `销售合同` | 软件许可销售 / 货物销售 |\n| [采购合同.md](采购合同.md) | `采购合同` | 设备 / 物资 / 服务采购 |\n| [保密协议.md](保密协议.md) | `保密协议` | NDA，单向 / 双向 |\n| [合作协议.md](合作协议.md) | `合作协议` | 战略合作（有约束力，区别于 MOU）|\n\n## v7.4 通用范本（15 份）\n\n| 范本文件 | 对应规范 | 推荐用法 |\n|---------|---------|---------|\n| [个人简历.md](个人简历.md) | `个人简历` | 紧凑单页，无文档壳 |\n| [报价单.md](报价单.md) | `报价单` | 表格驱动，明显合计 |\n| [新闻稿.md](新闻稿.md) | `新闻稿` | dateline + 主体 + 媒体联系人 |\n| [复盘报告.md](复盘报告.md) | `复盘报告` | 项目复盘标准结构 |\n| [测试报告.md](测试报告.md) | `测试报告` | 含完整文档壳 + 缺陷统计 |\n| [故障报告.md](故障报告.md) | `故障报告` | 时间线 + 根因 + 改进项 |\n| [任命书.md](任命书.md) | `任命书` | letterhead 单页 |\n| [应急预案.md](应急预案.md) | `应急预案` | 完整文档壳 + 分级流程 |\n| [在职证明.md](在职证明.md) | `在职证明` | letterhead 单页 |\n| [风险评估报告.md](风险评估报告.md) | `风险评估报告` | 风险矩阵 + 应对措施 |\n| [项目计划书.md](项目计划书.md) | `项目计划书` | 完整文档壳 + 里程碑 |\n| [项目结项报告.md](项目结项报告.md) | `项目结项报告` | 收尾 + 客户评价 + 后续支持 |\n| [API文档.md](API文档.md) | `API文档` | OpenAPI 风格 |\n| [部署文档.md](部署文档.md) | `部署文档` | 步骤式 + 故障排查 + 回滚 |\n| [备忘录.md](备忘录.md) | `备忘录` | MOU 形式，双方签章（无约束力意向）|\n\n## 怎么用\n\n```bash\n# 拷一份范本\ncp ~/.openclaw/skills/huo15-openclaw-office-doc/templates/报价单.md \\\n   /tmp/我的报价单.md\n\n# 编辑成自己的内容\nvim /tmp/我的报价单.md\n\n# 渲染（auto 会按标题命中 报价单 preset）\npython3 ~/.openclaw/skills/huo15-openclaw-office-doc/scripts/create-word-doc.py \\\n  --output 我的报价单.docx \\\n  --title \"软件开发服务报价单\" \\\n  --content @/tmp/我的报价单.md\n```\n\n也可以让 LLM 直接基于范本生成，先把范本贴给它做参考，再让它按你的具体需求改写。\n\n## 既有 17 类（v7.3 及之前）尚无独立范本\n\n公文 / 合同（通用）/ 会议纪要 / 技术方案 / 需求文档 / 工作报告 / 商业计划书 /\n用户手册 / 培训手册 / 招投标书 / 演讲稿 / 研究报告 / 验收单 / 项目立项书 /\n操作SOP / 公司制度 / 信函 — 这些规范在 v7.0 ~ v7.3 已经迭代过；如有需要，\n后续可以按本目录格式继续扩。\n\n> **注意：** 通用\"合同\"作为兜底（输入命中\"合同\"但没匹配上具体子类时使用），\n> 可参考任一合同子类范本（结构高度相似，只改第一条/第二条的具体内容即可）。"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-openclaw-office-doc\",\n  \"version\": \"7.9.4\",\n  \"publishedAt\": 1787489325794\n}"},{"path":"skill-card.md","content":"## Description:\n\nGenerates enterprise Word and PDF documents from markdown-style content across business formats, including contracts, reports, plans, API docs, deployment docs, resumes, quotes, and press releases.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhaobod1](https://clawhub.ai/user/zhaobod1)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nEmployees, external business users, and developers can use this skill to draft structured Chinese enterprise documents and convert markdown-style source content into Word or PDF deliverables. It is suited for contracts, project and operations reports, technical documentation, and administrative documents where format presets and company branding are useful.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The document generators can use local company metadata and may fall back to Odoo credentials when that path is enabled.\n\nMitigation: Use explicit --company-name and --logo-path values, or run with --no-odoo unless the credential flow and target Odoo instance have been reviewed.\n\nRisk: The bundled OpenClaw configuration generator can create persistent identity and memory files in the selected output directory.\n\nMitigation: Run it first against a temporary review directory and copy only approved files into an active OpenClaw workspace.\n\nRisk: Generated business, HR, security, or legal documents can be incomplete or incorrect if the prompt content or templates are not reviewed.\n\nMitigation: Require human review before using generated contracts, policies, incident materials, or customer-facing documents.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zhaobod1/skills/huo15-openclaw-office-doc)\n- [Publisher profile](https://clawhub.ai/user/zhaobod1)\n- [Template README](templates/README.md)\n- [OpenOffice PDF export reference](https://wiki.openoffice.org/wiki/API/Tutorials/PDF_export)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Files, Shell commands, Configuration]\n\n**Output Format:** [Markdown guidance with shell commands that can create .docx and .pdf files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Generated documents may depend on local company metadata, logo files, fonts, and optional conversion backends.]\n\n## Skill Version(s):\n\n7.9.4 (source: SKILL.md frontmatter and ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"templates/API文档.md","content":"# 辉火云开放平台 API 文档\n\n## 一、概述\n\n辉火云开放平台为合作伙伴提供 RESTful API，覆盖项目管理、CRM、联系人、报销四个核心模块。\n\n**Base URL**：`https://api.huo15.com/v1`\n**协议**：HTTPS\n**编码**：UTF-8\n**响应格式**：JSON\n\n---\n\n## 二、鉴权\n\n所有 API 调用需在 HTTP Header 携带：\n\n```\nAuthorization: Bearer <ACCESS_TOKEN>\nX-Huo15-Tenant: <租户ID>\n```\n\n`ACCESS_TOKEN` 通过 `/auth/token` 获取，有效期 2 小时；过期后调用 `/auth/refresh` 刷新。\n\n---\n\n## 三、通用响应格式\n\n```json\n{\n  \"code\": 0,\n  \"message\": \"ok\",\n  \"data\": { ... },\n  \"request_id\": \"req-xxxx-xxxx-xxxx\"\n}\n```\n\n`code = 0` 表示成功；非 0 表示失败，对应错误码见 §六。\n\n---\n\n## 四、项目管理接口\n\n### POST /projects\n\n**说明**：创建项目\n\n**请求体**：\n\n```json\n{\n  \"name\": \"辉火云 v19.0 升级\",\n  \"description\": \"大版本升级，含多模型路由 + Vue 3 迁移\",\n  \"owner_id\": \"user-001\",\n  \"start_date\": \"2026-05-01\",\n  \"end_date\": \"2026-10-15\",\n  \"tags\": [\"v19\", \"upgrade\"]\n}\n```\n\n**响应**：\n\n```json\n{\n  \"code\": 0,\n  \"data\": {\n    \"id\": \"proj-2026-001\",\n    \"name\": \"辉火云 v19.0 升级\",\n    \"status\": \"planning\",\n    \"created_at\": \"2026-04-27T10:30:00+08:00\"\n  }\n}\n```\n\n### GET /projects/{id}\n\n**说明**：查询项目详情\n\n**路径参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `id` | string | 项目 ID |\n\n**响应示例**：见 POST 返回。\n\n### PATCH /projects/{id}\n\n**说明**：更新项目（部分字段）\n\n### DELETE /projects/{id}\n\n**说明**：删除项目（软删除）\n\n---\n\n## 五、CRM 接口\n\n### POST /customers\n\n**说明**：创建客户\n\n**请求体**：\n\n```json\n{\n  \"name\": \"与境出行\",\n  \"contact\": \"张鹏\",\n  \"phone\": \"138-0000-0000\",\n  \"industry\": \"出行\",\n  \"tags\": [\"重点客户\", \"出境游\"]\n}\n```\n\n### GET /customers\n\n**说明**：客户列表（支持分页与筛选）\n\n**Query 参数**：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `page` | int | 页码，默认 1 |\n| `size` | int | 每页条数，默认 20，最大 100 |\n| `industry` | string | 行业筛选 |\n| `tag` | string | 标签筛选 |\n\n---\n\n## 六、错误码\n\n| code | 含义 | HTTP 状态 |\n|-----:|------|----------:|\n| 0 | 成功 | 200 |\n| 40001 | 参数缺失 | 400 |\n| 40002 | 参数格式错误 | 400 |\n| 40101 | 鉴权失败（token 无效）| 401 |\n| 40102 | token 过期 | 401 |\n| 40301 | 权限不足 | 403 |\n| 40401 | 资源不存在 | 404 |\n| 42901 | 调用频率超限 | 429 |\n| 50001 | 服务内部错误 | 500 |\n| 50002 | 第三方服务异常 | 502 |\n\n---\n\n## 七、限流\n\n- 默认限流：每租户 1000 次 / 分钟\n- 突发限流：5 秒内最多 50 次\n- 命中限流返回 `429`，`Retry-After` Header 给出重试间隔\n\n---\n\n## 八、变更日志\n\n| 版本 | 日期 | 变更 |\n|------|------|------|\n| v1.3 | 2026-04-27 | 新增 `/projects` 标签筛选 |\n| v1.2 | 2026-03-15 | `/customers` 增加分页 |\n| v1.1 | 2026-02-01 | 错误码体系重构 |\n| v1.0 | 2026-01-15 | 首发 |"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写方案、写报告、写需求文档、写PRD、写BP、写用户手册、写培训手册、写招投标书、写演讲稿、写研究报告、写验收单、写立项书、写SOP、写公司制度、写公函、写简历、写CV、写报价单、写新闻稿、写复盘、写测试报告、写故障报告、写postmortem、写任命书、写应急预案、写在职证明、写风险评估、写项目计划书、写项目结项报告、写API文档、写部署文档、写runbook、写备忘录、写MOU、Word转PDF。 Skill: huo15-openclaw-office-doc Owner: zhaobod1 Summary: 【青岛火一五信息科技有限公司】企业级 Word & PDF 文档生成 v7.9。39 类规范覆盖企业全场景：合同细分 7 类（劳动 / 服务 / 技术开发 / 销售 / 采购 / 保密NDA / 合作）+ HR / Sales / PR / PM / Ops / Tech / Legal / Reporting 各类文体。三条路径：Word 直出、原生 PDF 直出、Word→PDF。templates/ 下 22 份可拷贝改写的 markdown 范本。每种规范按真实场景决定是否带【内部】banner / 元数据表 / 版本史 / 审批 / TOC，CLI 可覆盖。触发词：写word、写文档、写PDF、写合同、写劳动合同、写服务合同、写技术开发合同、写销售合同、写采购合同、写NDA、写保密协议、写战略合作协议、写","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1354,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:03:04.394Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:03:04.394Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T05:01:38.045Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}