Guides

User Settings & Personalization Guide

User Settings & Personalization Guide

Complete guide for personalizing Jan Server with user settings and preferences.

Overview

The User Settings API allows users to customize their Jan Server experience including:

  • Memory Configuration: Control how conversations are remembered and injected into responses
  • Profile Settings: Define user identity (name, role, style preferences)
  • Advanced Features: Toggle web search, code execution, and tool access
  • Preferences: Additional configuration options for personalization

User settings directly influence conversation behavior and response generation.

Quick Start

Get Your Settings

# Retrieve your current settings
curl -H "Authorization: Bearer <token>" \
  http://localhost:8000/v1/users/me/settings

Update Your Settings

# Personalize your profile
curl -X PATCH http://localhost:8000/v1/users/me/settings \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_settings": {
      "base_style": "Professional",
      "nick_name": "Alex",
      "occupation": "Software Engineer",
      "custom_instructions": "Always provide code examples"
    }
  }'

Settings Structure

Profile Settings

Control how the AI perceives and responds to you.

SettingTypeOptionsDefaultDescription
base_styleEnumConcise, Friendly, ProfessionalFriendlyTone and style of responses
nick_nameStringAny (255 chars max)EmptyYour preferred name/alias
occupationStringAny (255 chars max)EmptyYour role or profession
custom_instructionsStringAnyEmptyInstructions injected into every conversation
more_about_youStringAnyEmptyAdditional context about yourself

Example Profile Configurations

Software Engineer:

{
  "profile_settings": {
    "base_style": "Professional",
    "nick_name": "Dev",
    "occupation": "Senior Software Engineer",
    "custom_instructions": "Provide code examples in Python, Go, and TypeScript. Explain architectural decisions.",
    "more_about_you": "5 years experience in backend systems. Interested in performance optimization."
  }
}

Student:

{
  "profile_settings": {
    "base_style": "Friendly",
    "nick_name": "Jamie",
    "occupation": "Computer Science Student",
    "custom_instructions": "Explain concepts step-by-step. Include learning resources.",
    "more_about_you": "Currently learning machine learning and data science."
  }
}

Content Creator:

{
  "profile_settings": {
    "base_style": "Creative",
    "nick_name": "Creator",
    "occupation": "Technical Content Creator",
    "custom_instructions": "Provide engaging explanations suitable for blog posts. Include examples.",
    "more_about_you": "Writing about AI, machine learning, and cloud technologies."
  }
}

Memory Configuration

Control how the system remembers conversations and uses memory in future interactions.

SettingTypeDefaultRangeDescription
enabledBooleantrueN/AMaster toggle for memory system
observe_enabledBooleantrueN/AObserve and learn from conversations
inject_user_coreBooleantrueN/AInject user profile into responses
inject_semanticBooleantrueN/AUse semantic memory (topic-based)
inject_episodicBooleanfalseN/AUse episodic memory (conversation history)
max_user_itemsInteger31-10Max user memory items to inject
max_project_itemsInteger51-20Max project memory items to inject
max_episodic_itemsInteger31-10Max conversation history items to inject
min_similarityFloat0.750.0-1.0Similarity threshold for memory injection

Advanced Settings

Toggle advanced features and capabilities.

SettingTypeDefaultDescription
web_searchBooleanfalseAllow agents to perform web searches
code_enabledBooleanfalseAllow agents to execute code

API Reference

Get User Settings

GET /v1/users/me/settings

Retrieve authenticated user's settings. See User Settings API for complete reference.

Update User Settings

PATCH /v1/users/me/settings

Update any combination of settings (partial update supported).

Usage Examples

JavaScript

const token = 'your_token_here';
const headers = {
  'Authorization': `Bearer ${token}`,
  'Content-Type': 'application/json'
};

const getResponse = await fetch('http://localhost:8000/v1/users/me/settings', {
  method: 'GET',
  headers
});

const settings = await getResponse.json();
settings.profile_settings.base_style = 'Professional';

await fetch('http://localhost:8000/v1/users/me/settings', {
  method: 'PATCH',
  headers,
  body: JSON.stringify(settings)
});

Best Practices

  1. Complete Profile: Set nick_name and occupation so the AI knows who you are
  2. Custom Instructions: Add preferences once; they apply to all conversations
  3. Memory Settings: Start with defaults, increase if you want richer context
  4. Web Search: Enable only if agents need to browse current information
  5. Code Execution: Enable only if your use case requires running code

Last Updated: December 23, 2025
Compatibility: Jan Server v0.0.14+