Settings Center
Click the ⚙️ gear button on the right of the sidebar user row to enter Settings Center. The settings center sidebar shows the settings navigation menu; click the ← back button in the top left to return to the chat page.
6.1 Operation Rules
Path: Settings → Prompt
Contains three tabs (some tabs hidden by default, enable in General → Advanced Features):
6.1.1 Profile (User Profile)
- Configure Agent's knowledge about you (investment preferences, professional background, personalization notes, etc.)
- Version management: save any version, supports Diff comparison and one-click rollback
- User profile injected into System Prompt via
{user_profile_context}placeholder
6.1.2 Operation Rules (System Prompt + Capability Prompts)
Shown only when General → Advanced Features → Operation Rules is enabled.
- Edit Prompt: modify current System Prompt in text editor
- Save version: add a label and note to each modification
- Version history: view all historical versions
- Diff comparison: view differences between two versions
- Rollback: one-click rollback to any historical version
- Reset: restore to system default Prompt
- Capability Prompts: collapsible panel — expand to edit/restore defaults for each item (e.g., what timezone format the scheduler must use, how to use
<<FILE:>>tags for media generation)
6.1.3 Memory & Soul
Shown only when General → Advanced Features → Memory & Soul is enabled.
- Memory Subagent Write: Switch
- Off: Memory Subagent can only read conversations and inbox
- On: Memory Subagent can create/edit/delete notes in
filesystem/soul/(Agent actively summarizes memory into long-term personality) - Includes editable capability prompt below
- Soul Filesystem: Switch
- Off: main Agent cannot see
/soul/directory - On: main Agent gets read/write access to
/soul/in file panel and tools - Includes editable capability prompt below
- Off: main Agent cannot see
- Include Consumer Conversations: Switch — whether Memory Subagent can read Service Consumer conversation history
- Recent Message Count: default 5 (injected into scheduled task and inbox agent prompt prefix)
Detailed Soul system explanation in §9.
6.2 Subagent Management
Path: Settings → Subagent Management
Configure subagents that the main Agent can call, enabling collaboration on complex tasks.
Features:
- Create subagent: set name, description, model to use, available tools
- Edit config: modify existing subagent configuration
- Delete subagent: remove unwanted subagents
- Tool config: check from available tool pool (includes web/media/scheduler/memory/soul, etc.)
- Model selection: assign independent model to each subagent (can differ from main Agent)
Built-in Memory Subagent:
- Provided by default, cannot delete (can disable)
- Default tools: read Admin conversations / read Service Consumer conversations / read inbox
- After enabling Memory Subagent Write: adds soul write tools (list/read/write/delete)
Subagent Available Tool Pool:
| Category | Tools |
|---|---|
| General | run_script / web_search / web_fetch / generate_image / generate_speech / generate_video / schedule_task / manage_scheduled_tasks / publish_service_task / send_message |
| Memory | list_conversations / read_conversation / list_service_conversations / read_service_conversation / read_inbox / soul_list / soul_read / soul_write / soul_delete |
6.3 Python Environment (per-user venv)
Path: Settings → Python Environment
Each Admin has an independent Python virtual environment (users/{your-username}/venv/) for script execution.
Features:
- Initialize environment: first-time use requires clicking Initialize to create venv (inherits system pre-installed packages: numpy/pandas/matplotlib, etc.)
- Install packages: enter package name (e.g.,
requests,scikit-learn) and click install - Uninstall packages: click delete in the installed packages list
- View installed packages: list with version numbers
Security restrictions:
- Package names cannot contain `;|&$`` injection characters
- pip operations only run in your venv, don't affect other users
- Persistence: installed packages recorded in
users/{your-username}/venv/requirements.txt, auto-restored on restart/Docker rebuild
6.4 Inbox
Path: Settings → Inbox (sidebar menu shows unread message count badge)
Receives messages from Service Agents: when a Service Consumer triggers the contact_admin tool in conversation, or certain Service tasks require admin decisions, messages appear here.
Features:
- Message list: displays unread / read / processed messages
- Unread count: sidebar menu shows unread count badge
- Mark status: mark messages as read / processed / delete
- View details: view complete message content, source (Service / conversation ID), urgency level
Auto-forward to WeChat (Smart Inbox Agent):
If you've connected Admin's WeChat via §6.8 WeChat Integration, each received inbox message triggers an Inbox Agent:
- Automatically evaluates message urgency and context
- Decides whether to forward to your WeChat (avoids unwanted notifications)
- Sends a summary rather than the full original text
Message Source Labeling:
| Source | Label |
|---|---|
| Service Consumer active call | contact_admin tool |
| Service scheduled task | contact_admin triggered by [System Instruction - From Admin] |
| Inbox Agent self-evaluation | [System Instruction - Service Inbox Notification] |
6.5 General
Path: Settings → General
6.5.1 API Keys (Strongly Recommended)
Each Admin can configure their own API Key, taking priority over environment variables. AES-256-GCM encrypted storage.
| Type | Fields |
|---|---|
| Anthropic | anthropic_api_key + anthropic_base_url |
| OpenAI | openai_api_key + openai_base_url |
| Tavily | tavily_api_key |
| Multimedia (as needed) | image_* / tts_* / video_* / s2s_* / stt_* key + base_url |
Operations:
- Edit: click to expand collapsible panel, enter Key
- Test connection: verify connectivity
- Save: auto-encrypted storage + clears Agent cache (takes effect on next request)
If neither per-admin Key nor environment variable is configured, a guidance modal will appear after login.
6.5.2 Timezone Settings
- Set default timezone (affects: cron expression interpretation in scheduled tasks, chat message timestamp injection)
- Timezone changes sync to
users/{uid}/preferences.json
6.5.3 Theme Selection
Detailed theme switching + preview (dark / cyber-ocean / terminal).
6.5.4 Advanced Feature Switches
Controls visibility of Advanced Tab in Settings → Prompt:
- Operation Rules Switch: whether to show System Prompt editor + capability prompts
- Memory & Soul Switch: whether to show Soul configuration page
Off by default. Beginners don't need to see it, preventing accidental changes.
6.5.5 Batch Run (Embedded BatchRunner)
Batch execute Agent tasks through Excel files — suitable for data processing, batch analysis, etc.
Usage flow:
- Upload Excel: select Excel file (
.xlsx) with task data - Configure run:
- Select input column (used as Agent's message)
- Select model to use
- Configure capability switches
- Set custom Prompt (optional)
- Start run: batch tasks begin executing
- View progress: real-time display of current progress (completed/total)
- Download results: when done, download result Excel with AI replies
Notes:
- Each row executes independently, not affecting others
- Supports mid-run cancellation
- Result file contains original data + AI reply column
Old link
/settings/batchauto-redirects to/settings/general.
6.6 Service Management
Path: Settings → Service Management
Publish a configured Agent as a Service for external consumers (Consumers) to use via API or WeChat QR code.
6.6.1 Interface Layout
- Left (30%): Service list cards
- Green dot = published
- Gray dot = draft
- Selected shows brand color highlight bar on left
- Right (70%): Selected Service details, divided into 4 tabs
6.6.2 Basic Info
| Field | Description |
|---|---|
| Name | Service display name |
| Description | Service description text |
| Model | Select AI model for Service |
| System Prompt | Optional: use a saved Prompt version, or custom |
| User Profile | Optional: use a user profile version (injected into prompt) |
| Capabilities | Check capabilities to open: web / scheduler / image / speech / video / humanchat |
| Accessible Docs/Scripts | Visual check tree (from /docs/ and /scripts/), folder selection = entire directory |
| Welcome Message | Gradient large text on chat page first screen (max 300 chars) |
| Quick Questions | First screen chips in a row (max 80 chars each, max 6) |
| Publish Status | Switch between published/draft |
6.6.3 API Keys
Each Service can create multiple sk-svc-... format API Keys for Consumers.
| Operation | Description |
|---|---|
| Generate Key | Create new API Key (only visible at creation — full key shown once; afterward only hash visible) |
| Key-attached link | Modal also shows /s/{service_id}?key=sk-svc-xxx one-click access link after creation |
| Copy Key | One-click copy key to clipboard |
| Delete Key | Revoke a key |
⚠️ Key-attached link is equivalent to sharing the key. Although the link clears from URL immediately when user visits (written to localStorage), it may leave traces in referer/gateway access logs.
6.6.4 WeChat Channel
See §7 for details.
| Field | Description |
|---|---|
| Enable/Disable | Switch to toggle WeChat QR channel |
| Expiration | Set channel validity period |
| Max Sessions | Limit simultaneous connected WeChat users |
| QR Link | Get WeChat scan landing page link (/wc/{service_id}) |
| Active Sessions | View currently connected WeChat users list |
| Disconnect Session | Actively disconnect a WeChat user |
| View Conversation | Enter a WeChat user's conversation history |
6.6.5 Test (Inline Testing)
Test conversation with the Service directly without leaving the management page. Automatically creates a temporary API Key and test conversation.
⚠️ Known issue: each new test creates a new API Key without automatic cleanup (orphan Keys). Must manually delete in the API Keys tab.
6.7 Scheduled Tasks
Path: Settings → Scheduled Tasks
Manage automatically scheduled tasks, divided into Admin Tasks and Service Tasks tabs.
6.7.1 Admin Tasks
Task types:
- Script: scheduled execution of Python scripts under
scripts/directory - Agent: scheduled execution of Agent tasks (send Prompt + optional document context)
Schedule types:
- once: one-time execution (specify ISO time, recommend timezone suffix, e.g.,
2026-12-31T09:00:00+08:00) - cron: cron expression timing (e.g.,
0 9 * * *every day at 9am) - interval: interval execution (seconds)
Sandbox permissions (Script tasks only):
- Configure script read/write directories (default
docs/scripts/generated/tasks) - Paths relative to user filesystem root
reply_to options:
- ☐ No push: only record run results
- ☐ Push to my WeChat: deliver via bound Admin WeChat (requires §6.8 integration first)
6.7.2 Service Tasks
Dispatched by Admin to a Service, or created by Consumer in conversation via schedule_task tool.
- Only supports Agent type (no scripts)
- Executes using Consumer Agent (per Service's capabilities + document restrictions)
- reply_to routing (determines where results are pushed):
| Channel | Target | Use Case |
|---|---|---|
wechat | Push to WeChat user (source session) | Service WeChat channel users |
inbox | Write to Admin inbox (auto-evaluate for forwarding) | Requires admin review |
admin_chat | Write to Admin's regular conversation | Service actively reports |
- Service task list shows service_id, 📬 push marker, reply_to info
- Service's
manage_scheduled_taskscan only operate tasks for the current conversation (permission isolation)
6.7.3 Run Records
Each execution records detailed step logs:
| Step | Meaning |
|---|---|
start | Execution begins |
docs_loaded | Documents loaded (Agent only) |
loop | Agent loop iteration |
tool_call / tool_result | Tool invocation and result |
ai_message | AI message |
auto_approve | Auto-approval (HITL) |
wechat_warning / wechat_error | WeChat delivery warning/error |
finish | Completed |
error | Error |
reply | Fallback delivery |
Can view elapsed time, error messages, and complete steps for each run.
6.7.4 Run Now
The Run button on the right of each task list row triggers an immediate execution (doesn't affect next scheduled run).
6.8 WeChat Integration (Admin Self-onboarding)
Path: Settings → WeChat Integration
Connect your main Admin Agent via WeChat iLink protocol, enabling direct WeChat conversations with your JellyfishBot.
This is completely independent of §7 Service Channel: Admin onboarding uses your main Agent (full permissions), Service channel serves Consumers (restricted permissions).
6.8.1 Onboarding Flow
- Go to Settings → WeChat Integration, click Generate QR Code.
- Scan the QR code with WeChat (this is the iLink Bot protocol scan login).
- After successful scan:
- Status automatically changes to Connected
- Sending messages to JellyfishBot in WeChat, the bot replies
- After first scan, your WeChat account binding is persisted to
users/{your-username}/admin_wechat_session.json, auto-restored after Docker / service restart. - Active disconnect: click Disconnect button, or cancel authorization on WeChat side.
6.8.2 Multimodal Support
- Receive images: CDN download → AES decrypt → automatically sent as multimodal message to GPT-4o / Claude (Vision capability)
- Receive voice: CDN download → AES decrypt → SILK→WAV → Whisper transcription
- Send images/videos: auto-triggered via
<<FILE:>>tag (images go through iLink CDN upload, videos/MP3 as file attachments) - Send TTS voice: sent as file attachment (voice message currently unavailable)
6.8.3 Management Interface
- Status card: shows current connection status, bound WeChat user identifier
- Message list: view WeChat conversation records (accessible via
/api/admin/wechat/messagesAPI) - Disconnect button: actively disconnect current connection
6.8.4 Main Use Cases
| Scenario | Action |
|---|---|
| Ask Agent simple questions via WeChat while out | Send message directly in WeChat |
| Receive scheduled task push | Select "Push to my WeChat" in reply_to for §6.7 task |
| Receive important Service inbox notifications | Inbox Agent auto-evaluates forwarding (see §6.4) |
| Let Agent actively report | Admin dispatches task via publish_service_task, Service reports back to WeChat when done |