ဆက်ရှင် ကိရိယာများ¶
ရည်မှန်းချက် — အသုံးချရလွယ်ကူပြီး မှားယွင်းအသုံးချရန် ခက်ခဲသော ကိရိယာအစုကို ပံ့ပိုးပေးရန်ဖြစ်ပြီး အေးဂျင့်များက ဆက်ရှင်များကို စာရင်းပြုစုနိုင်ရန်၊ မှတ်တမ်းကို ရယူနိုင်ရန်နှင့် အခြား ဆက်ရှင်သို့ ပို့နိုင်ရန် ဖြစ်သည်။
ကိရိယာ အမည်များ¶
sessions_listsessions_historysessions_sendsessions_spawn
Key မော်ဒယ်¶
- အဓိက တိုက်ရိုက် ချတ် ဘတ်ကက်သည် အမြဲတမ်း literal key
"main"ဖြစ်ပြီး (လက်ရှိ အေးဂျင့်၏ အဓိက key သို့ ဖြေရှင်းထားသည်)။ - အုပ်စု ချတ်များတွင်
agent:<agentId>:<channel>:group:<id>သို့မဟုတ်agent:<agentId>:<channel>:channel:<id>ကို အသုံးပြုသည် (key အပြည့်အစုံကို ပို့ပါ)။ - Cron jobs များတွင်
cron:<job.id>ကို အသုံးပြုသည်။ - Hooks များတွင် သီးခြား သတ်မှတ်မထားလျှင်
hook:<uuid>ကို အသုံးပြုသည်။ - Node ဆက်ရှင်များတွင် သီးခြား သတ်မှတ်မထားလျှင်
node-<nodeId>ကို အသုံးပြုသည်။
global and unknown are reserved values and are never listed. session.scope = "global" ဖြစ်ပါက caller များက global ကို မမြင်ရစေရန် tools အားလုံးအတွက် main သို့ alias လုပ်ပါသည်။
sessions_list¶
ဆက်ရှင်များကို row များအဖြစ် array တစ်ခုအနေနှင့် စာရင်းပြုစုပါ။
ပါရာမီတာများ:
kinds?: string[]filter:"main" | "group" | "cron" | "hook" | "node" | "other"များထဲမှ မည်သည့်အရာမဆိုlimit?: numberအများဆုံး row အရေအတွက် (မူလတန်ဖိုး: ဆာဗာ မူလတန်ဖိုး၊ ဥပမာ 200 အထိ clamp)activeMinutes?: numberN မိနစ်အတွင်း အပ်ဒိတ်လုပ်ထားသော ဆက်ရှင်များသာmessageLimit?: number0 = မက်ဆေ့ချ် မပါ (မူလ 0)၊ >0 = နောက်ဆုံး မက်ဆေ့ချ် N ခု ပါဝင်စေသည်
လုပ်ဆောင်ပုံ:
messageLimit > 0သည် ဆက်ရှင်တစ်ခုချင်းစီအတွက်chat.historyကို ရယူပြီး နောက်ဆုံး မက်ဆေ့ချ် N ခုကို ထည့်သွင်းပေးသည်။- စာရင်းထုတ်လွှင့်မှုတွင် ကိရိယာရလဒ်များကို စစ်ထုတ်ထားသည်; ကိရိယာ မက်ဆေ့ချ်များအတွက်
sessions_historyကို အသုံးပြုပါ။ - sandboxed အေးဂျင့် ဆက်ရှင်တွင် လည်ပတ်နေပါက ဆက်ရှင် ကိရိယာများသည် မူလအားဖြင့် spawned-only visibility ကို အသုံးပြုသည် (အောက်တွင် ကြည့်ပါ)။
Row ပုံစံ (JSON):
key: ဆက်ရှင် key (string)kind:main | group | cron | hook | node | otherchannel:whatsapp | telegram | discord | signal | imessage | webchat | internal | unknowndisplayName(ရရှိနိုင်ပါက အုပ်စု ပြသ အမှတ်အသား)updatedAt(ms)sessionIdmodel,contextTokens,totalTokensthinkingLevel,verboseLevel,systemSent,abortedLastRunsendPolicy(သတ်မှတ်ထားပါက ဆက်ရှင် override)lastChannel,lastTodeliveryContext(ရရှိနိုင်ပါက{ channel, to, accountId }ကို normalized ပြုလုပ်ထားသည်)transcriptPath(store dir + sessionId မှ ဆင်းသက်ထုတ်ယူထားသော best‑effort လမ်းကြောင်း)messages?(messageLimit > 0ဖြစ်သည့်အခါသာ)
sessions_history¶
ဆက်ရှင်တစ်ခုအတွက် transcript ကို ရယူပါ။
ပါရာမီတာများ:
sessionKey(လိုအပ်သည်; ဆက်ရှင် key သို့မဟုတ်sessions_listမှsessionIdကို လက်ခံသည်)limit?: numberအများဆုံး မက်ဆေ့ချ်အရေအတွက် (ဆာဗာမှ clamp)includeTools?: boolean(မူလ false)
လုပ်ဆောင်ပုံ:
includeTools=falseသည်role: "toolResult"မက်ဆေ့ချ်များကို စစ်ထုတ်သည်။- မက်ဆေ့ချ်များ array ကို raw transcript ဖော်မတ်ဖြင့် ပြန်ပေးသည်။
sessionIdကို ပေးထားပါက OpenClaw သည် သက်ဆိုင်ရာ ဆက်ရှင် key သို့ ဖြေရှင်းပေးသည် (id မရှိပါက အမှားပြန်ပေးသည်)။
sessions_send¶
အခြား ဆက်ရှင်တစ်ခုသို့ မက်ဆေ့ချ် ပို့ပါ။
ပါရာမီတာများ:
sessionKey(လိုအပ်သည်; ဆက်ရှင် key သို့မဟုတ်sessions_listမှsessionIdကို လက်ခံသည်)message(လိုအပ်သည်)timeoutSeconds?: number(မူလ >0; 0 = fire‑and‑forget)
လုပ်ဆောင်ပုံ:
timeoutSeconds = 0: enqueue လုပ်ပြီး{ runId, status: "accepted" }ကို ပြန်ပေးသည်။timeoutSeconds > 0: ပြီးစီးမှုအတွက် N စက္ကန့်အထိ စောင့်ပြီး{ runId, status: "ok", reply }ကို ပြန်ပေးသည်။- If wait times out:
{ runId, status: "timeout", error }. Run continues; callsessions_historylater. - Run မအောင်မြင်ပါက:
{ runId, status: "error", error }။ - Primary run ပြီးဆုံးပြီးနောက် delivery announce run များကို ကြေညာသည်၊ best‑effort ဖြစ်ပြီး
status: "ok"သည် announce ပို့ပြီးကြောင်းကို အာမခံမပေးပါ။ - Gateway(ဂိတ်ဝေး)
agent.waitမှတစ်ဆင့် စောင့်ဆိုင်းခြင်း (server‑side) ကို အသုံးပြုသဖြင့် ပြန်လည်ချိတ်ဆက်မှုများကြောင့် စောင့်ဆိုင်းမှု မပျက်သွားပါ။ - Primary run အတွက် agent‑to‑agent မက်ဆေ့ချ် context ကို ထည့်သွင်းပေးသည်။
- Primary run ပြီးဆုံးပြီးနောက် OpenClaw သည် reply‑back loop ကို လည်ပတ်စေသည်:
- Round 2+ တွင် တောင်းဆိုသူနှင့် ရည်မှန်းထားသော အေးဂျင့်တို့ အပြန်အလှန် ပြောင်းလဲလည်ပတ်သည်။
- Ping‑pong ကို ရပ်ရန်
REPLY_SKIPကို တိတိကျကျ ပြန်ကြားပါ။ - အများဆုံး turn အရေအတွက်မှာ
session.agentToAgent.maxPingPongTurns(0–5၊ မူလ 5) ဖြစ်သည်။ - Loop ပြီးဆုံးသည့်အခါ OpenClaw သည် agent‑to‑agent announce step ကို လည်ပတ်စေသည် (ရည်မှန်းထားသော အေးဂျင့်သာ):
- တိတ်ဆိတ်နေရန်
ANNOUNCE_SKIPကို တိတိကျကျ ပြန်ကြားပါ။ - အခြား မည်သည့်ပြန်ကြားချက်မဆို ရည်မှန်းထားသော ချန်နယ်သို့ ပို့သည်။
- Announce step တွင် မူလ တောင်းဆိုချက် + round‑1 ပြန်ကြားချက် + နောက်ဆုံး ping‑pong ပြန်ကြားချက်တို့ ပါဝင်သည်။
Channel Field¶
- အုပ်စုများအတွက်
channelသည် ဆက်ရှင် entry တွင် မှတ်တမ်းတင်ထားသော ချန်နယ် ဖြစ်သည်။ - တိုက်ရိုက် ချတ်များအတွက်
channelသည်lastChannelမှ mapping လုပ်ထားသည်။ - Cron/hook/node များအတွက်
channelသည်internalဖြစ်သည်။ - မရှိပါက
channelသည်unknownဖြစ်သည်။
လုံခြုံရေး / ပို့ဆောင်ရေး မူဝါဒ¶
ချန်နယ်/ချတ် အမျိုးအစားအလိုက် မူဝါဒအခြေခံ ပိတ်ဆို့ခြင်း (session id အလိုက် မဟုတ်ပါ)။
{
"session": {
"sendPolicy": {
"rules": [
{
"match": { "channel": "discord", "chatType": "group" },
"action": "deny"
}
],
"default": "allow"
}
}
}
Runtime override (ဆက်ရှင် entry တစ်ခုချင်းစီအလိုက်):
sendPolicy: "allow" | "deny"(မသတ်မှတ်ပါက config ကို အမွေဆက်ခံ)sessions.patchသို့မဟုတ် ပိုင်ရှင်သာ အသုံးပြုနိုင်သော/send on|off|inherit(standalone မက်ဆေ့ချ်) မှတစ်ဆင့် သတ်မှတ်နိုင်သည်။
Enforcement အချက်များ:
chat.send/agent(Gateway(ဂိတ်ဝေး))- auto‑reply delivery logic
sessions_spawn¶
သီးခြား ဆက်ရှင်တစ်ခုအတွင်း sub‑agent run ကို စတင်ပြီး ရလဒ်ကို တောင်းဆိုသူ ချတ် ချန်နယ်သို့ ကြေညာပါ။
Parameters:
task(လိုအပ်သည်)label?(ရွေးချယ်နိုင်; logs/UI အတွက် အသုံးပြုသည်)agentId?(ရွေးချယ်နိုင်; ခွင့်ပြုထားပါက အခြား agent id အောက်တွင် spawn)model?(ရွေးချယ်နိုင်; sub‑agent မော်ဒယ်ကို override ပြုလုပ်သည်; မမှန်ကန်သော တန်ဖိုးများတွင် အမှား)runTimeoutSeconds?(မူလ 0; သတ်မှတ်ထားပါက N စက္ကန့်ပြီးနောက် sub‑agent run ကို အဆုံးသတ်)cleanup?(delete|keep၊ မူလkeep)
Allowlist:
agents.list[].subagents.allowAgents: list of agent ids allowed viaagentId(["*"]to allow any). Default: only the requester agent.
Discovery:
agents_listကို အသုံးပြု၍sessions_spawnအတွက် ခွင့်ပြုထားသော agent id များကို ရှာဖွေပါ။
Behavior:
deliver: falseဖြင့်agent:<agentId>:subagent:<uuid>ဆက်ရှင်အသစ်ကို စတင်သည်။- Sub‑agent များတွင် မူလအားဖြင့် ကိရိယာအပြည့်အစုံကို အသုံးပြုနိုင်သော်လည်း session tools ကို ဖယ်ရှားထားသည် (
tools.subagents.toolsဖြင့် ပြင်ဆင်နိုင်သည်)။ - Sub‑agent များသည်
sessions_spawnကို ခေါ်ရန် ခွင့်မပြုပါ (sub‑agent → sub‑agent spawning မရှိ)။ - အမြဲ non‑blocking ဖြစ်ပြီး
{ status: "accepted", runId, childSessionKey }ကို ချက်ချင်း ပြန်ပေးသည်။ - ပြီးဆုံးပြီးနောက် OpenClaw သည် sub‑agent announce step ကို လည်ပတ်စေပြီး ရလဒ်ကို တောင်းဆိုသူ ချတ် ချန်နယ်သို့ ပို့သည်။
- Announce step အတွင်း တိတ်ဆိတ်နေရန်
ANNOUNCE_SKIPကို တိတိကျကျ ပြန်ကြားပါ။ - Announce ပြန်ကြားချက်များကို
Status/Result/Notesသို့ normalized ပြုလုပ်ထားပြီးStatusသည် runtime ရလဒ်မှ လာသည် (မော်ဒယ် စာသားမဟုတ်)။ - Sub‑agent ဆက်ရှင်များကို
agents.defaults.subagents.archiveAfterMinutes(မူလ: 60) ပြီးနောက် အလိုအလျောက် archive လုပ်သည်။ - Announce ပြန်ကြားချက်များတွင် stats line (runtime, tokens, sessionKey/sessionId, transcript path နှင့် ရွေးချယ်နိုင်သော cost) ပါဝင်သည်။
Sandbox ဆက်ရှင် မြင်နိုင်မှု¶
Sandboxed ဆက်ရှင်များသည် session tools ကို အသုံးပြုနိုင်သော်လည်း မူလအားဖြင့် sessions_spawn မှတစ်ဆင့် ကိုယ်တိုင် spawn လုပ်ထားသော ဆက်ရှင်များကိုသာ မြင်နိုင်သည်။
Config:
{
agents: {
defaults: {
sandbox: {
// default: "spawned"
sessionToolsVisibility: "spawned", // or "all"
},
},
},
}