An organized OpenClaw solution.
OurClaw: Single-bot, multi-backend sandbox setup with per-user workspace isolation.
中文ReadMe/Chinese version: README_CN.md
How can a team use OpenClaw elegantly at scale and turn collaboration into real productivity? How can you share your "lobster" workflows with others in your organization while still protecting privacy? OurClaw is built exactly for this.
| Solution | Deployment | Maintainability | Privacy |
|---|---|---|---|
| Single bot + single OpenClaw ❌ | Easy ✅ | Good ✅ | Weak ❌ |
| Multiple bots + multiple OpenClaw ❌ | Complex ❌ | Poor ❌ | Strong ✅ |
| OurClaw (single bot + multiple OpenClaw) ✅ | Easy ✅ | Good ✅ | Strong ✅ |
openclaw/: OpenClaw source codeopenclaw-patch/: OpenClaw patches (currently only built-in TTS changes; if built-in TTS fails, copy the patch files intoopenclaw/)TFClaw/: TFClaw source codeTFClaw/config.json: TFClaw runtime configurationcommonworkspace/: Shared workspace templaterestart_tfclaw_and_openclaw_users.sh: Restart relay, gateway, and all user OpenClaw processes
- Node.js
pnpmnpmtmuxjq- If you need to auto-create/manage mapped Linux users, running with root privileges is recommended.
bash installopenclaw.shNotes:
- Follow the original OpenClaw install flow and choose the Feishu channel. If OpenClaw is already installed locally, you can skip this step and directly replace the
openclaw/folder in the repository root with your own. - Because OpenClaw changed its own interfaces, this project currently supports the version updated on March 14.
Instead of maintaining one shared runtime openclaw.json directly, TFClaw generates an independent config for each user based on a template and override rules.
Edit the file pointed to by openclawBridge.configTemplatePath in TFClaw/config.json.
Current value in this repository:
~/.openclaw/openclaw.json
If you want to inject unified models / agents settings for all users, only edit this file:
The final runtime config file for each user is generated at:
TFClaw/.home/<linux-user>/.tfclaw-openclaw/openclaw.json
Based on the distribution infrastructure of original Token-Free Claw.
bash installTFClaw.shNote:
./TFClaw/.runtime/openclaw_bridge/.envis the shared environment variable file for all user OpenClaw instances.
Edit TFClaw/config.json.
At minimum, check these fields:
relay.tokenrelay.urlopenclawBridge.enabledopenclawBridge.openclawRootopenclawBridge.sharedSkillsDir(shared skills path)openclawBridge.sharedEnvPath(shared environment variables path)openclawBridge.userHomeRootopenclawBridge.configTemplatePathchannels.feishu.appIdchannels.feishu.appSecretchannels.feishu.verificationToken
Current defaults in this repository point to:
- OpenClaw source directory:
../openclaw - Shared skills directory:
../openclaw/skills - User home root:
TFClaw/.home - OpenClaw bridge state directory:
TFClaw/.runtime/openclaw_bridge
Run this in the repository root:
./restart_tfclaw_and_openclaw_users.shThe script performs the following in order:
- Restart TFClaw relay
- Restart OpenClaw processes for all mapped users
- Restart TFClaw Feishu gateway
- Run health checks
- TFClaw relay log:
./.runtime/tfclaw_runtime_logs/tfclaw_relay.log - TFClaw gateway log:
./.runtime/tfclaw_runtime_logs/tfclaw_gateway.log - Per-user OpenClaw log:
TFClaw/.home/<linux-user>/.tfclaw-openclaw/logs/openclaw_gateway.log
- Read
openclawBridge.configTemplatePathas the base template. - Read
commonworkspace/openclaw.jsonas shared overrides. Currently onlymodels,agents.defaults, andagents.listare overridden/injected. - Overlay TFClaw-enforced runtime parameters (
gateway/channels/skills/tools/env, etc.). - Write the final result to each user's runtime file:
TFClaw/.home/<linux-user>/.tfclaw-openclaw/openclaw.json
- Copy from
commonworkspacefirst (preferred). Current path:./commonworkspace. - If
commonworkspacedoes not exist, fall back to the OpenClaw template directory. Template directory:./openclaw/docs/reference/templates. - Seed only once when required (first run / empty directory, etc.), then write a marker.
