Skill: anyshare-aishu/expert-writing-asmcp (version 1.0.1)

--- name: expert-writing-asmcp description: 基于 AnyShare 的专家写作助手 - 上传项目文件到文档库，调用全文写作技能生成大纲文档，确认后基于大纲生成正文 version: 2.1.1 triggers: ["专家写作", "asmcp写作", "帮我写作", "基于资料写作"] --- > **安全与排障文档**（必读） > - 配置/Token 管理 → 本文件「🚀 首次配置」章节 > - 错误排查 → [references/troubleshooting.md](references/troubleshooting.md) > - 安全约束与审计 → [SECURITY.md](SECURITY.md) --- # Expert Writing ASMCP - 专家写作助手 基于 AnyShare ASMCP 的全文写作工具，采用「大纲 → 确认 → 正文」两阶段流程。 --- ## 🚀 首次配置 ### 术语说明 | 术语 | 含义 | |------|------| | Access Token | AnyShare 用户访问令牌，用于 API 身份认证 | | source_ranges | 写作引用的源文档范围，格式为 `[{"id":"短ID","type":"doc"}]` | | skill_name | 写作技能标识：`__全文写作__3`（大纲）、`__大纲写作__1`（正文） | ### Step 1: 配置 MCP 服务与 Token 本技能依赖 `anyshare-asmcp` MCP 服务，Token 须预先配置到 `~/.openclaw/workspace/config/mcporter.json`： ```json { "mcpServers": { "anyshare-asmcp": { "type": "Streamable", "url": "https://anyshare.aishu.cn/asmcp/", "headers": { "Authorization": "Bearer <your_token_here>" } } } } ``` 获取 Token：登录 AnyShare Web → 右上角头像 → MCP授权凭证 → 复制令牌。 ### Step 2: 验证连通性 ```bash mcporter call anyshare-asmcp.doc_lib_owned ``` 返回文档库列表即表示认证成功。 ### Step 3: 配置 OpenClaw 运行时超时（必须） 正文生成为长耗时调用，**必须**在 `~/.openclaw/config.toml` 中配置超时： ```toml [skills.entries.expert-writing-asmcp] env.MCPORTER_CALL_TIMEOUT = "300000" # 5 分钟，毫秒 ``` 或使用 `gateway config.patch`： ```json { "skills": { "entries": { "expert-writing-asmcp": { "env": { "MCPORTER_CALL_TIMEOUT": "300000" } } } } } ``` --- --- ## ⚠️ 核心流程约束 ### 大纲确认规则 | 场景 | 处理方式 | |-----|---------| | 用户确认大纲 | 进入生成正文阶段 | | 用户要求修改大纲 | 1. 修改大纲内容 2. 保存为"大纲v2.md" 3. 展示给用户确认 4. **等待用户明确确认** 5. 才能写正文 | | 用户说"可以了"/"没问题" | 必须用户说"确认，开始写正文"才算确认 | | **5分钟无响应** | **自动进入写正文环节**（不再等待） | ### 关键原则 1. **大纲确认后才能写正文** - 必须得到用户明确回复"确认，开始写正文" 2. **修改大纲必须重新确认** - 任何大纲调整都需要新版大纲+用户确认 3. **大纲微调≠重新生成** - 只修改用户要求的内容，其他章节保持不变 4. **超时自动执行** - 展示大纲后等待5分钟，如用户无操作则自动进入写正文 --- ## ⚠️ 关键经验总结（2026-05-08 更新） ### 1. 正文生成技能区分 | 任务 | 技能 | times | 说明 | |-----|------|-------|------| | 生成大纲 | `__全文写作__3` | `times=0` | 基于模板生成章节结构 | | 生成正文 | `__大纲写作__1` | `times=1` | 基于大纲生成完整正文内容 | **重要**：生成正文必须用 `__大纲写作__1` + `times=1`，不要用 `__全文写作__3`（它会把正文需求也输出成提纲"本节将..."格式） ### 2. 超时问题 - **默认超时**：mcporter 默认 60000ms（60秒），完整正文生成会超时 - **解决方案**：调用时必须加 `--timeout 180000`（180秒）或设置环境变量 `MCPORTER_CALL_TIMEOUT=300000` - 示例：`mcporter call ... --timeout 180000` ### 3. source_ranges JSON 格式 - 格式必须严格为：`[{"id":"短ID","type":"doc"}]` - 如果 JSON 格式不正确，会报错：`cannot unmarshal string into Go struct` - 建议使用 Python 脚本构建参数，避免 shell 转义问题 ### 4. selection 传大纲内容 - 生成正文时，`selection` 参数传入大纲完整内容 - 大纲内容较长时，建议通过文件读取后传递给脚本（避免 shell 特殊字符冲突） ### 5. 建议的 Python 脚本方式 复杂参数（大纲内容、超长 query）建议用 Python 构建脚本，避免 shell 转义问题： ```bash # 保存大纲内容到文件 python3 -c "import json; print(json.load(open('/tmp/template_outline.json')).get('document_content',''))" > /tmp/selection.txt # 通过文件传递 nohup bash -c 'mcporter call ... selection:"$(cat /tmp/selection.txt)" skill_name:__大纲写作__1 times:1 --timeout 180000' & ``` --- ## 使用流程 ``` 用户：帮我写个技术总结，基于这些项目资料 ↓ 系统：请上传项目文件或提供文件路径 ↓ 用户：[上传文件：技术方案.docx, 会议纪要.pdf] ↓ 系统：📤 上传中... ⏳ 等待索引... ✅ 完成 ↓ 系统：📄 获取内置写作模板... ↓ 系统：🔍 正在生成大纲文档... ↓ 系统： ┌─────────────────────────────────────┐ │ 📄 大纲已生成并保存 │ │ 位置：文档库/写作成果/ │ │ 2025-04-22/技术总结/ │ │ 大纲.md │ │ │ │ 内容预览： │ │ 1. 项目背景 │ │ 2. 技术方案概述 │ │ 3. 实施过程 │ │ 4. 成果与总结 │ └─────────────────────────────────────┘ 请确认大纲，如需修改请告诉我 ↓ 用户：确认，开始生成正文 ← 5分钟内确认 ↓ 或：5分钟后无响应 → 自动进入写正文 ↓ 系统：✍️ 正在基于大纲生成正文（使用 __大纲写作__1 + times:1）... ↓ 系统： ✅ 写作完成 📄 大纲：写作成果/2025-04-22/技术总结/大纲.md 📄 正文：写作成果/2025-04-22/技术总结/正文.md 📁 原文：写作成果/2025-04-22/技术总结/参考资料/ 🔗 分享链接：https://anyshare.aishu.cn/link/xxx ``` --- ## 模板配置 技能支持两种大纲生成方式： | 优先级 | 模板类型 | 来源 | 说明 | |-------|---------|------|------| | **优先** | 内置模板 | API 获取 | 调用 `__全文写作__3` 内置模板接口，基于模板结构生成大纲 | | **备用** | 无模板 | 直接生成 | 直接基于项目资料和query生成大纲 | ### 方式一：API 获取内置模板（推荐） ```bash # 获取内置全文写作模板 curl -s -X GET \ "https://anyshare.aishu.cn/api/intelli-search/v1/skills/templates/default?skill_name=__全文写作__3" \ -H "authorization: $ACCESS_TOKEN" \ -H "content-type: application/json" > /tmp/template_response.json TEMPLATE_CONTENT=$(python3 -c "import json; print(json.load(open('/tmp/template_response.json')).get('template',''))") if [ -z "$TEMPLATE_CONTENT" ]; then echo "⚠️ API获取模板失败，使用直接生成方式" else echo "✅ 使用内置模板（API获取），${#TEMPLATE_CONTENT} 字符" fi ``` --- ## 📋 写作场景模板 技能内置了 9 种专业写作场景模板，涵盖常用写作需求。 ### 模板列表 | 编号 | 模板名称 | 适用场景 | 核心章节 | |-----|---------|---------|---------| | 1 | 可行性研究报告 | 项目立项、技术改造 | 项目概述、市场分析、技术方案、投资估算、效益分析、风险分析 | | 2 | 项目建议书 | 立项申请、审批汇报 | 项目概况、必要性分析、建设方案、投资估算、效益分析 | | 3 | 商业计划书 | 创业融资、商务合作 | 执行摘要、市场分析、商业模式、财务预测、融资计划 | | 4 | 技术方案 | 实施方案、技术评审 | 需求分析、总体设计、详细设计、实施计划、风险分析 | | 5 | 项目总结报告 | 项目复盘、经验沉淀 | 项目概述、实施过程、成果交付、经验教训、后续建议 | | 6 | 市场调研报告 | 市场分析、行业研究 | 市场概况、竞争分析、用户分析、市场趋势、结论建议 | | 7 | 产品介绍文档 | 产品宣传、方案展示 | 产品概述、功能介绍、应用场景、技术优势、案例展示 | | 8 | 年度工作报告 | 部门总结、年度汇报 | 年度概述、重点工作、业绩成果、问题分析、下年计划 | | 9 | 解决方案 | 投标文件、客户方案 | 需求理解、方案设计、产品介绍、实施保障、服务保障 | ### 如何使用模板 **方式一：用户选择模板** 用户在写作时指定模板名称（如"用商业计划书写"），技能自动调用对应模板结构生成大纲。 **方式二：用户描述场景，技能自动匹配** - 用户说"帮我写个融资用的计划书" → 自动匹配【商业计划书】 - 用户说"写个项目立项报告" → 自动匹配【项目建议书】 - 用户说"做个市场调研" → 自动匹配【市场调研报告】 ### 模板匹配逻辑（内置于技能 prompt） ``` 当用户提到以下关键词时，自动匹配对应模板： - "融资" / "商业计划" / "BP" → 商业计划书 - "项目立项" / "项目建议" / "可研" → 可行性研究报告 或 项目建议书 - "技术方案" / "实施方案" / "技术设计" → 技术方案 - "项目总结" / "复盘" / "总结报告" → 项目总结报告 - "市场调研" / "行业分析" / "调研报告" → 市场调研报告 - "产品介绍" / "产品宣传" / "产品手册" → 产品介绍文档 - "年度总结" / "年度报告" / "年度汇报" → 年度工作报告 - "投标" / "解决方案" / "客户方案" → 解决方案 - 默认 → 可行性研究报告 ``` ### 模板结构文件 详细模板结构定义保存在： ``` templates/ ├── README.md # 模板分类索引 ├── 文档类/ # 项目立项类文档 │ ├── 01_可行性研究报告.md │ ├── 02_项目建议书.md │ └── 03_商业计划书.md ├── 报告类/ # 总结汇报类文档 │ ├── 04_项目总结报告.md │ ├── 05_年度工作报告.md │ └── 06_市场调研报告.md └── 方案类/ # 技术/商务方案 ├── 07_技术方案.md ├── 08_产品介绍文档.md └── 09_解决方案.md ``` 包含 9 种模板的完整章节结构，每种模板独立文件方便维护。 --- ## 目录结构设计 ``` 文档库/ ├── 写作成果/ ← 主目录（复用已存在的） │ └── 2025-04-22/ ← 日期目录（每天新建） │ └── 项目名称/ ← 项目专属目录 │ ├── 参考资料/ ← 上传的原始文件 │ │ ├── 技术方案.docx │ │ └── 会议纪要.pdf │ ├── 大纲.md ← 生成的大纲 │ └── 正文.md ← 生成的正文 └── ... ``` --- ## MCP Tool 调用详解 ### 1. smart_assistant (大纲生成: __全文写作__3 / 正文生成: __大纲写作__1) **用途**： - 调用 `__全文写作__3`（times=0）生成大纲 - 调用 `__大纲写作__1`（times=1）生成完整正文 **⚠️ 正文生成必须加 --timeout**：默认 60 秒会超时，必须加 `--timeout 180000` ```bash # 生成大纲 (times=0) - 使用 __全文写作__3 mcporter call anyshare-asmcp.smart_assistant \ bot_id:smart_assistant \ query:"写作主题：项目可行性研究报告" \ skill_name:__全文写作__3 \ source_ranges:"[{\"id\":\"短ID\",\"type\":\"doc\"}]" \ times:0 # 生成正文 (times=1, selection=大纲) - 使用 __大纲写作__1（必须加 --timeout） SHORT_ID=$(cat /tmp/verify_short_id.txt) OUTLINE=$(python3 -c "import json; print(json.load(open('/tmp/template_outline.json')).get('document_content',''))") nohup mcporter call anyshare-asmcp.smart_assistant \ bot_id:smart_assistant \ query:"基于以下大纲，撰写完整的可行性研究报告正文内容" \ selection:"$OUTLINE" \ skill_name:__大纲写作__1 \ source_ranges:"[{\"id\":\"$SHORT_ID\",\"type\":\"doc\"}]" \ times:1 \ --timeout 180000 > /tmp/writing_result.json 2>&1 & ``` **参数说明**： | 参数 | 类型 | 必填 | 说明 | |-----|------|-----|-----| | bot_id | string | 是 | 固定值 "smart_assistant" | | query | string | 是 | 查询文本 | | skill_name | string | 是 | 大纲用 `__全文写作__3`，正文用 `__大纲写作__1` | | source_ranges | string | 是 | 文件ID列表，格式: `[{"id":"xxx","type":"doc"}]` | | selection | string | 生成正文时 | 传入大纲完整内容 | | times | int | 是 | 0=大纲，1=正文 | **返回结构**： ```json { "code": 0, "document_content": "生成的完整内容...", "status": "completed" } ``` **注意**：从 `document_content` 字段获取生成的内容 --- ### 2. folder_sub_objects (目录复用检查) **用途**：列出目录内容，检查是否已存在同名目录 ```bash mcporter call anyshare-asmcp.folder_sub_objects \ access_token="$ACCESS_TOKEN" \ id="$PARENT_GNS" \ limit=100 ``` **返回**： ```json { "dirs": [ {"name": "写作成果", "id": "gns://xxx/yyy"} ], "files": [...] } ``` --- ### 3. dir_create (创建目录) ```bash mcporter call anyshare-asmcp.dir_create \ access_token="$ACCESS_TOKEN" \ docid="$PARENT_GNS" \ name="目录名" ``` --- ### 4. file_osbeginupload / file_osendupload (上传文件) ```bash # 开始上传 UPLOAD=$(mcporter call anyshare-asmcp.file_osbeginupload \ access_token="$ACCESS_TOKEN" \ docid="$TARGET_DIR" \ name="文件名.docx" \ length=12345) # 提取凭证 URL=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][1])") AUTH=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][2])") DATE=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][4])") DOCID=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['docid'])") REV=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['rev'])") # 上传文件 curl -X PUT -H "$AUTH" -H "Content-Type: application/octet-stream" -H "$DATE" \ --data-binary @"文件路径" "$URL" # 确认上传 mcporter call anyshare-asmcp.file_osendupload \ access_token="$ACCESS_TOKEN" \ docid="$DOCID" \ rev="$REV" ``` --- ### 5. file_sharedlink_realname_create (生成分享链接) **注意**：item.id 需要使用完整的 GNS 路径，不能只使用短 ID ```bash mcporter call anyshare-asmcp.file_sharedlink_realname_create \ access_token="$ACCESS_TOKEN" \ item="{\"id\":\"完整GNS路径\",\"type\":\"file\"}" ``` **返回**： ```json { "code": 0, "link_url": "https://anyshare.aishu.cn/link/xxx", "id": "xxx" } ``` --- ## 完整执行示例 ### Phase 0: 配置 ```bash ACCESS_TOKEN="$ACCESS_TOKEN" # 从 mcporter 配置读取，禁止硬编码 # 使用指定的文档库 DOC_LIB_GNS="gns://743EFFF4E4B341E8A14DE5B375401365" ``` ### Phase 1: 创建目录 ```bash # 检查并复用"写作成果"目录 echo "📁 检查写作成果目录..." LIST=$(mcporter call anyshare-asmcp.folder_sub_objects \ access_token="$ACCESS_TOKEN" \ id="$DOC_LIB_GNS" limit:100) # 检查是否存在 WRITING_DIR=$(echo "$LIST" | python3 -c " import sys,json data=json.load(sys.stdin) for d in data.get('dirs',[]): if d.get('name')=='写作成果': print(d.get('id','')) break ") if [ -z "$WRITING_DIR" ]; then echo "🆕 创建写作成果目录..." RESULT=$(mcporter call anyshare-asmcp.dir_create \ access_token="$ACCESS_TOKEN" \ docid="$DOC_LIB_GNS" name="写作成果") WRITING_DIR=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('docid',''))") else echo "📁 复用已有目录: $WRITING_DIR" fi # 创建日期目录（复用已存在的） TODAY=$(date +%Y-%m-%d) DATE_LIST=$(mcporter call anyshare-asmcp.folder_sub_objects \ access_token="$ACCESS_TOKEN" \ id="$WRITING_DIR" limit:100) DATE_DIR=$(echo "$DATE_LIST" | python3 -c " import sys,json data=json.load(sys.stdin) for d in data.get('dirs',[]): if d.get('name')=='$TODAY': print(d.get('id','')) break ") if [ -z "$DATE_DIR" ]; then echo "🆕 创建日期目录: $TODAY" DATE_RESULT=$(mcporter call anyshare-asmcp.dir_create \ access_token="$ACCESS_TOKEN" docid="$WRITING_DIR" name="$TODAY") DATE_DIR=$(echo "$DATE_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('docid',''))") else echo "📁 复用已有日期目录: $TODAY" fi # 创建项目目录 PROJECT_NAME="技术总结" PROJECT_RESULT=$(mcporter call anyshare-asmcp.dir_create \ access_token="$ACCESS_TOKEN" docid="$DATE_DIR" name="$PROJECT_NAME") PROJECT_DIR=$(echo "$PROJECT_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('docid',''))") # 创建参考资料目录 REF_RESULT=$(mcporter call anyshare-asmcp.dir_create \ access_token="$ACCESS_TOKEN" docid="$PROJECT_DIR" name="参考资料") REF_DIR=$(echo "$REF_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('docid',''))") echo "✅ 目录创建完成: $PROJECT_DIR" ``` ### Phase 2: 上传文件 ```bash echo "📤 上传参考文件..." for FILE in 技术方案.docx 会议纪要.pdf; do SIZE=$(stat -f%z "$FILE") # 获取上传凭证 UPLOAD=$(mcporter call anyshare-asmcp.file_osbeginupload \ access_token="$ACCESS_TOKEN" \ docid="$REF_DIR" name="$FILE" length=$SIZE) URL=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][1])") AUTH=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][2])") DATE=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][4])") DOCID=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['docid'])") REV=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['rev'])") # 上传 curl -X PUT -H "$AUTH" -H "Content-Type: application/octet-stream" -H "$DATE" \ --data-binary @"$FILE" "$URL" # 确认 mcporter call anyshare-asmcp.file_osendupload \ access_token="$ACCESS_TOKEN" docid="$DOCID" rev="$REV" # 收集短ID SHORT_ID=$(echo "$DOCID" | awk -F'/' '{print $NF}') echo "✅ 上传完成: $FILE -> $SHORT_ID" done # 构建 source_ranges SOURCE_RANGES="[{\"id\":\"$SHORT_ID1\",\"type\":\"doc\"},{\"id\":\"$SHORT_ID2\",\"type\":\"doc\"}]" # 等待索引（建议等待30秒以上） echo "⏳ 等待文件索引..." sleep 30 ``` ### Phase 3: 生成大纲 ```bash echo "📄 获取内置写作模板..." curl -s -X GET \ "https://anyshare.aishu.cn/api/intelli-search/v1/skills/templates/default?skill_name=__全文写作__3" \ -H "authorization: $ACCESS_TOKEN" \ -H "content-type: application/json" > /tmp/template_response.json TEMPLATE_CONTENT=$(python3 -c "import json; print(json.load(open('/tmp/template_response.json')).get('template',''))") if [ -z "$TEMPLATE_CONTENT" ]; then echo "⚠️ API获取模板失败，使用直接生成方式" TEMPLATE_CONTENT="" fi echo "🔍 生成大纲（基于内置模板）..." # 使用 Python 构建 query（避免 shell 转义问题） python3 << PYEOF import json template_content = """${TEMPLATE_CONTENT}""" query = f"""基于以下内置模板的结构格式，为项目撰写一份可行性研究报告大纲。 模板结构参考： {template_content} 要求： 1. 参考模板的层级结构格式（一级标题、二级标题、表格等） 2. 内容替换为项目的可行性研究报告章节 3. 章节要专业、完整，体现可行性研究报告的标准结构 4. 可以包含项目概述、市场分析、建设方案、技术方案、投资估算、效益分析、风险分析等核心章节""" with open('/tmp/writing_query.txt', 'w', encoding='utf-8') as f: json.dump({"query": query}, f, ensure_ascii=False) PYEOF QUERY=$(python3 -c "import json; print(json.load(open('/tmp/writing_query.txt'))['query'])") OUTLINE_RESULT=$(mcporter call anyshare-asmcp.smart_assistant \ access_token="$ACCESS_TOKEN" \ bot_id="smart_assistant" \ query="$QUERY" \ skill_name="__全文写作__3" \ source_ranges="$SOURCE_RANGES" \ times=0) # 提取内容 OUTLINE_CONTENT=$(echo "$OUTLINE_RESULT" | python3 -c " import sys,json data=json.load(sys.stdin) print(data.get('document_content','')) ") if [ -z "$OUTLINE_CONTENT" ]; then echo "❌ 获取大纲失败" exit 1 fi # 保存大纲 OUTLINE_MD="# 技术总结大纲 ${OUTLINE_CONTENT} --- *由 OpenClaw 写作助手生成*" echo "$OUTLINE_MD" > /tmp/大纲.md SIZE=$(stat -f%z /tmp/大纲.md) # 上传大纲 UPLOAD=$(mcporter call anyshare-asmcp.file_osbeginupload \ access_token="$ACCESS_TOKEN" docid="$PROJECT_DIR" name="大纲.md" length=$SIZE) URL=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][1])") AUTH=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][2])") DATE=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][4])") curl -X PUT -H "$AUTH" -H "Content-Type: application/octet-stream" -H "$DATE" \ --data-binary @/tmp/大纲.md "$URL" mcporter call anyshare-asmcp.file_osendupload \ access_token="$ACCESS_TOKEN" \ docid="$(echo "$UPLOAD" | python3 -c 'import sys,json; print(json.load(sys.stdin)["docid"])')" \ rev="$(echo "$UPLOAD" | python3 -c 'import sys,json; print(json.load(sys.stdin)["rev"])')" echo "✅ 大纲已保存" ``` ### Phase 4: 展示大纲等待确认 ```bash echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "📋 大纲内容预览" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "$OUTLINE_CONTENT" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "请确认大纲，如需修改请告诉我" echo "确认后请说：确认，开始写正文" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━" ``` ### Phase 5: 生成正文（用户确认后执行） ```bash echo "✍️ 生成正文（使用 __大纲写作__1 + times:1，约2-4分钟）..." SHORT_ID=$(cat /tmp/verify_short_id.txt) # 大纲内容通过文件传递（避免shell转义问题） python3 -c "import json; print(json.load(open('/tmp/template_outline.json')).get('document_content',''))" > /tmp/selection.txt # 后台执行，避免60秒超时 nohup mcporter call anyshare-asmcp.smart_assistant \ access_token="$ACCESS_TOKEN" \ bot_id:smart_assistant \ query:"基于以下大纲，撰写完整的可行性研究报告正文内容" \ selection:"$(cat /tmp/selection.txt)" \ skill_name:__大纲写作__1 \ source_ranges:"[{\"id\":\"$SHORT_ID\",\"type\":\"doc\"}]" \ times:1 \ --timeout 180000 > /tmp/writing_result.json 2>&1 & # 等待生成完成 echo "⏳ 等待正文生成（约2-4分钟）..." sleep 150 # 提取内容 DOC_CONTENT=$(python3 -c " import json data=json.load(open('/tmp/writing_result.json')) print(data.get('document_content','')) ") if [ -z "$DOC_CONTENT" ]; then echo "❌ 正文生成失败，请检查 /tmp/writing_result.json" exit 1 fi # 保存正文 DOC_MD="# 技术总结 \${DOC_CONTENT} --- *由 OpenClaw 写作助手生成*" echo "$DOC_MD" > /tmp/正文.md SIZE=$(stat -f%z /tmp/正文.md) # 上传正文 UPLOAD=$(mcporter call anyshare-asmcp.file_osbeginupload \ access_token="$ACCESS_TOKEN" docid="$PROJECT_DIR" name="正文.md" length=$SIZE) URL=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][1])") AUTH=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][2])") DATE=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['authrequest'][4])") FULL_GNS=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['docid'])") curl -X PUT -H "$AUTH" -H "Content-Type: application/octet-stream" -H "$DATE" \ --data-binary @/tmp/正文.md "$URL" mcporter call anyshare-asmcp.file_osendupload \ access_token="$ACCESS_TOKEN" \ docid="$FULL_GNS" \ rev="$(echo "$UPLOAD" | python3 -c 'import sys,json; print(json.load(sys.stdin)["rev"])'") echo "✅ 正文已保存" ``` ### Phase 6: 生成分享链接 ```bash echo "🔗 生成分享链接..." SHARE_RESULT=$(mcporter call anyshare-asmcp.file_sharedlink_realname_create \ access_token="$ACCESS_TOKEN" \ item="{\"id\":\"$FULL_GNS\",\"type\":\"file\"}") SHARE_URL=$(echo "$SHARE_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('link_url',''))") echo "分享链接: $SHARE_URL" ``` --- ## 输出结果 ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ 写作完成 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📁 位置：写作成果/2025-04-22/技术总结/ 📄 大纲：大纲.md 📄 正文：正文.md 📁 原文：参考资料/ 🔗 分享：https://anyshare.aishu.cn/link/xxx ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` --- ## 依赖 - **MCP**: `anyshare-asmcp` - **Tools**: - `doc_lib_owned` - 获取文档库 - `folder_sub_objects` - 检查目录复用 - `dir_create` - 创建目录 - `file_osbeginupload/endupload` - 文件上传 - `smart_assistant` - 大纲/正文生成 - `file_sharedlink_realname_create` - 分享链接 --- *版本：2.0.0*

path: SECURITY.md
content: # 安全审计清单

## 敏感信息分类

| 信息类型 | 示例 | 风险等级 | 处理方式 |
|---------|------|---------|---------|
| Access Token | `ory_at_xxx...` | 🔴 高 | 仅存 mcporter 配置，禁止硬编码 |
| 文档库 GNS | `gns://FC1B4FE2...` | 🟡 中 | 可公开，不含内容 |
| 用户上传的参考资料 | 项目文档/报告等 | 🔴 高 | 仅在全文写作流程中使用，不外传 |
| AI 生成内容 | 大纲/正文 | 🟡 中 | 保存到用户指定目录，不公开发布 |

---

## 必须遵守

### ✅ Token 管理
- Access Token **必须**通过 `~/.openclaw/workspace/config/mcporter.json` 配置
- SKILL.md 示例中只允许出现变量名 `$ACCESS_TOKEN`，禁止出现真实 Token
- Token 失效时：更新 mcporter.json → `mcporter daemon restart`

### ✅ 文件操作
- 只能操作用户明确提供的文件或 AnyShare 文档库中已有文件
- 上传文件前须确认目标目录 docid
- 下载文件须用户明确确认

### ✅ 内容处理
- AI 生成的大纲和正文仅保存到用户指定目录
- 错误信息中如涉及文件路径，自动脱敏

---

## 禁止行为

### ❌ 禁止在 SKILL.md 中硬编码 Token
```bash
# 错误
ACCESS_TOKEN="ory_at_9PsLHqgc..."

# 正确：mcporter call 时通过参数传递
mcporter call anyshare-asmcp.file_osbeginupload access_token:"$ACCESS_TOKEN" ...
```

### ❌ 禁止在日志中打印 Token
- mcporter call 工具自动注入 Token，不在 stdout 打印

### ❌ 禁止在未确认前自动执行写正文
- 大纲未经用户确认，不得调用 `__大纲写作__1`
- 批量/定时场景下，如无法等待用户确认，应跳过或标记待确认

---

## 公开发布前检查

- [ ] SKILL.md 中无真实 Access Token
- [ ] 所有 Token 引用均为变量形式
- [ ] workflow/main.yaml 已删除
- [ ] 示例路径为通用路径
- [ ] 模板文件内容不包含业务敏感信息


path: templates/README.md
content: # 模板分类索引

本文档定义了 `expert-writing-asmcp` 技能支持的写作模板分类结构。

---

## 📁 目录结构

```
templates/
├── README.md                    # 本文件 - 分类索引
├── 文档类/                      # 项目立项类文档
│   ├── 01_可行性研究报告.md
│   ├── 02_项目建议书.md
│   └── 03_商业计划书.md
├── 报告类/                      # 总结汇报类文档
│   ├── 04_项目总结报告.md
│   ├── 05_年度工作报告.md
│   └── 06_市场调研报告.md
└── 方案类/                      # 技术/商务方案
    ├── 07_技术方案.md
    ├── 08_产品介绍文档.md
    └── 09_解决方案.md
```

---

## 🔑 模板匹配关键词

| 模板 | 关键词 | 触发场景 |
|-----|-------|---------|
| 可行性研究报告 | 可研,可行性研究,立项分析 | 项目立项、技术改造 |
| 项目建议书 | 项目建议书,立项申请,项目申请 | 立项申请、审批汇报 |
| 商业计划书 | 商业计划,BP,融资计划,商业提案 | 创业融资、商务合作 |
| 项目总结报告 | 总结,复盘,项目复盘,项目回顾 | 项目复盘、经验沉淀 |
| 年度工作报告 | 年度总结,年度报告,年终总结 | 部门总结、年度汇报 |
| 市场调研报告 | 调研,市场分析,行业研究,调查报告 | 市场分析、行业研究 |
| 技术方案 | 技术方案,实施方案,技术设计 | 实施方案、技术评审 |
| 产品介绍文档 | 产品介绍,产品手册,产品宣传 | 产品宣传、方案展示 |
| 解决方案 | 解决方案,投标,客户方案,标书 | 投标文件、客户方案 |

---

## 📝 模板使用方式

技能在生成大纲时，会根据用户指定的模板名称或描述的场景，自动读取对应模板文件获取章节结构。

用户可通过以下方式指定模板：
- 直接说模板名称：`"用商业计划书写"`
- 描述场景：`"写个融资用的计划书"` → 自动匹配商业计划书
- 不指定 → 默认使用【可行性研究报告】

---

*版本：2.1.0*

path: templates/报告类/05_年度工作报告.md
content: # 年度工作报告

适用于部门或个人的年度工作复盘总结，全面展示年度工作成果。

---

## 模板结构

### 一、年度工作概述

#### 1.1 年度目标
- 总体目标
- 分解目标（按季度/按业务线）
- 关键绩效指标（KPI）

#### 1.2 实际完成情况
- 目标达成率
- 核心指标完成度
- 偏差概述

#### 1.3 目标达成率
| 指标 | 年初目标 | 实际完成 | 达成率 | 备注 |
|-----|---------|---------|-------|-----|
| | | | | |
| | | | | |

---

### 二、重点工作回顾

#### 2.1 工作一
- 背景与目标
- 主要举措
- 成果与亮点
- 数据支撑

#### 2.2 工作二
- 背景与目标
- 主要举措
- 成果与亮点
- 数据支撑

#### 2.3 工作三
- 背景与目标
- 主要举措
- 成果与亮点
- 数据支撑

---

### 三、业绩与成果

#### 3.1 业务成果
- 核心业务指标
- 市场拓展成果
- 客户反馈

#### 3.2 关键数据
| 数据类别 | 指标 | 数值 | 同比变化 |
|---------|-----|-----|---------|
| 收入 | | | |
| 利润 | | | |
| 客户数 | | | |
| 项目数 | | | |

#### 3.3 创新亮点
- 业务创新
- 管理创新
- 技术创新
- 获得的荣誉/奖项

---

### 四、团队建设

#### 4.1 人员情况
- 团队规模
- 人员结构
- 岗位配置

#### 4.2 能力提升
- 培训计划与实施
- 人才培养
- 技能提升

#### 4.3 文化建设
- 团队氛围
- 文化活动
- 凝聚力建设

---

### 五、存在的问题

#### 5.1 内部问题
- 问题一
- 问题二
- 问题三

#### 5.2 外部挑战
- 市场挑战
- 政策变化
- 竞争压力

#### 5.3 问题根因分析
| 问题 | 根本原因 | 影响程度 | 紧迫性 |
|-----|---------|---------|-------|
| | | | |

---

### 六、下年度计划

#### 6.1 目标与规划
- 总体目标
- 关键指标规划
- 目标分解

#### 6.2 重点举措
| 重点举措 | 目标 | 关键行动 | 里程碑 | 负责 |
|---------|-----|---------|-------|-----|
| | | | | |

#### 6.3 资源需求
- 人员需求
- 预算需求
- 资源缺口

---

### 七、建议与展望

#### 7.1 对公司的建议
- 业务发展建议
- 管理改进建议

#### 7.2 展望
- 发展趋势判断
- 机会与挑战
- 个人/团队成长展望

---

*模板版本：2.1.0*

path: templates/报告类/04_项目总结报告.md
content: # 项目总结报告

适用于项目完成后复盘总结，沉淀经验教训，为后续项目提供参考。

---

## 模板结构

### 一、项目概述

#### 1.1 项目背景
- 项目发起原因
- 项目目标
- 项目定位

#### 1.2 项目目标
- 总体目标
- 关键成果指标（KPI）
- 预期效果

#### 1.3 关键成果
- 核心交付物
- 目标达成情况
- 主要亮点

---

### 二、项目实施过程

#### 2.1 实施阶段划分
| 阶段 | 时间 | 主要工作 | 里程碑 |
|-----|------|---------|-------|
| 启动阶段 | | | |
| 规划阶段 | | | |
| 执行阶段 | | | |
| 收尾阶段 | | | |

#### 2.2 关键里程碑
- 里程碑清单
- 完成情况
- 偏差分析

#### 2.3 主要工作内容
- 按阶段列出主要工作
- 重点工作说明
- 变更管理

---

### 三、成果与交付

#### 3.1 主要成果
- 成果清单
- 成果描述
- 创新点

#### 3.2 交付物清单
| 交付物 | 规格要求 | 实际交付 | 状态 |
|-------|---------|---------|------|
| | | | |
| | | | |

#### 3.3 质量评估
- 质量标准
- 验收情况
- 质量指标达成

---

### 四、经验与教训

#### 4.1 成功经验
- 有效的工作方法
- 成功的关键因素
- 可复用的经验

#### 4.2 教训与反思
- 存在的问题
- 原因分析
- 改进方向

#### 4.3 问题与改进
| 问题描述 | 影响程度 | 原因 | 改进措施 | 效果 |
|---------|---------|-----|---------|-----|
| | | | | |

---

### 五、资源消耗

#### 5.1 预算执行
| 预算项 | 预算金额 | 实际支出 | 偏差 | 原因 |
|-------|---------|---------|-----|-----|
| | | | | |

#### 5.2 人员投入
- 投入人次
- 人均投入
- 人员变化及原因

#### 5.3 时间进度
- 计划工期
- 实际工期
- 偏差原因
- 工期保障措施

---

### 六、团队协作

#### 6.1 协作模式
- 组织架构
- 角色分工
- 协作方式

#### 6.2 沟通机制
- 例会制度
- 汇报机制
- 问题升级流程

#### 6.3 改进建议
- 流程优化建议
- 工具改进建议
- 团队建设建议

---

### 七、后续建议

#### 7.1 推广计划
- 成果应用场景
- 推广范围
- 推广计划

#### 7.2 持续优化
- 运维安排
- 迭代计划
- 优化方向

#### 7.3 遗留事项
| 事项 | 处理方案 | 负责方 | 完成时间 |
|-----|---------|-------|---------|
| | | | |

---

*模板版本：2.1.0*

path: templates/报告类/06_市场调研报告.md
content: # 市场调研报告

适用于市场分析和行业研究，为决策提供市场依据。

---

## 模板结构

### 一、调研背景与目的

#### 1.1 调研背景
- 调研发起原因
- 行业/市场背景
- 调研必要性

#### 1.2 调研目的
- 主要目的
- 次要目的
- 预期成果

#### 1.3 调研范围
- 地域范围
- 行业范围
- 目标群体

---

### 二、调研方法

#### 2.1 数据来源
| 数据类型 | 来源 | 可靠性 | 说明 |
|---------|-----|-------|-----|
| 一手数据 | | | |
| 二手数据 | | | |

#### 2.2 调研方式
- 定量调研（问卷调查等）
- 定性调研（访谈、焦点小组等）
- 案头研究

#### 2.3 样本说明
- 样本量
- 抽样方法
- 样本分布
- 置信度

---

### 三、市场概况

#### 3.1 行业概述
- 行业发展历程
- 行业地位
- 行业特征

#### 3.2 市场规模
- 行业整体规模
- 细分市场规模
- 市场容量

#### 3.3 市场结构
- 产业链结构
- 价值链分布
- 竞争层级

---

### 四、竞争分析

#### 4.1 竞争格局
- 市场集中度
- 主要竞争者数量
- 竞争态势

#### 4.2 主要竞争者
| 竞争者 | 市场份额 | 核心优势 | 主要产品 | 商业模式 |
|-------|---------|---------|---------|---------|
| | | | | |
| | | | | |

#### 4.3 竞争优势分析
- 竞争优势来源
- 竞争壁垒
- 进入门槛

---

### 五、用户分析

#### 5.1 用户画像
- 目标用户特征
- 用户画像描述
- 典型用户案例

#### 5.2 需求特征
- 核心需求
- 次要需求
- 潜在需求
- 需求优先级

#### 5.3 消费行为
- 购买决策流程
- 影响因素
- 购买频次
- 价格敏感度

---

### 六、市场趋势

#### 6.1 行业发展趋势
- 技术趋势
- 模式趋势
- 政策趋势

#### 6.2 技术发展趋势
- 新兴技术
- 技术替代
- 技术成熟度

#### 6.3 政策环境影响
-有利政策
- 限制政策
- 政策预测

---

### 七、机会与风险

#### 7.1 市场机会
| 机会点 | 机会描述 | 潜力评估 | 可行性 |
|-------|---------|---------|-------|
| | | | |

#### 7.2 潜在风险
| 风险点 | 风险描述 | 影响程度 | 发生概率 |
|-------|---------|---------|---------|
| | | | |

---

### 八、结论与建议

#### 8.1 主要结论
- 市场结论
- 竞争结论
- 用户结论

#### 8.2 战略建议
- 市场进入建议
- 产品策略建议
- 竞争策略建议

#### 8.3 行动计划
| 行动项 | 目标 | 时间 | 资源 | 负责人 |
|-------|-----|-----|-----|-------|
| | | | | |

---

*模板版本：2.1.0*

path: templates/方案类/08_产品介绍文档.md
content: # 产品介绍文档

适用于产品宣传和方案展示，全面展示产品价值和优势。

---

## 模板结构

### 一、产品概述

#### 1.1 产品定位
- 产品定位
- 目标用户
- 应用场景

#### 1.2 核心价值
- 解决什么问题
- 带来什么价值
- 差异化优势

#### 1.3 适用场景
| 场景 | 场景描述 | 解决问题 | 客户案例 |
|-----|---------|---------|---------|
| | | | |

---

### 二、产品功能

#### 2.1 主要功能模块
| 功能模块 | 功能名称 | 功能描述 | 价值 |
|---------|---------|---------|-----|
| | | | |

#### 2.2 功能详细介绍
**功能一：**
- 功能描述
- 使用流程
- 关键特性
- 使用限制

**功能二：**
- （同上）

#### 2.3 特色功能
- 独家功能
- 差异化功能
- 创新功能

---

### 三、应用场景

#### 3.1 场景一：XXX
- 场景描述
- 客户痛点
- 解决方案
- 应用效果
- 客户证言

#### 3.2 场景二：XXX
- 场景描述
- 客户痛点
- 解决方案
- 应用效果
- 客户证言

#### 3.3 场景三：XXX
- （同上）

---

### 四、技术优势

#### 4.1 核心技术
- 技术一
- 技术二
- 技术三

#### 4.2 技术指标
| 指标类别 | 指标名称 | 数值 | 行业水平 |
|---------|---------|-----|---------|
| 性能 | | | |
| 安全 | | | |
| 稳定性 | | | |
| 扩展性 | | | |

#### 4.3 专利与认证
- 专利情况
- 资质认证
- 检测报告
- 荣誉奖项

---

### 五、案例展示

#### 5.1 典型案例
**案例一：XXX客户**
- 客户背景
- 客户需求
- 解决方案
- 实施效果
- 客户评价

**案例二：XXX客户**
- （同上）

#### 5.2 客户评价
- 客户名称
- 评价内容
- 客户Logo/授权

#### 5.3 实施效果
| 效果指标 | 实施前 | 实施后 | 提升幅度 |
|---------|-------|-------|---------|
| | | | |

---

### 六、服务体系

#### 6.1 售前服务
- 咨询响应
- 方案定制
- 产品演示
- POC测试

#### 6.2 实施服务
- 实施流程
- 交付标准
- 实施周期
- 项目管理

#### 6.3 售后服务
- 服务范围
- 响应时效
- 服务渠道
- 服务团队

#### 6.4 培训服务
- 培训内容
- 培训形式
- 培训计划

---

### 七、商务信息

#### 7.1 合作模式
- 订阅模式
- 买断模式
- 定制模式
- 生态合作

#### 7.2 联系方式
- 商务联系人
- 联系电话
- 邮箱
- 官网

#### 7.3 资质证书
- 公司资质
- 产品资质
- 合作证书

---

*模板版本：2.1.0*

path: templates/方案类/09_解决方案.md
content: # 解决方案

适用于投标文件或客户方案撰写，针对客户需求提供定制化方案。

---

## 模板结构

### 一、客户需求理解

#### 1.1 业务背景
- 客户所在行业
- 客户业务现状
- 业务特点

#### 1.2 核心需求
- 业务需求
- 功能需求
- 性能需求
- 优先级

#### 1.3 关键挑战
- 现有痛点
- 面临的问题
- 瓶颈与障碍

---

### 二、方案概述

#### 2.1 方案定位
- 方案名称
- 方案定位
- 核心价值

#### 2.2 建设目标
- 总体目标
- 分阶段目标
- 量化指标

#### 2.3 总体思路
- 建设理念
- 建设原则
- 实施路线

---

### 三、方案设计

#### 3.1 架构设计
- 总体架构图
- 技术架构
- 应用架构
- 数据架构

#### 3.2 功能设计
| 功能模块 | 功能点 | 功能描述 | 客户价值 |
|---------|-------|---------|---------|
| | | | |

#### 3.3 技术路线
- 技术选型
- 技术栈
- 技术优势
- 自主可控性

#### 3.4 安全设计
- 安全架构
- 安全策略
- 等级保护（如需）
- 安全认证

---

### 四、产品介绍

#### 4.1 核心产品
- 产品体系
- 产品架构
- 产品功能

#### 4.2 产品优势
- 技术优势
- 功能优势
- 服务优势
- 成本优势

#### 4.3 适配说明
- 与客户现有系统对接
- 兼容性说明
- 集成方案

---

### 五、实施保障

#### 5.1 实施方法
- 实施方法论
- 实施模型
- 质量保障体系

#### 5.2 项目组织
- 项目组织架构
- 角色与职责
- 项目经理及团队介绍

#### 5.3 进度计划
| 阶段 | 时间 | 主要工作 | 里程碑 | 交付物 |
|-----|------|---------|-------|-------|
| | | | | |

#### 5.4 质量保障
- 质量标准
- 测试策略
- 验收流程
- 质量保证措施

---

### 六、服务保障

#### 6.1 售后服务
- 服务范围
- 服务时效
- 服务方式
- 服务团队

#### 6.2 培训计划
| 培训阶段 | 培训内容 | 培训对象 | 培训方式 | 课时 |
|---------|---------|---------|---------|-----|
| | | | | |

#### 6.3 持续优化
- 版本升级
- 功能迭代
- 长期规划

---

### 七、商务方案

#### 7.1 报价方案
| 序号 | 产品/服务 | 数量 | 单位 | 单价 | 总价 | 备注 |
|-----|----------|-----|-----|-----|-----|-----|
| | | | | | | |

#### 7.2 合同商务条款
- 付款方式
- 交货/实施周期
- 验收标准
- 质保期
- 违约责任

#### 7.3 合作模式
- 项目建设模式
- 运营模式（如有）
- 长期合作规划

---

### 八、公司资质

#### 8.1 公司简介
- 公司概况
- 发展历程
- 业务布局

#### 8.2 资质证书
- 营业执照
- 相关资质
- 荣誉证书

#### 8.3 成功案例
| 客户 | 项目名称 | 行业 | 实施效果 |
|-----|---------|-----|---------|
| | | | |

#### 8.4 客户证明
- 推荐信
- 客户评价
- 授权书

---

### 附录

- 附录一：技术白皮书
- 附录二：产品截图/效果图
- 附录三：详细报价清单
- 附录四：资质证明文件

---

*模板版本：2.1.0*

path: templates/方案类/07_技术方案.md
content: # 技术方案

适用于技术项目实施规划，详细说明技术实现路径和实施方案。

---

## 模板结构

### 一、项目背景

#### 1.1 业务背景
- 业务现状
- 业务需求
- 痛点问题

#### 1.2 现有问题
- 系统现状
- 主要问题
- 问题影响

#### 1.3 改进目标
- 总体目标
- 具体目标
- 量化指标

---

### 二、需求分析

#### 2.1 功能需求
| 功能模块 | 功能描述 | 优先级 | 需求来源 |
|---------|---------|-------|---------|
| | | | |

#### 2.2 非功能需求
- 性能需求（响应时间、并发数等）
- 可靠性需求（可用性、稳定性）
- 安全性需求（认证、授权、加密）
- 兼容性需求（浏览器、系统等）
- 可维护性需求

#### 2.3 技术约束
- 现有技术栈
- 预算约束
- 时间约束
- 合规要求

---

### 三、总体设计

#### 3.1 系统架构
- 架构图
- 技术架构说明
- 模块划分

#### 3.2 技术路线
- 技术选型
- 技术栈
- 开源组件

#### 3.3 设计原则
- 设计理念
- 核心原则
- 编码规范

---

### 四、详细设计

#### 4.1 功能模块设计
- 模块结构图
- 模块职责
- 模块接口

#### 4.2 数据库设计
- 概念模型（ER图）
- 逻辑模型
- 物理模型
- 数据字典

#### 4.3 接口设计
| 接口名称 | 请求方式 | 路径 | 参数 | 返回值 | 说明 |
|---------|---------|-----|-----|-------|-----|
| | | | | | |

#### 4.4 安全设计
- 认证方案
- 授权方案
- 数据安全
- 日志审计

---

### 五、实施计划

#### 5.1 里程碑计划
| 阶段 | 时间 | 里程碑 | 交付物 | 验收标准 |
|-----|------|-------|-------|---------|
| | | | | |

#### 5.2 资源配置
- 人员配置
- 环境配置
- 工具支持

#### 5.3 质量保障
- 代码规范
- 代码审查
- 测试策略
- 部署流程

---

### 六、风险与对策

#### 6.1 技术风险
| 风险 | 影响 | 概率 | 应对措施 |
|-----|-----|-----|---------|
| | | | |

#### 6.2 管理风险
| 风险 | 影响 | 概率 | 应对措施 |
|-----|-----|-----|---------|
| | | | |

#### 6.3 应对措施
- 风险监控机制
- 应急预案

---

### 七、验收标准

#### 7.1 功能验收
- 验收清单
- 验收流程
- 验收人员

#### 7.2 性能验收
- 性能指标
- 测试方法
- 达标标准

#### 7.3 文档交付
| 文档名称 | 份数 | 说明 |
|---------|-----|-----|
| | | |

---

*模板版本：2.1.0*

path: templates/文档类/02_项目建议书.md
content: # 项目建议书

适用于向上级主管部门申请项目立项，是项目最初的规划文档。

---

## 模板结构

### 一、项目概况

#### 1.1 项目名称
- 项目全称
- 项目简称
- 项目编号（如有）

#### 1.2 建设单位
- 单位名称
- 单位性质
- 主管单位
- 联系人及方式

#### 1.3 建设地点
- 详细地址
- 地理坐标
- 周边环境

#### 1.4 项目负责人
- 姓名
- 职务
- 联系方式

---

### 二、项目建设的必要性和可行性

#### 2.1 项目背景
- 政策背景
- 行业发展趋势
- 市场需求

#### 2.2 项目建设的必要性
- 解决什么问题
- 带来什么效益
- 战略意义

#### 2.3 项目建设的可行性
- 技术可行性
- 经济可行性
- 政策可行性
- 条件成熟度

---

### 三、项目建设方案

#### 3.1 建设内容
- 主要建设内容
- 配套建设内容
- 建设规模

#### 3.2 建设规模
- 建筑面积/占地面积
- 处理能力/服务规模
- 主要设施配置

#### 3.3 实施进度安排
- 准备阶段
- 实施阶段
- 验收阶段
- 总工期

#### 3.4 技术方案概述
- 采用的技术路线
- 主要工艺
- 设备选型

---

### 四、投资估算与资金来源

#### 4.1 投资估算
- 估算依据
- 投资构成
- 估算总额

#### 4.2 资金筹措方案
- 资金来源
  - 中央/地方财政资金
  - 单位自筹
  - 银行贷款
  - 其他
- 资金占比
- 资金到位情况

#### 4.3 资金使用计划
- 分年度使用计划
- 资金拨付节点

---

### 五、经济效益分析

#### 5.1 项目收益
- 收入来源
- 年均收入预测
- 收益增长预期

#### 5.2 投资回报分析
- 投资回收期
- 投资回报率
- 财务净现值

#### 5.3 经济效益评价
- 财务指标
- 经济合理性

---

### 六、社会效益分析

#### 6.1 社会效益
- 就业贡献
- 民生改善
- 行业发展促进

#### 6.2 生态效益
- 环境保护
- 节能减排
- 绿色发展

---

### 七、结论与建议

#### 7.1 结论
- 项目建设的必要性结论
- 项目建设的可行性结论
- 立项建议

#### 7.2 建议
- 审批建议
- 支持请求
- 后续工作建议

---

*模板版本：2.1.0*

path: templates/文档类/01_可行性研究报告.md
content: # 可行性研究报告

适用于项目立项前的全面技术经济分析，为决策提供依据。

---

## 模板结构

### 一、项目概述

#### 1.1 项目背景
- 政策背景（国家/地方政策支持）
- 行业现状与发展趋势
- 项目提出的历史脉络

#### 1.2 项目目标
- 总体目标
- 具体指标（分阶段目标）
- 预期效果

#### 1.3 建设规模
- 建设规模描述
- 主要建设内容
- 占地面积/建筑面积

---

### 二、市场分析

#### 2.1 市场需求分析
- 市场需求现状
- 需求预测
- 目标客户群体

#### 2.2 竞争分析
- 现有竞争格局
- 主要竞争对手
- 竞争优势

#### 2.3 市场预测
- 市场规模预测
- 市场占有率预期
- 价格趋势

---

### 三、建设方案

#### 3.1 建设内容
- 主要建设工程
- 配套设施
- 设备购置

#### 3.2 选址方案
- 选址原则
- 推荐选址
- 选址优势

#### 3.3 实施计划
- 实施阶段划分
- 里程碑节点
- 实施周期

---

### 四、技术方案

#### 4.1 技术路线
- 核心技术路线
- 技术标准规范
- 技术先进性

#### 4.2 工艺流程
- 工艺流程图
- 主要工艺参数
- 关键工序说明

#### 4.3 主要设备
- 设备选型原则
- 主要设备清单
- 设备来源

---

### 五、投资估算

#### 5.1 投资估算依据
- 估算依据文件
- 估算方法
- 价格水平

#### 5.2 投资构成
- 建筑工程费
- 设备购置费
- 安装工程费
- 其他费用

#### 5.3 资金筹措
- 资金来源（自有资金、银行贷款、政府补贴等）
- 资金使用计划
- 融资方案

---

### 六、效益分析

#### 6.1 经济效益分析
- 收入预测
- 成本费用
- 利润预测
- 投资回报期

#### 6.2 社会效益分析
- 就业带动
- 产业发展
- 民生改善

#### 6.3 环境效益分析
- 环保措施
- 节能减排效果
- 环境影响评估

---

### 七、风险分析

#### 7.1 市场风险
- 风险识别
- 发生概率
- 应对措施

#### 7.2 技术风险
- 技术难点
- 技术成熟度
- 备选方案

#### 7.3 财务风险
- 资金风险
- 成本超支风险
- 应对策略

---

### 八、结论与建议

#### 8.1 研究结论
- 项目建设的必要性
- 项目建设的可行性
- 综合评价

#### 8.2 建议
- 下一步工作建议
- 需要支持的事项
- 实施建议

---

*模板版本：2.1.0*

path: templates/文档类/03_商业计划书.md
content: # 商业计划书

适用于创业融资或商业合作，全方位展示项目商业价值和投资价值。

---

## 模板结构

### 一、执行摘要

#### 1.1 公司简介
- 公司名称
- 成立时间
- 所处阶段（初创/成长期/成熟期）
- 核心业务

#### 1.2 核心优势
- 独特的价值主张
- 核心竞争力
- 差异化特点

#### 1.3 融资需求
- 融资金额
- 资金用途
- 预期回报
- 退出方式

---

### 二、市场分析

#### 2.1 目标市场
- 市场细分
- 目标客户画像
- 市场规模（TAM/SAM/SOM）

#### 2.2 市场规模
- 行业整体规模
- 增长速度（CAGR）
- 市场容量预测

#### 2.3 竞争格局
- 主要竞争者
- 市场份额分布
- 竞争态势分析

#### 2.4 市场趋势
- 行业发展趋势
- 技术发展趋势
- 政策环境影响
- 消费者行为变化

---

### 三、产品与服务

#### 3.1 产品介绍
- 核心产品/服务
- 产品功能
- 产品特点

#### 3.2 核心功能
- 主要功能模块
- 技术实现
- 知识产权情况

#### 3.3 竞争优势
- 技术壁垒
- 资源壁垒
- 品牌壁垒
- 成本优势

#### 3.4 产品路线图
- 现有产品
- 在研产品
- 未来规划

---

### 四、商业模式

#### 4.1 盈利模式
- 收入来源
- 收入结构
- 定价策略

#### 4.2 销售渠道
- 直销渠道
- 渠道合作伙伴
- 线上/线下占比

#### 4.3 客户案例
- 标杆客户
- 典型案例
- 客户评价

---

### 五、运营计划

#### 5.1 团队介绍
- 创始团队
- 核心成员履历
- 团队优势

#### 5.2 组织架构
- 部门设置
- 人员规模
- 关键岗位

#### 5.3 发展里程碑
- 过去成就
- 当前阶段
- 未来规划

#### 5.4 合作伙伴
- 战略合作伙伴
- 供应商
- 渠道合作

---

### 六、财务预测

#### 6.1 收入预测
- 未来3-5年收入预测
- 增长假设依据
- 收入结构预测

#### 6.2 成本分析
- 主要成本构成
- 成本结构
- 成本控制措施

#### 6.3 利润预测
- 毛利率
- 净利率
- 盈利预测

#### 6.4 现金流预测
- 现金流状况
- 资金需求节点

---

### 七、融资计划

#### 7.1 融资需求
- 本轮融资金额
- 出让股份比例
- 估值

#### 7.2 资金用途
- 研发投入
- 市场拓展
- 团队建设
- 运营周转

#### 7.3 未来融资规划
- 下轮融资计划
- 上市规划（如有）

#### 7.4 退出机制
- 退出方式（并购、IPO等）
- 预期退出时间
- 预期回报倍数

---

### 八、风险分析

#### 8.1 主要风险
- 市场风险
- 竞争风险
- 技术风险
- 政策风险
- 资金风险

#### 8.2 应对策略
- 风险防范措施
- 应急预案
- 保险保障

---

### 附录

- 附件1：详细财务数据
- 附件2：专利/资质证书
- 附件3：合同/协议
- 附件4：团队资质证明

---

*模板版本：2.1.0*

path: references/troubleshooting.md
content: # 排障指南

## 常见错误速查

| 错误现象 | 可能原因 | 处理方式 |
|---------|---------|---------|
| `cannot unmarshal string into Go struct` | source_ranges JSON 格式错误 | 使用 `[{"id":"短ID","type":"doc"}]` 格式 |
| mcporter call 超时 | 正文生成超过 60 秒 | 加大 `--timeout 180000` |
| 正文变成提纲格式 | 用了 `__全文写作__3` 而不是 `__大纲写作__1` | 正文必须用 `__大纲写作__1` |
| 目录创建失败 | docid 为空或格式错误 | 确认父目录 GNS 正确 |
| index-check 返回 0% | 索引服务未完成 | 等待 30 秒后重试 |
| `401 Unauthorized` | Token 过期 | 更新 mcporter.json Token 并重启 daemon |

---

## 技能名与 times 参数对照

| 任务 | skill_name | times | 说明 |
|------|-----------|-------|------|
| 生成大纲 | `__全文写作__3` | `0` | 生成章节结构 |
| 生成正文 | `__大纲写作__1` | `1` | 基于大纲写完整正文 |

**常见错误**：生成正文时用了 `__全文写作__3`，导致输出变成"本节将介绍..."的提纲格式，而不是完整正文。

---

## 超时问题

### 现象
```
Error: mcporter call failed: context deadline exceeded
```

### 原因
正文生成属于长耗时调用，默认 60 秒不够。

### 解决

**方式一：调用时加参数**
```bash
mcporter call anyshare-asmcp.smart_assistant \
  --timeout 180000 \
  access_token:"$ACCESS_TOKEN" \
  ...
```

**方式二：配置环境变量**
编辑 `~/.openclaw/config.toml`：
```toml
[skills.entries.expert-writing-asmcp]
env.MCPORTER_CALL_TIMEOUT = "300000"  # 5 分钟，毫秒
```

---

## source_ranges JSON 格式错误

### 现象
```
cannot unmarshal string into Go struct
```

### 原因
source_ranges 参数格式不符合要求。

### 正确格式
```json
[{"id":[REDACTED_SECRET],"type":"doc"}]
```

### 常见错误
```json
# ❌ 错误：完整 docid
[{"id":"gns://FC1B4FE2/.../2DDD46B195F24BCEB238DB59151CD15E","type":"doc"}]

# ✅ 正确：只有 id（最后一段）
[{"id":[REDACTED_SECRET],"type":"doc"}]
```

---

## 大纲未确认就写正文

### 现象
用户反馈"不是我想要的大纲，但已经生成正文了"

### 解决
严格遵守 C4 门闩：必须用户明确回复"确认，开始写正文"后才能调用 `__大纲写作__1`。

批量/定时场景：跳过无法确认的文件，标记为"待确认"。

---

## 401 Unauthorized

**处理步骤**：

1. 更新 `~/.openclaw/workspace/config/mcporter.json` 中的 Authorization 字段
2. 重启 daemon：`mcporter daemon restart`
3. 验证：`mcporter call anyshare-asmcp.doc_lib_owned`


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)