Add Discord bot channel integration to NanoClaw.
日本語の概要は準備中です。原文の説明を表示しています。
Add /compact command for manual context compaction. Solves context rot in long sessions by forwarding the SDK's built-in /compact slash command. Main-group or trusted sender only.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Adds a /compact session command that compacts conversation history to fight context rot in long-running sessions. Uses the Claude Agent SDK's built-in /compact slash command — no synthetic system prompts.
Session contract: /compact keeps the same logical session alive. The SDK returns a new session ID after compaction (via the init system message), which the agent-runner forwards to the orchestrator as newSessionId. No destructive reset occurs — the agent retains summarized context.
Check if src/session-commands.ts exists:
test -f src/session-commands.ts && echo "Already applied" || echo "Not applied"
If already applied, skip to Phase 3 (Verify).
Merge the skill branch:
git fetch upstream skill/compact
git merge upstream/skill/compact
Note:
upstreamis the remote pointing toqwibitai/nanoclaw. If using a different remote name, substitute accordingly.
This adds:
src/session-commands.ts (extract and authorize session commands)src/session-commands.test.ts (unit tests for command parsing and auth)src/index.ts (both processGroupMessages and startMessageLoop)container/agent-runner/src/index.tsnpm test
npm run build
./container/build.sh
launchctl kickstart -k gui/$(id -u)/com.nanoclaw # macOS
# Linux: systemctl --user restart nanoclaw
npm run dev/compactgroups/{folder}/conversations/ (by the PreCompact hook)Compact boundary observed (confirms SDK actually compacted)compact_boundary was NOT observed, the response says "compact_boundary was not observed"@<assistant> /compactis_from_me), send: @<assistant> /compact/compact/compact, then another normal message in quick succession (same polling batch):runAgent calls)/compact in the batch are preserved (cursor advances to /compact's timestamp only) and processed on the next poll cycle@<assistant> /compact:/compact is consumed (cursor advanced) — it does NOT replay on future polls/compact + other messages in the same polling interval)requiresTrigger enabled) as a non-admin user, send bare /compact (no trigger prefix):/compact is consumed silentlyrequiresTrigger is false, a denial message IS sent because the sender is considered reachable/compact triggers itgit clone <your-fork> /tmp/nanoclaw-test
cd /tmp/nanoclaw-test
claude # then run /add-compact
npm run build
npm test
./container/build.sh
# Manual: send /compact from main group, verify compaction + continuation
# Manual: send @<assistant> /compact from non-main as non-admin, verify denial
# Manual: send @<assistant> /compact from non-main as admin, verify allowed
# Manual: verify no auto-compaction behavior
docs/SECURITY.md). Non-main groups are untrusted — a careless or malicious user could wipe the agent's short-term memory. However, the device owner (is_from_me) is always trusted and can compact from any group.PreCompact hook in the agent-runner archives the full transcript to conversations/ before the SDK compacts it./clear command (separate skill, separate semantics — /clear is a destructive reset)is_from_me) or main-group senders can use /compact. Other users are denied./compact fail to process, the error message says "Failed to process messages before /compact." The cursor advances past sent output to prevent duplicates; /compact remains pending for the next attempt.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Add Discord bot channel integration to NanoClaw.
日本語の概要は準備中です。原文の説明を表示しています。
Add Emacs as a channel. Opens an interactive chat buffer and org-mode integration so you can talk to NanoClaw from within Emacs (Doom, Spacemacs, or vanilla). Uses a local HTTP bridge — no bot token or external service needed.
日本語の概要は準備中です。原文の説明を表示しています。
Add Gmail integration to NanoClaw. Can be configured as a tool (agent reads/sends emails when triggered from WhatsApp) or as a full channel (emails can trigger the agent, schedule tasks, and receive replies). Guides through GCP OAuth setup and implements the integration.
日本語の概要は準備中です。原文の説明を表示しています。
Add image vision to NanoClaw agents. Resizes and processes WhatsApp image attachments, then sends them to Claude as multimodal content blocks.
日本語の概要は準備中です。原文の説明を表示しています。
Add a macOS menu bar status indicator for NanoClaw. Shows a bolt icon with a green/red dot indicating whether NanoClaw is running, with Start, Stop, and Restart controls. macOS only.
日本語の概要は準備中です。原文の説明を表示しています。
Add Ollama MCP server so the container agent can call local models and optionally manage the Ollama model library.
日本語の概要は準備中です。原文の説明を表示しています。