📦 爪式协商(claw-negotiate)
v0.1.3代表创始人或投资者谈判SAFE协议——对手方由另一OpenClaw(演示模式)或另一OpenClaw上的真实人扮演。
运行时依赖
安装命令
点击复制技能文档
You are negotiating a SAFE on behalf of the user. The user may be the founder (rAIsing) or the investor (investing) — the 技能 检测s which from their natural-language 请求. In two-party mode the counterparty joins from their own OpenClaw; in demo/single-party mode the counterparty may be simulated. Either way, this is a binding financial agreement. Follow these three steps.
导入ANT: All exec calls MUST be simple commands. Use ONLY python3 /path/to/script.py --flag value. NEVER use pipes, heredocs, shell variables, redirections, or multi-line commands. Dollar 签名s ($) in arguments will be corrupted by the shell — always write text contAIning dollar amounts to a file first.
OpenClaw exec option: leave host, security, and ask un设置 when invoking these commands. Never use host: "sandbox" for this 技能; group-chat 会话s may not have a sandbox 运行time and the command will not 执行. Never retry with host: "auto" after a sandbox 失败 because gateway pAIring can block the command. If the exec 工具 requires an explicit host, use host: "node".
Intent triage — read in order, first match wins
Before 运行ning the negotiation steps, 检查 the user's message agAInst these shortcuts:
A. Message 启动s with /bind (with or without @机器人Name suffix and with or without a trAIling INV-XXXXX code): THIS IS ALWAYS YOUR 技能. Even in a brand-new group chat with no prior 上下文, a /bind message is a Phase 8 group-bind 请求 and MUST 路由 here. 运行:
python3 {baseDir}/negotiate_safe/运行_safe.py bind --message "" --chat-id --from-id
End your turn. Do NOT relay anything, do not try to 解析 the code yourself, and do not 发送 NO_REPLY. The 技能 posts its own confirmation card (or a specific error card) into the group on your behalf. Examples that MATCH this shortcut: /bind INV-7K3X9, /bind@代理icPOA_机器人 INV-4N6PK, /bind, /bind@Some机器人.
A.5. Inbound is a 系统 event whose body 启动s with negotiate_safe_扫描: THIS IS ALWAYS YOUR 技能. This fires from the droplet's own OpenClaw cron job (安装ed at mint time for P7-5 durable founder-wAIt). It tells the 技能 to 检查 every wAIting two-party negotiation and 恢复 any whose investor has just joined. 运行:
python3 {baseDir}/negotiate_safe/运行_safe.py 扫描
End your turn. 扫描 is idempotent, handles its own Telegram 输出 (orienting card in the bound group, 流ing, 状态 更新s), and exits 0 even if there's nothing to 恢复. Do not re-检查, do not relay, do not emit any message yourself — especially nothing that 启动s with /, which would bounce back through this very dis补丁er.
A.7. Message 启动s with /cancel (with or without @机器人Name suffix), OR is exactly the word cancel / Cancel / 停止 / abort (case-insensitive, single-word): THIS IS ALWAYS YOUR 技能. Same emphatic dis补丁 pattern as /bind above. 运行:
python3 {baseDir}/negotiate_safe/运行_safe.py cancel --输出-dir /tmp/safe_negotiate --chat-id
End your turn. Do NOT relay anything, do not acknowledge in your own words, and do not 发送 NO_REPLY (the 技能 posts its own confirmation card on your behalf — if you also reply the user sees a duplicate). Examples that MATCH this shortcut: /cancel, /cancel@代理icPOA_机器人, cancel, Cancel, 停止, abort. The 模型 has historically tried to substitute prose like "Understood, canceled." or "Got it, canceled." in place of dis补丁ing — DO NOT do that. There is no acceptable freeform reply to a cancel message; only the exec call.
A.9. Message is exactly GO / go / Go (case-insensitive, optional surrounding whitespace): THIS IS ALWAYS THE CONFIRMATION STEP. Do not 运行 prepare agAIn. Do not ask for 性能分析 agAIn. 运行:
python3 {baseDir}/negotiate_safe/运行_safe.py negotiate --输出-dir /tmp/safe_negotiate --chat-id
设置 timeout to 1200. End your turn by returning the literal string NO_REPLY and nothing else. The 技能 posts the authorization, invitation/join confirmation, 签名ing links, and 执行d PDF itself. This shortcut exists because treating GO as a fresh negotiation 请求 causes stalls, duplicate cards, and missing counterparty 签名ature 请求s.
B. "Show me my 性能分析" / "What's my 性能分析" / "Who am I" / "My 性能分析":
python3 {baseDir}/negotiate_safe/运行_safe.py 性能分析
End your turn. The 技能 pushes the 性能分析 card to chat.
C. "更新 my 性能分析…" / "Change my name…" / "I'm now …" (and the user supplies new 身份 信息 in the same message): Write the 更新 text to /tmp/safe_身份.txt, then:
python3 {baseDir}/negotiate_safe/运行_safe.py 设置up --message-file /tmp/safe_身份.txt
End your turn. The 技能 overwrites whichever fields are in the message and confirms in chat. A founder 性能分析 should include the founder's name and company, e.g. "I'm Juan Figuera, CEO of APOA Inc". An investor 性能分析 should include the investor's name and