#Bounded Agent

1 messages · Page 1 of 1 (latest)

sterile mortar
#

I would like to setup an agent that is bound to my bluebubbles group chat brothel brothers united using the minimax model that has its own memory and persona. using openclaw/pi harness or whatever is best

{
"agents": {
"defaults": {
"workspace": "<REDACTED>",
"memorySearch": {
"provider": "gemini"
},
"models": {
"minimax/MiniMax-M2.7-highspeed": {},
"openai-codex/gpt-5.4": {},
"openai-codex/gpt-5.3-codex": {},
"google/gemini-3.1-pro-preview": {}
},
"model": {
"primary": "minimax/MiniMax-M2.7-highspeed",
"fallbacks": [
"openai-codex/gpt-5.4",
"google/gemini-3.1-pro-preview",
"openai-codex/gpt-5.3-codex"
]
}
},
"list": [
{
"id": "general",
"default": true,
"workspace": "/Users/xxx.openclaw/workspace"
},
{
"id": "brothel-brothers-united",
"workspace": "<REDACTED>"
}
]
},
"bindings": [
{
"agentId": "brothel-brothers-united",
"match": {
"channel": "bluebubbles",
"accountId": "default",
"peer": {
"kind": "group",
"id": "<REDACTED>"
}
}
},
{
"agentId": "general",
"match": {
"channel": "bluebubbles",
"accountId": "default"
}
},
{
"agentId": "general",
"match": {
"channel": "discord",
"guildId": "1xxx"
}
}
],
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "<REDACTED>"
},
"port": 18789,
"bind": "loopback",
"trustedProxies": [
"127.0.0.1",
"::1"
],
"tailscale": {
"mode": "serve",
"resetOnExit": false
},
"controlUi": {
"allowedOrigins": [
"<REDACTED>"
],
"allowInsecureAuth": false
},
"nodes": {
"denyCommands": [
"camera.snap",
"camera.clip",
"screen.record",
"contacts.add",
"calendar.add",
"reminders.add",
"sms.send",
"sms.search"
]
}
},
"session": {
"dmScope": "per-channel-peer"
},
"tools": {
"profile": "coding",
"web": {
"search": {
"provider": "gemini",
"enabled": true,
"openaiCodex": {
"enabled": true,
"mode": "cached"
}
},
"fetch": {
"enabled": true
}
}
},
"models": {
"mode": "merge",
"providers": {
"minimax": {
"baseUrl": "https://api.minimax.io/anthropic",
"models": [
{
"id": "MiniMax-M2.7",
"name": "MiniMax M2.7",
"reasoning": true,
"input": [
"text",
"image"
],
"cost": {
"input": 0.3,
"output": 1.2,
"cacheRead": 0.06,
"cacheWrite": 0.375
},
"contextWindow": 204800,
"maxTokens": 131072
}
],
"api": "anthropic-messages",
"authHeader": true
}
}
},

"channels": {
"bluebubbles": {
"enabled": true,
"webhookPath": "/bluebubbles-webhook",
"serverUrl": "http://192.168.1.57:1234",
"password": "Stripe@3675",
"dmPolicy": "pairing",
"groupPolicy": "allowlist",
"sendReadReceipts": true,
"chunkMode": "length",
"mediaLocalRoots": [
"<REDACTED>",
"<REDACTED>"
],
"allowFrom": [
"<REDACTED>"
],
"groupAllowFrom": [
"chat_guid:any;+;e945968c540a40b1906152"
],
"groups": {
"*": {
"requireMention": true
},
"<REDACTED>": {
"requireMention": true
}
}
},

frail badgerBOT
slim gullBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

frail badgerBOT
empty ploverBOT
#

First, please rotate the gateway token and BlueBubbles password you pasted here. Those are live secrets in a public thread.

For what you want, I’d use a dedicated native OpenClaw agent, not ACP/Pi, unless you specifically want the external Pi harness workflow.

Why:

  • separate workspace = separate persona/files
  • separate session store = separate conversation history
  • separate memory/index = its own memory
  • simple routing = bind that BlueBubbles group to that agent

Your config is already close. The main changes I’d make are:

  1. Pin the model on that agent itself
    {
      id: "brothel-brothers-united",
    
#
     workspace: "<its-own-workspace>",
     model: "minimax/<exact-model-id>"
   }

Do not guess the MiniMax id. In your paste, model.primary is minimax/MiniMax-M2.7-highspeed, but your custom provider only declares MiniMax-M2.7. Those need to match.

  1. Keep the group-specific binding
    That part is the right idea. The specific BlueBubbles group binding should win over the generic BlueBubbles fallback.

  2. Put the persona in the agent workspace
    In that workspace, create/tune:

    • SOUL.md for personality/tone
    • AGENTS.md for behavior/rules
    • IDENTITY.md for name/emoji/theme
    • MEMORY.md and memory/ for memory
#

So the short answer is:

  • Best fit: normal routed multi-agent setup
  • Only use ACP/Pi: if you want a persistent external harness session, not just a chat persona bot

If you want, I can give you:

  1. a clean corrected config snippet for the native-agent version, or
  2. the ACP/Pi version (type: "acp") instead.

Before deeper debugging, paste:

openclaw --version
openclaw agents list --bindings
openclaw models status

Docs: