Personas
Personas give your bots a unique visual identity. Each bot can have a custom icon, short description, and accent color that appear throughout the interface -- in the sidebar, chat messages, council views, and the config panel.
Persona Fields
Configure personas in the Persona section of the config panel (right sidebar):
| Field | Description | Config Key | Example |
|---|---|---|---|
| Icon | An emoji displayed next to the bot's name | icon | 🤖, 🧙, 📊, ⚖️, 🎨 |
| Description | A short text line shown below the bot name | d | "Code review specialist" |
| Color | A hex color code for the bot's accent color | color | #4a90d9, #e74c3c, #2ecc71 |
All persona fields are optional. Bots without a persona use a default icon and no accent color.
Setting an Icon
Click the Icon field in the persona section to open the emoji selector. The selector organizes emojis into themed groups for easy browsing. You can also type an emoji directly into the field.
Suggested icon conventions:
| Bot Purpose | Suggested Icons |
|---|---|
| General assistant | 🤖, 💡, 🧠 |
| Code / developer | 💻, ⌨️, 🔧 |
| Creative writing | ✍️, 🎨, 📝 |
| Research / analysis | 📊, 🔍, 📚 |
| Legal / compliance | ⚖️, 📋, 🏛️ |
| Language / translation | 🌐, 🗣️, 📖 |
| Math / science | 🧮, 🔬, 📐 |
| Customer support | 💬, 🎧, 🤝 |
Writing a Description
The description field holds a short text line (one sentence recommended) that describes the bot's role or specialty. It appears in:
- The sidebar, below the bot's name (truncated if too long)
- The profile dropdown in the header
- Shared bot URLs (encoded in the config as the
dfield)
Good descriptions:
"Expert Python developer with Django specialization""Creative fiction writer -- fantasy and sci-fi""Research analyst with citation formatting"
Keep descriptions under 60 characters for the best display across all screen sizes.
Choosing a Color
The color field accepts any valid hex color code (e.g., #4a90d9). The accent color is used for:
- The bot's header tint in the config panel
- Chat message borders or highlights for this bot
- Council member cards when the bot is part of a multi-model council
Pick colors that have sufficient contrast in both light and dark themes. Avoid very light colors (hard to see on white backgrounds) and very dark colors (hard to see on dark backgrounds). Mid-range saturated colors work best: #4a90d9 (blue), #e74c3c (red), #2ecc71 (green), #9b59b6 (purple), #f39c12 (orange).
How Personas Display
In the Sidebar
Each bot in the left sidebar shows:
- The persona icon (or a default icon if none is set)
- The bot name
- The description text (if set, shown in a smaller font below the name)
In Chat Messages
Assistant messages display the persona icon next to the bot's name in the message header. If a color is set, it may be used as an accent for the message bubble or header.
In Council Views
When a bot is a member of a council, its persona icon and color appear on the council member cards. This makes it easy to visually distinguish which model produced which response during multi-model deliberation.
In the Config Panel
The config panel header area shows the bot's icon and name. If a color is set, it tints the header section of the panel.
Personas in Profiles
The profile system (AIS.Profiles) stores persona fields directly on each profile object:
| Profile Field | Persona Mapping |
|---|---|
icon | Persona icon (emoji) |
d | Persona description |
color | Persona accent color (hex) |
When a profile is converted to a bot config via toBotConfig(), persona fields are included only if they are non-empty. This keeps shared URLs compact -- bots with no persona omit those fields entirely.
Personas in Shared Bots
Persona settings (icon, description, color) are included in shared bot URLs. When someone opens your shared bot link, they see the exact same persona you configured -- same icon, same description, same color.
The encoding uses the same short config keys as the rest of the bot config:
| Config Key | Field |
|---|---|
icon | Persona Icon |
d | Persona Description |
color | Persona Color |
Persona fields add minimally to URL length. An emoji icon adds about 4-8 bytes, a short description adds its character count, and a hex color adds 7 bytes. The deflate compression in the URL encoding pipeline handles these efficiently.
Default Behavior
Bots created without persona settings behave as follows:
- Icon: A generic bot icon is shown (varies by theme)
- Description: No description text is displayed
- Color: The default theme accent color is used
You can add or change persona settings at any time -- they take effect immediately without needing to restart a conversation.
Personas vs. System Prompts
Personas and system prompts serve different purposes:
| Aspect | Persona | System Prompt |
|---|---|---|
| Purpose | Visual identity for you (the user) | Behavioral instructions for the AI model |
| Affects AI behavior? | No | Yes |
| Visible to? | You and anyone with the shared URL | The AI model (and you, in the config panel) |
| Typical content | Emoji, short label, hex color | Detailed instructions, constraints, format preferences |
A bot named "Code Expert" with a 💻 icon and a system prompt saying "You are an expert software engineer..." is the ideal combination -- the persona tells you at a glance what the bot does, and the system prompt tells the AI how to behave.
Personas in Council Members
When building a council, each member profile can have its own persona. During council deliberation, the member labels (A, B, C, etc.) are displayed alongside each member's persona icon. This makes it easy to follow which model said what in the council output.
For example, a research council might have:
- A
🔬Claude Opus -- "Deep analysis lead" - B
⚡Gemini Flash -- "Fast synthesis" - C
🧠GPT-4o -- "Broad knowledge"
Each member's icon and description help you interpret the council's output at a glance.