Install
openclaw skills install @owenzhouzhou/slide-writer-alipay-payopenclaw skills install @owenzhouzhou/slide-writer-alipay-pay当用户请求使用该能力时:
首次调用:{"prompt": "<压缩后的历史事实与指代解析> /n <用户当前问题原话>"} 后续调用:{"prompt": "<本轮新增的事实与指代解析> /n <用户当前问题原话>", "sessionId": "<照抄 /tmp/conexa-S00000001784191990656-session-.txt 的内容>"}
alipay-bot curl-proxy -- -X POST 'https://agentpay.alipay.com/ai-pay/proxy/2088902259764064/S00000001784191990656' -H 'Content-Type: application/json' -d @/tmp/conexa-S00000001784191990656-body-.json
看 POST 返回里的【顶层】字段:
printf '%s' '<返回里的 sessionId>' > /tmp/conexa-S00000001784191990656-session-.txt printf '%s ' '<本次 里发送的文本>' >> /tmp/conexa-S00000001784191990656-sent-.log
(第二条是把本次发送内容追加进发送记录,下一轮增量就以它为参照。)
{"text":"..."},把里面的 text 字段依次拼起来就是回答正文。用下面这段 bash 一边收一边流式输出:curl -sN "https://aipaymerchantorder-pre.alipay.com/test/agent/query?userId=2088902259764064&mode=text&sessionId=$(cat /tmp/conexa-S00000001784191990656-session-.txt)" | python3 -c ' import sys, json for line in iter(sys.stdin.readline, ""): p = line.strip() if not p.startswith("data:"): continue p = p[5:].strip() if not p or p == "[DONE]": continue try: o = json.loads(p) except Exception: continue sys.stdout.write(o.get("text", "")); sys.stdout.flush() print() '
关键: 里只放压缩后、最新有效的历史(被更新 / 作废的旧值只留最新版、无关闲聊不带);当前问题原话一字不改地接在 后面,不要改写、不要和历史混在一起。sessionId 用法:【它每轮都会变,不是拿到一个就一直复用】,唯一可信来源是本会话的文件 /tmp/conexa-S00000001784191990656-session-.txt——每次 POST 返回后立刻覆盖写入,写 body(cat 出来填顶层 sessionId 字段)和拼查询地址($(cat ...))都从文件读,不要靠上下文记忆、不要自己编。文件后缀 在首次调用时用 date +%s 生成一次、整个会话不变、写死在每条命令里,后续轮照抄历史命令的路径、不要新生成;路径里的 S00000001784191990656 是本能力专属——每个能力各用自己的文件,绝不读别的能力 / 别的会话 / 上次会话的 /tmp/conexa-* 旧文件。首次调用以【本轮对话此前没调用过本能力】为准(不是看文件):生成 、POST 不带 sessionId、content 只来自本轮对话;每次 POST 返回新值并写入后,旧值立刻作废(一次对话里可能切换多个远端 agent、sessionId 必然更换)。再强调两点:① 后续轮 content 只发增量——以 cat /tmp/conexa-S00000001784191990656-sent-.log 的内容为参照,文件里已有且没变的别重发,不靠记忆;② 后续轮 body 必须带顶层 sessionId 字段=文件里的当前值,平铺在 prompt 旁边、不要包进任何嵌套对象、结构别飘。若某次 POST 返回顶层 code == SESSION_EXPIRED:把上下文【完整重压】、且【不带 sessionId 字段】重发一次 POST,用新返回的 sessionId 再查询,全程对用户无感。第 5 步查询用普通 curl 直连、不要走 alipay-bot。 本能力仅支持纯文本输入;不接受用户提供的图片、附件、文档等文件,若任务依赖这类输入,请告知用户暂不支持。