合同规则审阅助手 -> Contract Rule Review Assistant
v1.0.0合同规则审阅助手 - 上传本地合同文件到 Any分享 并调用规则审阅技能进行自动化审阅,支持保存结果和生成分享链接
运行时依赖
安装命令
点击复制技能文档
安全与排障文档(必读) 配置/Token 管理 → 本文件「🚀 首次配置」章节 错误排查 → references/troubleshooting.md 安全约束与审计 → SECURITY.md Contract Rule Review 合同规则审阅助手: 上传桌面合同文件到 AnyShare 个人文档库 获取审阅模板(默认使用内置模板,支持用户自定义模板) 调用 __规则审阅__1 技能进行审阅 保存审阅结果到「合同审阅/日期/合同名称/」目录结构并生成分享链接 🚀 首次配置 术语说明 术语 含义 Access Token AnyShare 用户访问令牌,用于 API 身份认证 个人文档库 GNS 个人文档库的 GNS 路径标识 Step 1: 配置 MCP 服务与 Token 本技能依赖 anyshare-asmcp MCP 服务,Token 须预先配置到 ~/.openclaw/workspace/config/mcporter.json: { "mcpServers": { "anyshare-asmcp": { "type": "Streamable", "url": "https://anyshare.aishu.cn/asmcp/", "headers": { "Authorization": "Bearer " } } } } 获取 Token:登录 AnyShare Web → 右上角头像 → MCP授权凭证 → 复制令牌。 Step 2: 验证连通性 mcporter call anyshare-asmcp.doc_lib_owned 返回文档库列表即表示认证成功。 Step 3: 配置 OpenClaw 运行时超时(针对长耗时调用) 编辑 ~/.openclaw/config.toml,在 [skills] 或 [skills.entries.contract-rule-review] 下添加: [skills.entries.contract-rule-review] env.MCPORTER_CALL_TIMEOUT = "600000" # 10 分钟,毫秒 或通过 gateway config.patch 更新。 Step 4: 确认个人文档库 GNS 首次运行后,技能会自动将个人文档库 GNS 记录到日志输出中(PERSONAL_DOC_LIB_GNS: gns://...),后续无需重复配置。 目录结构设计 个人文档库/ └── 合同审阅/ ← 主目录(复用已存在的) └── 2026-04-27/ ← 日期目录(每天新建) └── 储能电站合同/ ← 合同名称目录 ├── 合同原文/ ← 上传的原始合同文件 │ └── 储能电站能源管理合同.docx └── 审阅报告.md ← 生成的审阅报告 严格遵守:合同原文必须上传到「合同原文/」子目录,审阅报告直接放在合同名称目录下。 模板配置 技能支持两种模板获取方式: 优先级 模板类型 来源 说明 优先 内置模板 API 获取 调用 __规则审阅__1 内置模板接口 备用 本地模板 本地 .md 文件 模板获取失败时的兜底方案 用户自定义 自定义模板 用户提供 用户指定模板时优先使用用户模板 方式一:API 获取内置模板(推荐) # 获取内置规则审阅模板 TEMPLATE_RESPONSE=$(curl -s -X GET \ "https://anyshare.aishu.cn/api/intelli-search/v1/skills/templates/default?skill_name=__规则审阅__1" \ -H "authorization: $ACCESS_TOKEN" \ -H "content-type: application/json") # 解析模板内容 TEMPLATE_CONTENT=$(echo "$TEMPLATE_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin).get('template',''))" 2>/dev/null) TEMPLATE_SOURCE="内置模板(API)" if [ -z "$TEMPLATE_CONTENT" ]; then echo "⚠️ API获取模板失败,尝试本地模板..." # 落入本地模板逻辑 else echo "✅ 使用内置模板(API获取)" echo " 模板长度: ${#TEMPLATE_CONTENT} 字符" fi 方式二:本地模板读取(兜底) # 读取本地模板 TEMPLATE_DIR="$HOME/.openclaw/skills/contract-rule-review/templates" case "$CONTRACT_TYPE" in "采购"|"采购合同") TEMPLATE_FILE="$TEMPLATE_DIR/采购合同审阅模板.md" ;; "服务"|"服务合同") TEMPLATE_FILE="$TEMPLATE_DIR/服务合同审阅模板.md" ;; ) TEMPLATE_FILE="$TEMPLATE_DIR/通用合同审阅模板.md" ;; esac if [ -f "$TEMPLATE_FILE" ]; then TEMPLATE_CONTENT=$(cat "$TEMPLATE_FILE") echo "✅ 使用本地模板: $(basename $TEMPLATE_FILE)" else echo "⚠️ 本地模板不存在,使用默认模板" TEMPLATE_CONTENT="请按照通用合同审阅标准进行审阅" fi 工作流程 用户请求 ──→ 获取模板 ──→ 创建目录结构 ──→ 上传合同原文 ──→ temporary-area ──→ index-check轮询 ──→ smart_assistant ──→ 保存审阅报告 ──→ 生成分享链接 │ ↓ ↓ ↓ ↓ ↓ ↓ ↓ API获取内置 dir_create file_osbegin file_osendupload POST index-check API file_osbegin file_sharedlink 失败则本地 (4级目录) → file_osendupload temporary-area (最多600秒) file_osendupload _realname_create 完整调用示例 #!/bin/bash # ========== 配置 ========== # Token 须预先配置到 ~/.openclaw/workspace/config/mcporter.json # 以下变量由 mcporter 自动注入,无需在此硬编码 # ACCESS_TOKEN 由 mcporter call 工具通过 --access_token 参数传递 PERSONAL_DOC_LIB_GNS="your_personal_doc_lib_gns_here" LOCAL_FILE="~/Desktop/合同/采购合同.docx" CONTRACT_TYPE="采购合同" FILE_NAME=$(basename "$LOCAL_FILE") FILE_SIZE=$(stat -f%z "$LOCAL_FILE") TODAY_DIR=$(date +%Y-%m-%d) echo "=========================================" echo "📋 合同规则审阅 v1.8.2" echo "=========================================" # ========== Step 1: 获取模板 ========== echo "" echo "📄 获取审阅模板..." TEMPLATE_RESPONSE=$(curl -s -X GET \ "https://anyshare.aishu.cn/api/intelli-search/v1/skills/templates/default?skill_name=__规则审阅__1" \ -H "authorization: $ACCESS_TOKEN" \ -H "content-type: application/json") TEMPLATE_CONTENT=$(echo "$TEMPLATE_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin).get('template',''))" 2>/dev/null) TEMPLATE_SOURCE="内置模板(API)" if [ -z "$TEMPLATE_CONTENT" ]; then echo "⚠️ API获取失败,尝试本地模板..." TEMPLATE_DIR="$HOME/.openclaw/skills/contract-rule-review/templates" case "$CONTRACT_TYPE" in "采购合同") TEMPLATE_FILE="$TEMPLATE_DIR/采购合同审阅模板.md" ;; "服务合同") TEMPLATE_FILE="$TEMPLATE_DIR/服务合同审阅模板.md" ;; ) TEMPLATE_FILE="$TEMPLATE_DIR/通用合同审阅模板.md" ;; esac if [ -f "$TEMPLATE_FILE" ]; then TEMPLATE_CONTENT=$(cat "$TEMPLATE_FILE") TEMPLATE_SOURCE=$(basename "$TEMPLATE_FILE") else TEMPLATE_CONTENT="请按照通用合同审阅标准进行审阅" TEMPLATE_SOURCE="默认模板" fi fi echo "✅ 使用模板: $TEMPLATE_SOURCE" # ========== Step 2: 创建目录结构(4级) ========== echo "" echo "📁 创建目录结构..." # 辅助函数:检查目录是否已存在,返回完整GNS # 关键:folder_sub_objects 用真实ID查询才能返回子目录,用中文路径名查会返回空 chec