Skip to content

Profiles

A profile is the bot definition TinyClaw runs for a session.

It answers one practical question: which bot should respond, and how should it behave?

Profiles belong to an organization. Switching orgs in the dashboard shows only that org's bots.

Default profile per organization

TinyClaw does not share one global default bot across every org.

When an organization is created — including the first org at install — TinyClaw automatically:

  1. Creates one default profile for that org (isDefault: true)
  2. Assigns the standard builtin tool set (web search, file tools, email, and the rest)
  3. Initializes its soul directory on disk

That profile is named Default Bot and gets a unique id (not a fixed string like default).

WhatBehavior
Default profileExactly one per org, marked with isDefault
Super botNot auto-created; platform admin may add a profile with isSuper: true if needed
Additional orgsEach gets its own default profile and isolated on-disk data

If a session or channel config omits a profile id — or names one that does not exist in the active org — TinyClaw falls back to that org's default profile.

New custom profiles

Platform admins create extra profiles inside the active org. Each new profile gets its own soul directory and starts with only the builtin create_skill tool. Assign more tools, MCP servers, and skills from the dashboard.

What a profile contains

FieldWhat it means
idStable unique profile id
nameHuman-friendly label shown in the UI
modelOptional model selection for this profile
systemPromptBase instructions stored in the database
isSuperMarks the profile as a super profile with elevated behavior
isDefaultMarks the org's default profile used when none is specified
toolsBuiltin or custom tools the profile is allowed to use
mcpServersMCP servers available to the profile
skillsReusable instructions assigned to the profile
hasAvatarWhether the profile has a custom avatar
soulActiveWhether soul files are present and active

What a good profile usually represents

One profile should map to one clear purpose. Create another profile when you need different instructions, tools, tone, or knowledge.

How profiles affect replies

When a chat runs with a profile, TinyClaw builds the agent context in this order:

  1. Start with the profile's systemPrompt
  2. If soul files exist, compose them into the main system prompt
  3. Append the assigned skills catalog
  4. Append the knowledge base catalog
  5. Expose only the tools allowed for that profile

So a profile is not just a name. It controls both:

  • How the agent behaves
  • What the agent is allowed to do

Soul vs system prompt

Profiles support two layers of instruction:

LayerBest for
systemPromptQuick base instructions stored in the database
Soul filesRicher identity, style, operating rules, and memory on disk

Soul files, avatars, knowledge-base documents, and profile-scoped skills all live under an org-scoped path:

text
~/.tinyclaw/orgs/{orgId}/profiles/{profileId}/

Supported soul files:

FilePurpose
SOUL.mdIdentity
STYLE.mdWriting voice
INSTRUCTIONS.mdOperating rules
MEMORY.mdContinuity across sessions
examples/*.mdCalibration examples

Profile-scoped skills are stored at:

text
~/.tinyclaw/orgs/{orgId}/profiles/{profileId}/skills/

If you want richer personality and clearer long-term behavior, use soul files. If you only need a quick setup, the stored systemPrompt may be enough.

Model selection

Each profile can optionally select its own model.

FieldMeaning
modelUses a specific model for this profile instead of the workspace default

Knowledge base and memory

Profiles keep their own context on disk under the org-scoped profile directory:

  • Knowledge base documents for searchable reference material
  • MEMORY.md for facts and continuity saved by the agent

This data is isolated per org and per profile. Two orgs never read or write the same directory, even if profile ids happen to match.

Multi-tenant behavior

Profiles are tenant-owned data inside an organization:

RuleDetail
ListingGET /v1/profiles returns only profiles for the active org
LookupRequesting another org's profile id returns not found
SessionsBind to one profile within the active org
Tool accessScoped per profile
MutationsPlatform-admin only; org members chat with org profiles

Org admins manage members, not profiles. Platform admins need an active org context when creating or editing profiles.

When to create multiple profiles

Create separate profiles when you need different:

  • Agent identities
  • Safety or operating rules
  • Tool access
  • Knowledge bases
  • Models

Next steps

Released under the MIT License.