Technical reference
ã»ãã·ã§ã³ç®¡çã®è©³çް
OpenClaw ã¯ã次ã®é åã«ããã£ãŠã»ãã·ã§ã³ããšã³ãããŒãšã³ãã§ç®¡çããŸãã
- ã»ãã·ã§ã³ã«ãŒãã£ã³ã°ïŒåä¿¡ã¡ãã»ãŒãžã
sessionKeyã«å¯Ÿå¿ä»ããæ¹æ³ïŒ - ã»ãã·ã§ã³ã¹ãã¢ïŒ
sessions.jsonïŒãšãããã远跡ããå 容 - ãã©ã³ã¹ã¯ãªããæ°žç¶åïŒ
*.jsonlïŒãšãã®æ§é - ãã©ã³ã¹ã¯ãªããè¡çïŒå®è¡åã®ãããã€ããŒåºæã®ä¿®æ£ïŒ
- ã³ã³ããã¹ãäžéïŒã³ã³ããã¹ããŠã£ã³ããŠãšè¿œè·¡ããŒã¯ã³ïŒ
- CompactionïŒæåããã³èªå CompactionïŒãšãCompaction ååŠçãããã¯ããå Žæ
- ãµã€ã¬ã³ããªããŠã¹ããŒãã³ã°ïŒãŠãŒã¶ãŒã«èŠããåºåãçæãã¹ãã§ãªãã¡ã¢ãªæžã蟌ã¿ïŒ
å ã«äžäœã¬ãã«ã®æŠèŠã確èªãããå Žåã¯ã次ããå§ããŠãã ããã
- ã»ãã·ã§ã³ç®¡ç
- Compaction
- ã¡ã¢ãªæŠèŠ
- ã¡ã¢ãªæ€çŽ¢
- ã»ãã·ã§ã³åªå®
- ãã©ã³ã¹ã¯ãªããè¡ç
çå®ã®ãœãŒã¹: Gateway
OpenClaw ã¯ãã»ãã·ã§ã³ç¶æ ãææããåäžã® Gateway ããã»ã¹ ãäžå¿ã«èšèšãããŠããŸãã
- UIïŒmacOS ã¢ããªãWeb Control UIãTUIïŒã¯ãã»ãã·ã§ã³äžèЧãšããŒã¯ã³æ°ã Gateway ã«åãåãããå¿ èŠããããŸãã
- ãªã¢ãŒãã¢ãŒãã§ã¯ãã»ãã·ã§ã³ãã¡ã€ã«ã¯ãªã¢ãŒããã¹ãäžã«ãããŸãããããŒã«ã«ã® Mac ãã¡ã€ã«ã確èªãããããšã§ã¯ãGateway ã䜿çšããŠããå 容ã¯åæ ãããŸããã
2 ã€ã®æ°žç¶åã¬ã€ã€ãŒ
OpenClaw ã¯ã»ãã·ã§ã³ã 2 ã€ã®ã¬ã€ã€ãŒã«æ°žç¶åããŸãã
-
ã»ãã·ã§ã³ã¹ãã¢ïŒ
sessions.jsonïŒ- ããŒ/å€ããã:
sessionKey -> SessionEntry - å°ããã倿Žå¯èœã§ãç·šéïŒãŸãã¯ãšã³ããªåé€ïŒããŠãå®å š
- ã»ãã·ã§ã³ã¡ã¿ããŒã¿ïŒçŸåšã®ã»ãã·ã§ã³ IDãæçµã¢ã¯ãã£ããã£ããã°ã«ãããŒã¯ã³ã«ãŠã³ã¿ãŒãªã©ïŒã远跡ããŸã
- ããŒ/å€ããã:
-
ãã©ã³ã¹ã¯ãªããïŒ
<sessionId>.jsonlïŒ- ããªãŒæ§é ãæã€è¿œèšå°çšãã©ã³ã¹ã¯ãªããïŒãšã³ããªã¯
id+parentIdãæã¡ãŸãïŒ - å®éã®äŒè©±ãããŒã«åŒã³åºããCompaction ãµããªãŒãä¿åããŸã
- å°æ¥ã®ã¿ãŒã³ã§ã¢ãã«ã³ã³ããã¹ããåæ§ç¯ããããã«äœ¿çšãããŸã
- Compaction ãã§ãã¯ãã€ã³ãã¯ãCompaction æžã¿ã®åŸç¶ãã©ã³ã¹ã¯ãªããã«å¯Ÿããã¡ã¿ããŒã¿ã§ããæ°ãã Compaction 㯠2 ã€ç®ã®
.checkpoint.*.jsonlã³ããŒãæžã蟌ã¿ãŸããã
- ããªãŒæ§é ãæã€è¿œèšå°çšãã©ã³ã¹ã¯ãªããïŒãšã³ããªã¯
Gateway ã®å±¥æŽãªãŒããŒã¯ãç»é¢ãä»»æã®å±¥æŽã¢ã¯ã»ã¹ãæç€ºçã«å¿
èŠãšããå Žåãé€ãããã©ã³ã¹ã¯ãªããå
šäœã®å®äœåãé¿ããå¿
èŠããããŸããæåã®ããŒãžã®å±¥æŽãåã蟌ã¿ãã£ããå±¥æŽãåèµ·åãªã«ããªãŒãããŒã¯ã³/䜿çšéãã§ãã¯ã¯ãå¢çä»ãã®æ«å°Ÿèªã¿åãã䜿çšããŸããå®å
šãªãã©ã³ã¹ã¯ãªããã¹ãã£ã³ã¯éåæãã©ã³ã¹ã¯ãªããã€ã³ããã¯ã¹ãçµç±ããããã¯ãã¡ã€ã«ãã¹ãš mtimeMs/size ã«ãã£ãŠãã£ãã·ã¥ãããåæãªãŒããŒéã§å
±æãããŸãã
ãã£ã¹ã¯äžã®å Žæ
ãšãŒãžã§ã³ãããšã«ãGateway ãã¹ãäžã§:
- ã¹ãã¢:
~/.openclaw/agents/<agentId>/sessions/sessions.json - ãã©ã³ã¹ã¯ãªãã:
~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl- Telegram ãããã¯ã»ãã·ã§ã³:
.../<sessionId>-topic-<threadId>.jsonl
- Telegram ãããã¯ã»ãã·ã§ã³:
OpenClaw ã¯ãããã src/config/sessions.ts çµç±ã§è§£æ±ºããŸãã
ã¹ãã¢ä¿å®ãšãã£ã¹ã¯å¶åŸ¡
ã»ãã·ã§ã³æ°žç¶åã«ã¯ãsessions.jsonããã©ã³ã¹ã¯ãªããææç©ããã©ãžã§ã¯ããªãµã€ãã«ãŒåãã®èªåä¿å®å¶åŸ¡ïŒsession.maintenanceïŒããããŸãã
mode:enforceïŒããã©ã«ãïŒãŸãã¯warnpruneAfter: å€ããšã³ããªã®å¹Žéœ¢ã«ãããªãïŒããã©ã«ã30dïŒmaxEntries:sessions.jsonå ã®ãšã³ããªäžéïŒããã©ã«ã500ïŒ- çåœã® Gateway ã¢ãã«å®è¡ãããŒãä¿æã¯
24hã«åºå®ãããŠããŸãããããã¯å§åå¶åŸ¡ãããŸããã»ãã·ã§ã³ãšã³ããªã®ä¿å®/äžéå§åã«éããå Žåã«ã®ã¿ãå€ãå³å¯ãããŒãè¡ãåé€ããŸããããã¯agent:*:explicit:model-run-<uuid>ã«äžèŽããå³å¯ãªæç€ºçãããŒãããŒã«ã®ã¿é©çšãããå®è¡æã«ã¯ã°ããŒãã«ãªå€ããšã³ããªã®ã¯ãªãŒã³ã¢ãã/äžéå¶åŸ¡ããåã«å®è¡ãããŸãã resetArchiveRetention:*.reset.<timestamp>ãã©ã³ã¹ã¯ãªããã¢ãŒã«ã€ãã®ä¿ææéïŒããã©ã«ã:pruneAfterãšåããfalseã§ã¯ãªãŒã³ã¢ãããç¡å¹åïŒmaxDiskBytes: ä»»æã®ã»ãã·ã§ã³ãã£ã¬ã¯ããªäºç®highWaterBytes: ã¯ãªãŒã³ã¢ããåŸã®ä»»æã®ç®æšå€ïŒããã©ã«ãã¯maxDiskBytesã®80%ïŒ
éåžžã® Gateway æžã蟌ã¿ã¯ãã©ã³ã¿ã€ã ãã¡ã€ã«ããã¯ãåããã«ããã»ã¹å
ã®å€æŽãçŽååãããã¹ãã¢ããšã®ã»ãã·ã§ã³ã©ã€ã¿ãŒãéããŸããããããã¹ã®ããããã«ããŒã¯ããã®ã©ã€ã¿ãŒã¹ããããä¿æããŠããéãæ€èšŒæžã¿ã®å€æŽå¯èœãã£ãã·ã¥ãåçšããããã倧ã㪠sessions.json ãã¡ã€ã«ãã¡ã¿ããŒã¿æŽæ°ããšã«è€è£œãŸãã¯åèªã¿åããããããšã¯ãããŸãããã©ã³ã¿ã€ã ã³ãŒãã§ã¯ updateSessionStore(...) ãŸã㯠updateSessionStoreEntry(...) ãåªå
ããŠãã ãããã¹ãã¢å
šäœã®çŽæ¥ä¿åã¯ãäºææ§ããã³ãªãã©ã€ã³ä¿å®çšããŒã«ã§ããGateway ã«å°éå¯èœãªå Žåããã©ã€ã©ã³ã§ã¯ãªã openclaw sessions cleanup ãš openclaw agents delete ã¯ã¹ãã¢å€æŽã Gateway ã«å§è²ãããããã¯ãªãŒã³ã¢ããã¯åãã©ã€ã¿ãŒãã¥ãŒã«åå ããŸãã--store <path> ã¯ãçŽæ¥ãã¡ã€ã«ä¿å®ã®ããã®æç€ºçãªãªãã©ã€ã³ä¿®åŸ©ãã¹ã§ããmaxEntries ã¯ãªãŒã³ã¢ããã¯æ¬çªèŠæš¡ã®äžéåãã«åŒãç¶ããããåããããããæ¬¡ã®é«æ°Žäœã¯ãªãŒã³ã¢ããã§æžãæ»ããããŸã§ãã¹ãã¢ãèšå®æžã¿äžéãäžæçã«è¶
ããå ŽåããããŸããã»ãã·ã§ã³ã¹ãã¢èªã¿åãã¯ãGateway èµ·åäžã«ãšã³ããªã®åªå®ãäžéå¶åŸ¡ãè¡ããŸãããã¯ãªãŒã³ã¢ããã«ã¯æžã蟌ã¿ããŸã㯠openclaw sessions cleanup --enforce ã䜿çšããŠãã ãããopenclaw sessions cleanup --enforce ã¯ããã£ã¹ã¯äºç®ãèšå®ãããŠããªãå Žåã§ããèšå®æžã¿äžéãå³åº§ã«é©çšããå€ãæªåç
§ã®ãã©ã³ã¹ã¯ãªããããã§ãã¯ãã€ã³ãããã©ãžã§ã¯ããªææç©ãåªå®ããŸãã
ä¿å®ã¯ãã°ã«ãŒãã»ãã·ã§ã³ãã¹ã¬ããã¹ã³ãŒãã®ãã£ããã»ãã·ã§ã³ãªã©ãæ°žç¶çãªå€éšäŒè©±ãã€ã³ã¿ãŒãä¿æããŸãããcronãããã¯ãHeartbeatãACPããµããšãŒãžã§ã³ãåãã®åæã©ã³ã¿ã€ã ãšã³ããªã¯ãèšå®æžã¿ã®å¹Žéœ¢ãä»¶æ°ããŸãã¯ãã£ã¹ã¯äºç®ãè¶
ãããšåé€ãããå ŽåããããŸããGateway ã¢ãã«å®è¡ãããŒãã»ãã·ã§ã³ã¯ãããŒã agent:*:explicit:model-run-<uuid> ã«å®å
šäžèŽããå Žåã«ã®ã¿ãå¥åã® 24h ã¢ãã«å®è¡ä¿æã䜿çšããŸããä»ã®æç€ºçã»ãã·ã§ã³ã¯ãã®ä¿æã®å¯Ÿè±¡ã§ã¯ãããŸãããã¢ãã«å®è¡ã¯ãªãŒã³ã¢ããã¯ãã»ãã·ã§ã³ãšã³ããªäžéã®å§åäžã§ã®ã¿é©çšãããŸããåé¢ cron å®è¡ã¯ãã¢ãã«å®è¡ãããŒãä¿æãšã¯ç¬ç«ããç¬èªã® cron.sessionRetention å¶åŸ¡ãä¿æããŸãã
OpenClaw ã¯ãGateway æžã蟌ã¿äžã«èªåç㪠sessions.json.bak.* ããŒããŒã·ã§ã³ããã¯ã¢ãããäœæããªããªããŸãããã¬ã¬ã·ãŒã® session.maintenance.rotateBytes ããŒã¯ç¡èŠãããopenclaw doctor --fix ãå€ãèšå®ããåé€ããŸãã
ãã©ã³ã¹ã¯ãªãã倿Žã¯ããã©ã³ã¹ã¯ãªãããã¡ã€ã«äžã®ã»ãã·ã§ã³æžã蟌ã¿ããã¯ã䜿çšããŸããããã¯ååŸã¯ãããžãŒã»ãã·ã§ã³ãšã©ãŒã衚é¢åããåã«æå€§ session.writeLock.acquireTimeoutMs ãŸã§åŸ
æ©ããŸããããã©ã«ã㯠60000 ms ã§ããæ£åœãªæºåãã¯ãªãŒã³ã¢ãããCompactionããŸãã¯ãã©ã³ã¹ã¯ãªãããã©ãŒåŠçãäœéãªãã·ã³ã§ããé·ãç«¶åããå Žåã«ã®ã¿ããã®å€ãäžããŠãã ãããsession.writeLock.staleMs ã¯ãæ¢åããã¯ãå€ããã®ãšããŠåååŸã§ããã¿ã€ãã³ã°ãå¶åŸ¡ããŸããããã©ã«ã㯠1800000 ms ã§ããsession.writeLock.maxHoldMs ã¯ãããã»ã¹å
ãŠã©ããããã°ã®è§£æŸãããå€ãå¶åŸ¡ããŸããããã©ã«ã㯠300000 ms ã§ããç·æ¥çšã®ç°å¢å€æ°ãªãŒããŒã©ã€ãã¯ãOPENCLAW_SESSION_WRITE_LOCK_ACQUIRE_TIMEOUT_MSãOPENCLAW_SESSION_WRITE_LOCK_STALE_MSãOPENCLAW_SESSION_WRITE_LOCK_MAX_HOLD_MS ã§ãã
ãã£ã¹ã¯äºç®ã¯ãªãŒã³ã¢ããã®é©çšé åºïŒmode: "enforce"ïŒ:
- æãå€ãã¢ãŒã«ã€ããå€ç«ãã©ã³ã¹ã¯ãªããããŸãã¯å€ç«ãã©ãžã§ã¯ããªææç©ãæåã«åé€ããŸãã
- ãŸã ç®æšãäžåã£ãŠããå Žåã¯ãæãå€ãã»ãã·ã§ã³ãšã³ããªãšãã®ãã©ã³ã¹ã¯ãªãã/ãã©ãžã§ã¯ããªãã¡ã€ã«ãéé¿ããŸãã
- 䜿çšéã
highWaterBytes以äžã«ãªããŸã§ç¶è¡ããŸãã
mode: "warn" ã§ã¯ãOpenClaw ã¯éé¿ã®å¯èœæ§ãå ±åããŸãããã¹ãã¢/ãã¡ã€ã«ã¯å€æŽããŸããã
å¿ èŠã«å¿ããŠä¿å®ãå®è¡ããŸãã
openclaw sessions cleanup --dry-runopenclaw sessions cleanup --enforceCron ã»ãã·ã§ã³ãšå®è¡ãã°
åé¢ cron å®è¡ãã»ãã·ã§ã³ãšã³ããª/ãã©ã³ã¹ã¯ãªãããäœæããå°çšã®ä¿æå¶åŸ¡ãæã¡ãŸãã
cron.sessionRetentionïŒããã©ã«ã24hïŒã¯ãå€ãåé¢ cron å®è¡ã»ãã·ã§ã³ãã»ãã·ã§ã³ã¹ãã¢ããåªå®ããŸãïŒfalseã§ç¡å¹åïŒãcron.runLog.keepLinesã¯ãcron ãžã§ãããšã®ä¿ææžã¿ SQLite å®è¡å±¥æŽè¡ãåªå®ããŸãïŒããã©ã«ã:2000ïŒãcron.runLog.maxBytesã¯ãå€ããã¡ã€ã«ããŒã¹ã®å®è¡ãã°åãã«åŒãç¶ãåãä»ããããŸãã
cron ãæ°ããåé¢å®è¡ã»ãã·ã§ã³ã匷å¶äœæãããšãæ°ããè¡ãæžã蟌ãåã«ã以åã® cron:<jobId> ã»ãã·ã§ã³ãšã³ããªããµãã¿ã€ãºããŸããthinking/fast/verbose èšå®ãã©ãã«ãæç€ºçãªãŠãŒã¶ãŒéžæã®ã¢ãã«/èªèšŒãªãŒããŒã©ã€ããªã©ãå®å
šãªèšå®ãåŒãç¶ããŸãããã£ãã«/ã°ã«ãŒãã«ãŒãã£ã³ã°ãéä¿¡ãŸãã¯ãã¥ãŒããªã·ãŒãææ Œããªãªãžã³ãACP ã©ã³ã¿ã€ã ãã€ã³ãã£ã³ã°ãªã©ã®åšèŸºäŒè©±ã³ã³ããã¹ãã¯åé€ããããããæ°ããåé¢å®è¡ãå€ãå®è¡ããå€ãé
ä¿¡ãã©ã³ã¿ã€ã æš©éãç¶æ¿ããããšã¯ãããŸããã
ã»ãã·ã§ã³ããŒïŒsessionKeyïŒ
sessionKey ã¯ãèªåããã äŒè©±ãã±ããïŒã«ãŒãã£ã³ã° + åé¢ïŒãèå¥ããŸãã
äžè¬çãªãã¿ãŒã³:
- ã¡ã€ã³/çŽæ¥ãã£ããïŒãšãŒãžã§ã³ãããšïŒ:
agent:<agentId>:<mainKey>ïŒããã©ã«ãmainïŒ - ã°ã«ãŒã:
agent:<agentId>:<channel>:group:<id> - ã«ãŒã /ãã£ãã«ïŒDiscord/SlackïŒ:
agent:<agentId>:<channel>:channel:<id>ãŸãã¯...:room:<id> - Cron:
cron:<job.id> - Webhook:
hook:<uuid>ïŒäžæžããããªãéãïŒ
æ£èŠã®ã«ãŒã«ã¯ /concepts/session ã«èšèŒãããŠããŸãã
ã»ãã·ã§ã³ IDïŒsessionIdïŒ
å sessionKey ã¯çŸåšã® sessionIdïŒäŒè©±ãç¶ç¶ãããã©ã³ã¹ã¯ãªãããã¡ã€ã«ïŒãæããŸãã
ç®å®:
- ãªã»ããïŒ
/newã/resetïŒã¯ããã®sessionKeyã«å¯ŸããŠæ°ããsessionIdãäœæããŸãã - æ¥æ¬¡ãªã»ããïŒããã©ã«ãã§ã¯ Gateway ãã¹ãã®ããŒã«ã«æå»ã§åå 4:00ïŒã¯ããªã»ããå¢çåŸã®æ¬¡ã®ã¡ãã»ãŒãžã§æ°ãã
sessionIdãäœæããŸãã - ã¢ã€ãã«æéåãïŒ
session.reset.idleMinutesãŸãã¯ã¬ã¬ã·ãŒã®session.idleMinutesïŒã¯ãã¢ã€ãã«æéåŸã«ã¡ãã»ãŒãžãå°çãããšããæ°ããsessionIdãäœæããŸããæ¥æ¬¡ãšã¢ã€ãã«ã®äž¡æ¹ãèšå®ãããŠããå Žåã¯ãå ã«æéåãã«ãªã£ãæ¹ãåªå ãããŸãã - Control UI 忥ç¶åéã¯ãGateway ããªãã¬ãŒã¿ãŒ UI ã¯ã©ã€ã¢ã³ãããäžèŽãã
sessionIdãåãåã£ãå Žåã1 åã®åæ¥ç¶éä¿¡ã«å¯ŸããŠçŸåšè¡šç€ºäžã®ã»ãã·ã§ã³ãä¿æã§ããŸããéåžžã®å€ãéä¿¡ã¯ãåŒãç¶ãæ°ããsessionIdãäœæããŸãã - ã·ã¹ãã ã€ãã³ãïŒHeartbeatãcron ãŠã§ã€ã¯ã¢ãããexec éç¥ãGateway ããã¯ããŒãã³ã°ïŒã¯ã»ãã·ã§ã³è¡ã倿Žããå ŽåããããŸãããæ¥æ¬¡/ã¢ã€ãã«ãªã»ããã®é®®åºŠã¯å»¶é·ããŸããããªã»ããããŒã«ãªãŒããŒã¯ãæ°ããããã³ãããæ§ç¯ãããåã«ãåã»ãã·ã§ã³åãã«ãã¥ãŒãããã·ã¹ãã ã€ãã³ãéç¥ãç Žæ£ããŸãã
- 芪ãã©ãŒã¯ããªã·ãŒã¯ãã¹ã¬ãããŸãã¯ãµããšãŒãžã§ã³ããã©ãŒã¯ãäœæãããšãã«ãOpenClaw ã®ã¢ã¯ãã£ããã©ã³ãã䜿çšããŸãããã®ãã©ã³ãã倧ããããå ŽåãOpenClaw ã¯å€±æããã䜿çšäžèœãªå±¥æŽãç¶æ¿ããããã代ããã«ãåé¢ã³ã³ããã¹ãã§åãéå§ããŸãããµã€ãºå€å®ããªã·ãŒã¯èªåã§ããã¬ã¬ã·ãŒã®
session.parentForkMaxTokensèšå®ã¯openclaw doctor --fixã«ãã£ãŠåé€ãããŸãã
å®è£
詳现: ãã®å€æã¯ src/auto-reply/reply/session.ts ã® initSessionState() ã§è¡ãããŸãã
ã»ãã·ã§ã³ã¹ãã¢ã¹ããŒãïŒsessions.jsonïŒ
ã¹ãã¢ã®å€å㯠src/config/sessions.ts ã® SessionEntry ã§ãã
äž»ãªãã£ãŒã«ãïŒç¶²çŸ çã§ã¯ãããŸããïŒ:
sessionId: çŸåšã®ãã©ã³ã¹ã¯ãªãã IDïŒsessionFileãèšå®ãããŠããªãéãããã¡ã€ã«åã¯ããããæŽŸçããŸãïŒsessionStartedAt: çŸåšã®sessionIdã®éå§ã¿ã€ã ã¹ã¿ã³ããæ¥æ¬¡ãªã»ããã®é®®åºŠã¯ããã䜿çšããŸããã¬ã¬ã·ãŒè¡ã§ã¯ãJSONL ã»ãã·ã§ã³ããããŒããæŽŸçããå ŽåããããŸããlastInteractionAt: æåŸã®å®ãŠãŒã¶ãŒ/ãã£ãã«ã€ã³ã¿ã©ã¯ã·ã§ã³ã®ã¿ã€ã ã¹ã¿ã³ããã¢ã€ãã«ãªã»ããã®é®®åºŠã¯ããã䜿çšãããããHeartbeatãcronãexec ã€ãã³ãã¯ã»ãã·ã§ã³ãç¶æããŸããããã®ãã£ãŒã«ãããªãã¬ã¬ã·ãŒè¡ã¯ã埩å ãããã»ãã·ã§ã³éå§æå»ãã¢ã€ãã«é®®åºŠã®ãã©ãŒã«ããã¯ãšããŠäœ¿çšããŸããupdatedAt: æåŸã®ã¹ãã¢è¡å€æŽã¿ã€ã ã¹ã¿ã³ãã§ãäžèŠ§è¡šç€ºãåªå®ãããã¯ããŒãã³ã°ã«äœ¿çšãããŸããæ¥æ¬¡/ã¢ã€ãã«ãªã»ããé®®åºŠã®æš©åšã§ã¯ãããŸãããsessionFile: ä»»æã®æç€ºçãªãã©ã³ã¹ã¯ãªãããã¹äžæžãchatType:direct | group | roomïŒUI ãšéä¿¡ããªã·ãŒãè£å©ïŒproviderãsubjectãroomãspaceãdisplayName: ã°ã«ãŒã/ãã£ãã«ã®ã©ãã«ä»ãçšã¡ã¿ããŒã¿- ãã°ã«:
thinkingLevelãverboseLevelãreasoningLevelãelevatedLevelsendPolicyïŒã»ãã·ã§ã³ããšã®äžæžãïŒ
- ã¢ãã«éžæ:
providerOverrideãmodelOverrideãauthProfileOverride
- ããŒã¯ã³ã«ãŠã³ã¿ãŒïŒãã¹ããšãã©ãŒã / ãããã€ããŒäŸåïŒ:
inputTokensãoutputTokensãtotalTokensãcontextTokens
compactionCount: ãã®ã»ãã·ã§ã³ããŒã§èªå Compaction ãå®äºããåæ°memoryFlushAt: æåŸã® Compaction åã¡ã¢ãªãã©ãã·ã¥ã®ã¿ã€ã ã¹ã¿ã³ãmemoryFlushCompactionCount: æåŸã®ãã©ãã·ã¥å®è¡æã® Compaction åæ°
ã¹ãã¢ã¯ç·šéããŠãå®å šã§ãããGateway ãæš©åšã§ããã»ãã·ã§ã³ã®å®è¡äžã«ãšã³ããªãæžãæãããåãã€ãã¬ãŒããããããå ŽåããããŸãã
ãã©ã³ã¹ã¯ãªããæ§é ïŒ*.jsonlïŒ
ãã©ã³ã¹ã¯ãªãã㯠openclaw/plugin-sdk/agent-sessions ã® SessionManager ã«ãã£ãŠç®¡çãããŸãã
ãã¡ã€ã«ã¯ JSONL ã§ãã
- å
é è¡: ã»ãã·ã§ã³ããããŒïŒ
type: "session"ãidãcwdãtimestampãä»»æã®parentSessionãå«ãïŒ - 以é:
id+parentIdãæã€ã»ãã·ã§ã³ãšã³ããªïŒããªãŒïŒ
泚ç®ãã¹ããšã³ããªã¿ã€ã:
message: user/assistant/toolResult ã¡ãã»ãŒãžcustom_message: ã¢ãã«ã³ã³ããã¹ãã«å ¥ããæ¡åŒµæ©èœããæ³šå ¥ãããã¡ãã»ãŒãžïŒUI ããé衚瀺ã«ã§ããïŒcustom: ã¢ãã«ã³ã³ããã¹ãã«å ¥ããªãæ¡åŒµæ©èœã®ç¶æ compaction:firstKeptEntryIdãštokensBeforeãå«ãæ°žç¶åããã Compaction ãµããªãŒbranch_summary: ããªãŒãã©ã³ããç§»åãããšãã®æ°žç¶åããããµããªãŒ
OpenClaw ã¯æå³çã«ãã©ã³ã¹ã¯ãªããããä¿®æ£ãããŸãããGateway 㯠SessionManager ã䜿ã£ãŠããããèªã¿æžãããŸãã
ã³ã³ããã¹ããŠã£ã³ããŠãšè¿œè·¡ããŒã¯ã³
éèŠãªæŠå¿µã¯ 2 ã€ãããŸãã
- ã¢ãã«ã³ã³ããã¹ããŠã£ã³ããŠ: ã¢ãã«ããšã®ããŒãäžéïŒã¢ãã«ã«èŠããããŒã¯ã³ïŒ
- ã»ãã·ã§ã³ã¹ãã¢ã«ãŠã³ã¿ãŒ:
sessions.jsonã«æžã蟌ãŸããããŒãªã³ã°çµ±èšïŒ/status ãšããã·ã¥ããŒãã§äœ¿çšïŒ
å¶éã調æŽããŠããå Žå:
- ã³ã³ããã¹ããŠã£ã³ããŠã¯ã¢ãã«ã«ã¿ãã°ããååŸãããŸãïŒèšå®ã§äžæžãå¯èœïŒã
- ã¹ãã¢å
ã®
contextTokensã¯ã©ã³ã¿ã€ã ã®æšå®å€/ã¬ããŒãå€ã§ããå³å¯ãªä¿èšŒãšããŠæ±ããªãã§ãã ããã
詳ãã㯠/token-use ãåç §ããŠãã ããã
Compaction: æŠèŠ
Compaction ã¯ãå€ãäŒè©±ããã©ã³ã¹ã¯ãªããå
ã®æ°žç¶åããã compaction ãšã³ããªã«èŠçŽããæè¿ã®ã¡ãã»ãŒãžã¯ãã®ãŸãŸä¿æããŸãã
Compaction åŸã以åŸã®ã¿ãŒã³ã§èŠãããã®:
- Compaction ãµããªãŒ
firstKeptEntryId以éã®ã¡ãã»ãŒãž
Compaction åŸã® AGENTS.md ã»ã¯ã·ã§ã³å泚å
¥ã¯ã
agents.defaults.compaction.postCompactionSections ã«ãããªããã€ã³ã§ããæªèšå®ãŸã㯠[] ã®å Žåã
OpenClaw 㯠Compaction ãµããªãŒã®äžã« AGENTS.md æç²ã远å ããŸããã
Compaction ã¯ïŒã»ãã·ã§ã³åªå®ãšã¯ç°ãªãïŒæ°žç¶çã§ãã/concepts/session-pruning ãåç §ããŠãã ããã
Compaction ãã£ã³ã¯å¢çãšããŒã«ã®ãã¢ãªã³ã°
OpenClaw ãé·ããã©ã³ã¹ã¯ãªããã Compaction ãã£ã³ã¯ã«åå²ãããšããassistant ã®ããŒã«åŒã³åºãã察å¿ãã toolResult ãšã³ããªãšãã¢ã®ãŸãŸä¿æããŸãã
- ããŒã¯ã³æ¯çã«ããåå²äœçœ®ãããŒã«åŒã³åºããšãã®çµæã®éã«æ¥ãå ŽåãOpenClaw ã¯ãã¢ãåé¢ããã®ã§ã¯ãªããå¢çã assistant ã®ããŒã«åŒã³åºãã¡ãã»ãŒãžãžç§»åããŸãã
- æ«å°Ÿã®ããŒã«çµæãããã¯ã«ãã£ãŠãã£ã³ã¯ãã¿ãŒã²ãããè¶ ããŠããŸãå ŽåãOpenClaw ã¯ãã®ä¿çäžã®ããŒã«ãããã¯ãä¿æããèŠçŽãããŠããªãæ«å°Ÿããã®ãŸãŸæ®ããŸãã
- äžæ¢/ãšã©ãŒã«ãªã£ãããŒã«åŒã³åºããããã¯ã¯ãä¿çäžã®åå²ãéãããŸãŸã«ã¯ããŸããã
èªå Compaction ãçºçããã¿ã€ãã³ã°ïŒOpenClaw ã©ã³ã¿ã€ã ïŒ
çµã¿èŸŒã¿ OpenClaw ãšãŒãžã§ã³ãã§ã¯ãèªå Compaction 㯠2 ã€ã®å Žåã«ããªã¬ãŒãããŸãã
- ãªãŒããŒãããŒå埩: ã¢ãã«ãã³ã³ããã¹ããªãŒããŒãããŒãšã©ãŒ
(
request_too_large,context length exceeded,input exceeds the maximum number of tokens,input token count exceeds the maximum number of input tokens,input is too long for the model,ollama error: context length exceededãããã³é¡äŒŒãããããã€ããŒåœ¢åŒã®ããªã¢ã³ã) ãè¿ã â Compaction â å詊è¡ã ãããã€ããŒã詊è¡ãããããŒã¯ã³æ°ãå ±åããå ŽåãOpenClaw ã¯ãã®èŠ³æž¬å€ããªãŒããŒãããŒå埩 Compaction ã«è»¢éããŸãããããã€ããŒããªãŒããŒãããŒã確èªããŠãè§£æå¯èœãªæ°å€ãå ¬éããªãå ŽåãOpenClaw ã¯äºç®ãæå°éè¶ éããåæã«ãŠã³ãã Compaction ãšã³ãžã³ãšèšºæãžæž¡ããŸãã ãªãŒããŒãããŒå埩ãããã§ã倱æããå ŽåãOpenClaw ã¯ãŠãŒã¶ãŒã«æç€ºçãªã¬ã€ãã³ã¹ã衚瀺ããã»ãã·ã§ã³ããŒãæ°ããã»ãã·ã§ã³ ID ã«é»ã£ãŠããŒããŒã·ã§ã³ããã®ã§ã¯ãªããçŸåšã®ã»ãã·ã§ã³ãããã³ã°ãä¿æããŸããæ¬¡ã®æé ã¯ãªãã¬ãŒã¿ãŒå¶åŸ¡ã§ã: ã¡ãã»ãŒãžãå詊è¡ããã/compactãå®è¡ããããŸãã¯æ°ããã»ãã·ã§ã³ãåžæããå Žåã¯/newãå®è¡ããŸãã - ãããå€ã¡ã³ããã³ã¹: æåããã¿ãŒã³ã®åŸã次ã®å Žå:
contextTokens > contextWindow - reserveTokens
ããã§:
contextWindowã¯ã¢ãã«ã®ã³ã³ããã¹ããŠã£ã³ããŠreserveTokensã¯ããã³ãã + 次ã®ã¢ãã«åºåçšã«äºçŽãããäœè£
ããã㯠OpenClaw ã©ã³ã¿ã€ã ã®ã»ãã³ãã£ã¯ã¹ã§ãã
OpenClaw ã¯ãagents.defaults.compaction.maxActiveTranscriptBytes ãèšå®ãããã¢ã¯ãã£ããªãã©ã³ã¹ã¯ãªãããã¡ã€ã«ããã®ãµã€ãºã«éãããšããæ¬¡ã®å®è¡ãéãåã«ããªãã©ã€ãã®ããŒã«ã« Compaction ãããªã¬ãŒããããšãã§ããŸããããã¯ããŒã«ã«åãªãŒãã³ã³ã¹ãã®ããã®ãã¡ã€ã«ãµã€ãºã¬ãŒãã§ãããçã®ã¢ãŒã«ã€ãã§ã¯ãããŸãããOpenClaw ã¯éåžžã®ã»ãã³ãã£ã㯠Compaction ãåŒãç¶ãå®è¡ããå§çž®æžã¿ãµããªãŒãæ°ããåŸç¶ãã©ã³ã¹ã¯ãªããã«ãªãããã truncateAfterCompaction ãå¿
èŠãšããŸãã
çµã¿èŸŒã¿ OpenClaw å®è¡ã§ã¯ãagents.defaults.compaction.midTurnPrecheck.enabled: true ã«ãã£ãŠãªããã€ã³ã®ããŒã«ã«ãŒãã¬ãŒãã远å ãããŸããããŒã«çµæã远å ãããåŸã次ã®ã¢ãã«åŒã³åºãã®åã«ãOpenClaw ã¯ã¿ãŒã³éå§æã«äœ¿ããã®ãšåãããªãã©ã€ãäºç®ããžãã¯ã§ããã³ããå§åãæšå®ããŸããã³ã³ããã¹ããåãŸããªããªã£ãå Žåããã®ã¬ãŒã㯠OpenClaw ã©ã³ã¿ã€ã ã® transformContext ããã¯å
ã§ã¯ Compaction ããŸãããæ§é åãããã¿ãŒã³äžããªãã§ãã¯ã·ã°ãã«ãçºçãããçŸåšã®ããã³ããéä¿¡ã忢ããå€åŽã®å®è¡ã«ãŒãã«æ¢åã®å埩ãã¹ã䜿ãããŸããååãªå Žåã¯ãµã€ãºè¶
éã®ããŒã«çµæãåãè©°ããããèšå®æžã¿ã® Compaction ã¢ãŒããããªã¬ãŒããŠå詊è¡ããŸãããã®ãªãã·ã§ã³ã¯ããã©ã«ãã§ç¡å¹ã§ããããã€ããŒæ¯æŽã® safeguard Compaction ãå«ã default ãš safeguard ã®äž¡æ¹ã® Compaction ã¢ãŒãã§åäœããŸãã
ãã㯠maxActiveTranscriptBytes ãšã¯ç¬ç«ããŠããŸãããã€ããµã€ãºã¬ãŒãã¯ã¿ãŒã³ãéãåã«å®è¡ãããã¿ãŒã³äžããªãã§ãã¯ã¯æ°ããããŒã«çµæã远å ãããåŸãçµã¿èŸŒã¿ OpenClaw ããŒã«ã«ãŒãå
ã§åŸããå®è¡ãããŸãã
Compaction èšå®ïŒreserveTokens, keepRecentTokensïŒ
OpenClaw ã©ã³ã¿ã€ã ã® Compaction èšå®ã¯ãšãŒãžã§ã³ãèšå®ã«ãããŸãã
{ compaction: { enabled: true, reserveTokens: 16384, keepRecentTokens: 20000, },}OpenClaw ã¯çµã¿èŸŒã¿å®è¡ã«å¯ŸããŠå®å šããã¢ã匷å¶ããŸãã
compaction.reserveTokens < reserveTokensFloorã®å ŽåãOpenClaw ã¯ãããåŒãäžããŸãã- ããã©ã«ãã®ããã¢ã¯
20000ããŒã¯ã³ã§ãã - ããã¢ãç¡å¹ã«ããã«ã¯
agents.defaults.compaction.reserveTokensFloor: 0ãèšå®ããŸãã - ãã§ã«ããããé«ãå ŽåãOpenClaw ã¯ãã®ãŸãŸã«ããŸãã
- æåã®
/compactã¯æç€ºçãªagents.defaults.compaction.keepRecentTokensãå°éããOpenClaw ã©ã³ã¿ã€ã ã®æè¿æ«å°Ÿã®åæç¹ãä¿æããŸããæç€ºçãªä¿æäºç®ããªãå Žåãæå Compaction ã¯ããŒããã§ãã¯ãã€ã³ãã®ãŸãŸã§ãåæ§ç¯ãããã³ã³ããã¹ãã¯æ°ãããµããªãŒããéå§ããŸãã - æ°ããããŒã«çµæã®åŸã次ã®ã¢ãã«åŒã³åºãã®åã«ä»»æã®ããŒã«ã«ãŒãããªãã§ãã¯ãå®è¡ããã«ã¯ã
agents.defaults.compaction.midTurnPrecheck.enabled: trueãèšå®ããŸããããã¯ããªã¬ãŒã®ã¿ã§ãããµããªãŒçæã¯åŒãç¶ãèšå®æžã¿ã® Compaction ãã¹ã䜿ããŸããããã¯ã¿ãŒã³éå§æã®ã¢ã¯ãã£ããã©ã³ã¹ã¯ãªããã®ãã€ããµã€ãºã¬ãŒãã§ããmaxActiveTranscriptBytesãšã¯ç¬ç«ããŠããŸãã - ã¢ã¯ãã£ããªãã©ã³ã¹ã¯ãªããã倧ãããªã£ããšããã¿ãŒã³ã®åã«ããŒã«ã« Compaction ãå®è¡ããã«ã¯ã
agents.defaults.compaction.maxActiveTranscriptBytesã«ãã€ãå€ãŸãã¯"20mb"ã®ãããªæååãèšå®ããŸãããã®ã¬ãŒãã¯truncateAfterCompactionãæå¹ãªå Žåã«ã®ã¿æå¹ã§ããç¡å¹ã«ããã«ã¯æªèšå®ã®ãŸãŸã«ããã0ãèšå®ããŸãã agents.defaults.compaction.truncateAfterCompactionãæå¹ãªå ŽåãOpenClaw 㯠Compaction åŸã«ã¢ã¯ãã£ããªãã©ã³ã¹ã¯ãªãããå§çž®æžã¿ã®åŸç¶ JSONL ã«ããŒããŒã·ã§ã³ããŸãããã©ã³ã/埩å ãã§ãã¯ãã€ã³ãã¢ã¯ã·ã§ã³ã¯ãã®å§çž®æžã¿åŸç¶ã䜿çšããŸããåç §ãããŠããéãã¬ã¬ã·ãŒã® Compaction åãã§ãã¯ãã€ã³ããã¡ã€ã«ã¯èªã¿åãå¯èœãªãŸãŸã§ãã
çç±: Compaction ãé¿ããããªããªãåã«ãã¡ã¢ãªæžã蟌ã¿ã®ãããªè€æ°ã¿ãŒã³ã®ãããŠã¹ããŒãã³ã°ãã«ååãªäœè£ãæ®ãããã§ãã
å®è£
: src/agents/agent-settings.ts ã® applyAgentCompactionSettingsFromConfig()
ïŒçµã¿èŸŒã¿ã©ã³ããŒã®ã¿ãŒã³ãš Compaction ã»ããã¢ãããã¹ããåŒã³åºãããŸãïŒã
ãã©ã°å¯èœãª Compaction ãããã€ããŒ
Plugin 㯠Plugin API äžã® registerCompactionProvider() ã§ Compaction ãããã€ããŒãç»é²ã§ããŸããagents.defaults.compaction.provider ãç»é²æžã¿ãããã€ã㌠ID ã«èšå®ãããŠããå Žåãsafeguard æ¡åŒµæ©èœã¯çµã¿èŸŒã¿ã® summarizeInStages ãã€ãã©ã€ã³ã§ã¯ãªãããã®ãããã€ããŒãžèŠçŽãå§ä»»ããŸãã
provider: ç»é²æžã¿ Compaction ãããã€ã㌠Plugin ã® IDãããã©ã«ãã® LLM èŠçŽã䜿ãå Žåã¯æªèšå®ã«ããŸããproviderãèšå®ãããšmode: "safeguard"ã匷å¶ãããŸãã- ãããã€ããŒã¯ãçµã¿èŸŒã¿ãã¹ãšåã Compaction æç€ºãšèå¥åä¿æããªã·ãŒãåãåããŸãã
- safeguard ã¯ããããã€ããŒåºåã®åŸã§ãæè¿ã¿ãŒã³ãšåå²ã¿ãŒã³ã®ãµãã£ãã¯ã¹ã³ã³ããã¹ããä¿æããŸãã
- çµã¿èŸŒã¿ safeguard èŠçŽã¯ã以åã®ãµããªãŒå šäœããã®ãŸãŸä¿æããã®ã§ã¯ãªãã以åã®ãµããªãŒãæ°ããã¡ãã»ãŒãžãšåãããŠåèžçããŸãã
- safeguard ã¢ãŒãã§ã¯ããµããªãŒåè³ªç£æ»ãããã©ã«ãã§æå¹ã«ãªããŸãã圢åŒäžæ£åºåæã®å詊è¡åäœãã¹ãããããã«ã¯
qualityGuard.enabled: falseãèšå®ããŸãã - ãããã€ããŒã倱æããã空ã®çµæãè¿ããå ŽåãOpenClaw ã¯èªåçã«çµã¿èŸŒã¿ LLM èŠçŽãžãã©ãŒã«ããã¯ããŸãã
- äžæ¢/ã¿ã€ã ã¢ãŠãã·ã°ãã«ã¯ãåŒã³åºãå ã®ãã£ã³ã»ã«ãå°éãããããïŒæ¡ãã€ã¶ãããã«ïŒåã¹ããŒãããŸãã
ãœãŒã¹: src/plugins/compaction-provider.ts, src/agents/agent-hooks/compaction-safeguard.tsã
ãŠãŒã¶ãŒã«èŠãããµãŒãã§ã¹
Compaction ãšã»ãã·ã§ã³ç¶æ ã¯æ¬¡ã®æ¹æ³ã§èŠ³æž¬ã§ããŸãã
/statusïŒä»»æã®ãã£ããã»ãã·ã§ã³å ïŒopenclaw statusïŒCLIïŒopenclaw sessions/sessions --json- Gateway ãã°ïŒ
pnpm gateway:watchãŸãã¯openclaw logs --followïŒ:embedded run auto-compaction start+complete - 詳现ã¢ãŒã:
ð§¹ Auto-compaction complete+ Compaction åæ°
ãµã€ã¬ã³ãããŠã¹ããŒãã³ã°ïŒNO_REPLYïŒ
OpenClaw ã¯ããŠãŒã¶ãŒã«äžéåºåãèŠããã¹ãã§ã¯ãªãããã¯ã°ã©ãŠã³ãã¿ã¹ã¯åãã«ããµã€ã¬ã³ããã¿ãŒã³ããµããŒãããŸãã
èŠçŽ:
- assistant ã¯åºåãæ£ç¢ºãªãµã€ã¬ã³ãããŒã¯ã³
NO_REPLY/no_replyã§éå§ããããŠãŒã¶ãŒãžè¿ä¿¡ãé ä¿¡ããªããããšã瀺ããŸãã - OpenClaw ã¯é ä¿¡ã¬ã€ã€ãŒã§ãããåãé€ã/æå¶ããŸãã
- æ£ç¢ºãªãµã€ã¬ã³ãããŒã¯ã³æå¶ã¯å€§æåå°æåãåºå¥ããªãããããã€ããŒãå
šäœããµã€ã¬ã³ãããŒã¯ã³ã ãã§ããå Žåã
NO_REPLYãšno_replyã¯ã©ã¡ãã該åœããŸãã - ããã¯çã®ããã¯ã°ã©ãŠã³ã/éé ä¿¡ã¿ãŒã³å°çšã§ããéåžžã®å¯Ÿå¿å¯èœãªãŠãŒã¶ãŒãªã¯ãšã¹ãã®ã·ã§ãŒãã«ããã§ã¯ãããŸããã
2026.1.10 æç¹ã§ãOpenClaw ã¯éšåãã£ã³ã¯ã NO_REPLY ã§å§ãŸãå Žåãäžæžã/å
¥åäžã¹ããªãŒãã³ã° ãæå¶ããããããµã€ã¬ã³ãæäœãã¿ãŒã³äžã«éšååºåãæŒãããŸããã
Compaction åã®ãã¡ã¢ãªãã©ãã·ã¥ãïŒå®è£ æžã¿ïŒ
ç®æš: èªå Compaction ãçºçããåã«ãæ°žç¶çãªç¶æ
ããã£ã¹ã¯ïŒäŸ: ãšãŒãžã§ã³ãã¯ãŒã¯ã¹ããŒã¹å
ã® memory/YYYY-MM-DD.mdïŒãžæžã蟌ããµã€ã¬ã³ããªãšãŒãžã§ã³ãã¿ãŒã³ãå®è¡ããCompaction ãéèŠãªã³ã³ããã¹ããæ¶ããªãããã«ããŸãã
OpenClaw 㯠äºåãããå€ãã©ãã·ã¥ ã¢ãããŒãã䜿ããŸãã
- ã»ãã·ã§ã³ã³ã³ããã¹ã䜿çšéãç£èŠããŸãã
- ïŒOpenClaw ã©ã³ã¿ã€ã ã® Compaction ãããå€ããäžã®ïŒããœãããããå€ããè¶ ãããããšãŒãžã§ã³ãã«ãµã€ã¬ã³ããªãä»ããã¡ã¢ãªãæžã蟌ããæç€ºãå®è¡ããŸãã
- æ£ç¢ºãªãµã€ã¬ã³ãããŒã¯ã³
NO_REPLY/no_replyã䜿ãããŠãŒã¶ãŒã«ã¯äœãèŠããŸããã
èšå®ïŒagents.defaults.compaction.memoryFlushïŒ:
enabledïŒããã©ã«ã:trueïŒmodelïŒãã©ãã·ã¥ã¿ãŒã³çšã®ä»»æã®æ£ç¢ºãªãããã€ããŒ/ã¢ãã«äžæžããäŸ:ollama/qwen3:8bïŒsoftThresholdTokensïŒããã©ã«ã:4000ïŒpromptïŒãã©ãã·ã¥ã¿ãŒã³çšã®ãŠãŒã¶ãŒã¡ãã»ãŒãžïŒsystemPromptïŒãã©ãã·ã¥ã¿ãŒã³çšã«è¿œå ããã远å ã·ã¹ãã ããã³ããïŒ
泚èš:
- ããã©ã«ãã®ããã³ãã/ã·ã¹ãã ããã³ããã«ã¯ãé
ä¿¡ãæå¶ããããã®
NO_REPLYãã³ããå«ãŸããŸãã modelãèšå®ãããŠããå Žåããã©ãã·ã¥ã¿ãŒã³ã¯ã¢ã¯ãã£ãã»ãã·ã§ã³ã®ãã©ãŒã«ããã¯ãã§ãŒã³ãç¶æ¿ããã«ãã®ã¢ãã«ã䜿çšãããããããŒã«ã«å°çšã®ããŠã¹ããŒãã³ã°ãææã®äŒè©±ã¢ãã«ãžé»ã£ãŠãã©ãŒã«ããã¯ããããšã¯ãããŸããã- ãã©ãã·ã¥ã¯ Compaction ãµã€ã¯ã«ããšã« 1 åå®è¡ãããŸãïŒ
sessions.jsonã§è¿œè·¡ïŒã - ãã©ãã·ã¥ã¯çµã¿èŸŒã¿ OpenClaw ã»ãã·ã§ã³ã§ã®ã¿å®è¡ãããŸãïŒCLI ããã¯ãšã³ãã¯ã¹ãããããŸãïŒã
- ã»ãã·ã§ã³ã¯ãŒã¯ã¹ããŒã¹ãèªã¿åãå°çšïŒ
workspaceAccess: "ro"ãŸãã¯"none"ïŒã®å Žåããã©ãã·ã¥ã¯ã¹ããããããŸãã - ã¯ãŒã¯ã¹ããŒã¹ãã¡ã€ã«ã¬ã€ã¢ãŠããšæžã蟌ã¿ãã¿ãŒã³ã«ã€ããŠã¯ Memory ãåç §ããŠãã ããã
OpenClaw ã¯æ¡åŒµæ©èœ API ã§ session_before_compact ããã¯ãå
¬éããŠããŸãããOpenClaw ã®ãã©ãã·ã¥ããžãã¯ã¯çŸåš Gateway åŽã«ãããŸãã
ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãã§ãã¯ãªã¹ã
- ã»ãã·ã§ã³ããŒãééã£ãŠããå Žåã¯ã/concepts/session ããå§ãã
/statusã®sessionKeyã確èªããŸãã - ã¹ãã¢ãšãã©ã³ã¹ã¯ãªãããäžèŽããªãå Žåã¯ã
openclaw statusãã Gateway ãã¹ããšã¹ãã¢ãã¹ã確èªããŸãã - Compaction ãé »çºããå Žåã¯ã次ã確èªããŸã:
- ã¢ãã«ã³ã³ããã¹ããŠã£ã³ããŠïŒå°ããããïŒ
- Compaction èšå®ïŒ
reserveTokensãã¢ãã«ãŠã£ã³ããŠã«å¯ŸããŠé«ããããšãCompaction ãæ©ãçºçããå¯èœæ§ããããŸãïŒ - ããŒã«çµæã®è¥å€§å: ã»ãã·ã§ã³åªå®ãæå¹å/調æŽããŸã
- ãµã€ã¬ã³ãã¿ãŒã³ãæŒããå Žåã¯ãè¿ä¿¡ã
NO_REPLYïŒå€§æåå°æåãåºå¥ããªãæ£ç¢ºãªããŒã¯ã³ïŒã§å§ãŸã£ãŠããããšãããã³ã¹ããªãŒãã³ã°æå¶ä¿®æ£ãå«ããã«ãã䜿çšããŠããããšã確èªããŸãã