User Guide · 06

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
  • 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:

CategoryTools
Generalrun_script / web_search / web_fetch / generate_image / generate_speech / generate_video / schedule_task / manage_scheduled_tasks / publish_service_task / send_message
Memorylist_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:

SourceLabel
Service Consumer active callcontact_admin tool
Service scheduled taskcontact_admin triggered by [System Instruction - From Admin]
Inbox Agent self-evaluation[System Instruction - Service Inbox Notification]

6.5 General

Path: Settings → General

Each Admin can configure their own API Key, taking priority over environment variables. AES-256-GCM encrypted storage.

TypeFields
Anthropicanthropic_api_key + anthropic_base_url
OpenAIopenai_api_key + openai_base_url
Tavilytavily_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:

  1. Upload Excel: select Excel file (.xlsx) with task data
  2. Configure run:
    • Select input column (used as Agent's message)
    • Select model to use
    • Configure capability switches
    • Set custom Prompt (optional)
  3. Start run: batch tasks begin executing
  4. View progress: real-time display of current progress (completed/total)
  5. 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/batch auto-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

FieldDescription
NameService display name
DescriptionService description text
ModelSelect AI model for Service
System PromptOptional: use a saved Prompt version, or custom
User ProfileOptional: use a user profile version (injected into prompt)
CapabilitiesCheck capabilities to open: web / scheduler / image / speech / video / humanchat
Accessible Docs/ScriptsVisual check tree (from /docs/ and /scripts/), folder selection = entire directory
Welcome MessageGradient large text on chat page first screen (max 300 chars)
Quick QuestionsFirst screen chips in a row (max 80 chars each, max 6)
Publish StatusSwitch between published/draft

6.6.3 API Keys

Each Service can create multiple sk-svc-... format API Keys for Consumers.

OperationDescription
Generate KeyCreate new API Key (only visible at creation — full key shown once; afterward only hash visible)
Key-attached linkModal also shows /s/{service_id}?key=sk-svc-xxx one-click access link after creation
Copy KeyOne-click copy key to clipboard
Delete KeyRevoke 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.

FieldDescription
Enable/DisableSwitch to toggle WeChat QR channel
ExpirationSet channel validity period
Max SessionsLimit simultaneous connected WeChat users
QR LinkGet WeChat scan landing page link (/wc/{service_id})
Active SessionsView currently connected WeChat users list
Disconnect SessionActively disconnect a WeChat user
View ConversationEnter 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):
ChannelTargetUse Case
wechatPush to WeChat user (source session)Service WeChat channel users
inboxWrite to Admin inbox (auto-evaluate for forwarding)Requires admin review
admin_chatWrite to Admin's regular conversationService actively reports
  • Service task list shows service_id, 📬 push marker, reply_to info
  • Service's manage_scheduled_tasks can only operate tasks for the current conversation (permission isolation)

6.7.3 Run Records

Each execution records detailed step logs:

StepMeaning
startExecution begins
docs_loadedDocuments loaded (Agent only)
loopAgent loop iteration
tool_call / tool_resultTool invocation and result
ai_messageAI message
auto_approveAuto-approval (HITL)
wechat_warning / wechat_errorWeChat delivery warning/error
finishCompleted
errorError
replyFallback 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

  1. Go to Settings → WeChat Integration, click Generate QR Code.
  2. Scan the QR code with WeChat (this is the iLink Bot protocol scan login).
  3. After successful scan:
    • Status automatically changes to Connected
    • Sending messages to JellyfishBot in WeChat, the bot replies
  4. After first scan, your WeChat account binding is persisted to users/{your-username}/admin_wechat_session.json, auto-restored after Docker / service restart.
  5. 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/messages API)
  • Disconnect button: actively disconnect current connection

6.8.4 Main Use Cases

ScenarioAction
Ask Agent simple questions via WeChat while outSend message directly in WeChat
Receive scheduled task pushSelect "Push to my WeChat" in reply_to for §6.7 task
Receive important Service inbox notificationsInbox Agent auto-evaluates forwarding (see §6.4)
Let Agent actively reportAdmin dispatches task via publish_service_task, Service reports back to WeChat when done