multi-user-workspace
Multi-user workspace management with sandbox permissions, user profiles, and relationship networks.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/shun-dong/multi-user-workspaceFriends
Configure per-user sessions with sandbox isolation, friend profiles, and relationship awareness.
Core Concepts
- UserId: Lowercase unique identifier (e.g.,
alice,bob). Used in session keys, filenames, and cross-references. - Session: One session per user, named
agent:<agentId>:<mainKey>wheremainKeytypically contains the userId. - Sandbox: Optional Docker isolation per session, configured in
openclaw.json. - FRIENDS/: User profile directory (one file per user, named
{userId}.md). - RELATIONS/: Relationship directory (files named
{userId1}-{userId2}.md, alphabetically sorted, can be mutiple users).
Example Workspace Structure
workspace/
├── USER.md # User registry with permissions
├── AGENTS.md # Multi-user guidance for assistant
├── FRIENDS/
│ ├── alice.md # alice's profile
│ └── bob.md # bob's profile
├── RELATIONS/
│ └── alice-bob.md # Relationship between alice and bob
├── private/ # Admin-only files (optional)
...
USER.md
Registry of all users. The assistant reads this to identify users and extract userId and Name.
Format:
# User Registry
## Users
### alice
- UserId: alice
- Name: Alice
- Role: administrator
### bob
- UserId: bob
- Name: Bob
- Role: guest
Note: userId is unique and in lower case. Use Role to determine sandbox configuration in openclaw.json.
FRIENDS/
User profiles. One Markdown file per user, named {userId}.md.
Content is flexible. Common sections include:
# Alice
## Info
- UserId: alice
- Name: Alice
- Role: administrator
- Emails: [email protected]
...
## Assistant Relationship
- How the user prefers to interact with the assistant
- Preferred communication style
- Ongoing projects or interests
## Notes
Free-form information about the user.
RELATIONS/
Interpersonal relationships. Files named {userId1}-{userId2}.md (alphabetical order, can be mutiple users).
Content is flexible. Example:
# Alice & Bob
## Users
- **alice**: Alice
- **bob**: Bob
## Relationship
Friends who collaborate on projects.
## Information Sharing
- Can mention each other's public projects
- Do not share private details without asking
AGENTS.md
Instructions for the assistant. Add this section:
## User Identification
When a session starts (after `/new`):
1. Get current session via `session_status`
2. Extract userId from the session key (e.g., `agent:main:alice` → `alice`)
3. Read `FRIENDS/{userId}.md` for user profile
4. Read `RELATIONS/*{userId}*.md` for all relationships involving this user
5. Greet the user by name
## Cross-User Boundaries
- Default: Information does not flow between users
- Exception: Only when explicitly defined in RELATIONS/
Session Configuration
Each user gets an isolated session with configurable sandbox and tool permissions. Configure via openclaw.json.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-shun-dong-multi-user-workspace": {
"enabled": true,
"auto_update": true
}
}
}