Self-Prompt: Forcing Agent Responses
The Problem
When automated scripts (cron, monitoring) send messages via openclaw message send:
- - Messages appear in chat as "system messages"
- Agents may treat them as background info, not tasks
- Agents respond to user messages but ignore automated ones
- Accountability checks, alerts, and tasks go unanswered
The Solution
Use openclaw agent instead of openclaw message send for messages requiring agent response:
CODEBLOCK0
Why This Works
- -
openclaw message send → Creates chat message → Agent sees as "notification" - INLINECODE4 → Triggers actual agent turn → Agent MUST process and respond
Quick Start
For Bash Scripts
Use scripts/send_agent_task.sh:
CODEBLOCK1
For Python Scripts
Use scripts/send_agent_task.py:
CODEBLOCK2
Pattern: Data + Task Separation
For monitoring scripts, separate data delivery from task requests:
CODEBLOCK3
Common Use Cases
Accountability Checks
CODEBLOCK4
Monitoring Alerts
CODEBLOCK5
Scheduled Research Tasks
CODEBLOCK6
Session Key Format
The session key follows this pattern:
CODEBLOCK7
Examples:
- - INLINECODE7
- INLINECODE8
- INLINECODE9
Script Reference
sendagenttask.sh
Location: INLINECODE10
CODEBLOCK8
- - Sends task via INLINECODE11
- Captures response
- Sends response to group via INLINECODE12
- Logs to INLINECODE13
sendagenttask.py
Location: INLINECODE14
CODEBLOCK9
Troubleshooting
Agent not responding
- - Verify agent is running: INLINECODE15
- Check session key format matches your agent/group
- Increase timeout for long-running tasks
Response not appearing in chat
- - Ensure script sends response via
message send after capturing - Check GROUP_ID is correct (negative for groups)
- Verify channel is correct (telegram/discord/etc)
Timeout errors
- - Increase timeout for research/analysis tasks (300-600 seconds)
- Check if agent is overloaded with concurrent requests
自我提示:强制代理响应
问题
当自动化脚本(定时任务、监控)通过 openclaw message send 发送消息时:
- - 消息在聊天中显示为系统消息
- 代理可能将其视为背景信息,而非任务
- 代理响应用户消息,但忽略自动化消息
- 问责检查、警报和任务无人应答
解决方案
对于需要代理响应的消息,使用 openclaw agent 替代 openclaw message send:
bash
旧方式(代理可能忽略):
openclaw message send --target -GROUP_ID --message 任务:执行某项操作
新方式(代理必须响应):
RESPONSE=$(openclaw agent \
--agent AGENT_ID \
--session-id agent:AGENT
ID:telegram:group:GROUPID \
--channel telegram \
--message 任务:执行某项操作 \
--timeout 180)
将响应发送到聊天:
openclaw message send --target -GROUP_ID --message $RESPONSE
工作原理
- - openclaw message send → 创建聊天消息 → 代理视为通知
- openclaw agent → 触发实际代理轮次 → 代理必须处理和响应
快速开始
用于 Bash 脚本
使用 scripts/sendagenttask.sh:
bash
简单用法:
~/.openclaw/skills/self-prompt/scripts/send
agenttask.sh \
AGENT_ID \
GROUP_ID \
您的任务消息
用于 Python 脚本
使用 scripts/sendagenttask.py:
python
from sendagenttask import sendanddeliver
success, response = sendanddeliver(
agent_id=stock-trading,
group_id=-5283045656,
message=任务:分析当前持仓,
timeout=180
)
模式:数据与任务分离
对于监控脚本,将数据传递与任务请求分离:
bash
1. 立即发送数据(信息性)
openclaw message send --target $GROUP_ID --message 📊 持仓数据:
$POSITIONS
2. 通过代理发送任务(强制响应)
RESPONSE=$(openclaw agent \
--agent $AGENT_ID \
--session-id agent:$AGENT
ID:telegram:group:$GROUPID \
--message 分析上述数据并报告发现 \
--timeout 180)
3. 传递响应
openclaw message send --target $GROUP_ID --message 📊 分析结果:
$RESPONSE
常见用例
问责检查
bash
强制代理响应问责检查
send
agenttask.sh my-agent -123456789 \
问责检查:您是否完成了所需任务?请回复状态。
监控警报
bash
强制代理调查并报告
send
agenttask.sh trading-agent -123456789 \
警报:持仓下跌5%。请调查并报告发现。
定时研究任务
bash
强制代理进行研究
send
agenttask.sh research-agent -123456789 \
每日任务:搜索$SYMBOLS相关新闻并总结发现。
会话密钥格式
会话密钥遵循以下模式:
agent:AGENT_ID:CHANNEL:TYPE:TARGET
示例:
- - agent:stock-trading:telegram:group:-5283045656
- agent:main:telegram:direct:123456789
- agent:assistant:discord:channel:987654321
脚本参考
sendagenttask.sh
位置:scripts/send
agenttask.sh
bash
sendagenttask.sh AGENTID GROUPID 消息 [超时时间]
- - 通过 openclaw agent 发送任务
- 捕获响应
- 通过 message send 将响应发送到群组
- 记录到 ~/agent_task.log
sendagenttask.py
位置:scripts/send
agenttask.py
python
from sendagenttask import sendanddeliver
success, response = sendanddeliver(
agent_id=agent-name,
group_id=-123456789,
message=任务消息,
timeout=180,
channel=telegram
)
故障排除
代理无响应
- - 验证代理是否运行:openclaw gateway status
- 检查会话密钥格式是否与您的代理/群组匹配
- 增加长时间运行任务的超时时间
响应未显示在聊天中
- - 确保脚本在捕获后通过 message send 发送响应
- 检查 GROUP_ID 是否正确(群组为负数)
- 验证频道是否正确(telegram/discord 等)
超时错误
- - 增加研究/分析任务的超时时间(300-600秒)
- 检查代理是否因并发请求而过载