Studio

Fit, inspect, and export.

SMILE Studio is an integrated desktop IDE for machine learning and data science. It combines an interactive multi-language notebook, an AI-powered agent panel, a file explorer, and a kernel explorer in a single window. Launch it from the release package:

Bash

cd bin
./setup    # first-time: installs native libraries
./smile    # launches SMILE Studio
    

SMILE Studio requires Java 25 and a graphical (non-headless) environment. At least 4 GB RAM; 8 GB recommended for large datasets. Open Studio from your project directory so the file tree, notebooks, and SMILE.md memory file all live next to your data.

Your First Session

  1. Download the latest smile-<version>.zip from the releases page and unzip it.

  2. Run first-time setup once (BLAS/LAPACK, Python venv — see Quick Start):

    Bash
    
    /path/to/smile/bin/setup
        
  3. Create a project folder and put datasets in input/:

    Bash
    
    mkdir -p myproject/input
    # copy your CSV / Parquet / … files into myproject/input/
        
  4. Launch Studio from the project directory (so the file tree and SMILE.md sit next to your data):

    Bash
    
    cd myproject
    /path/to/smile/bin/smile
        
  5. Configure an AI provider under File > Settings… (needed for agents, cell prompts, and Tab completion).

  6. In Clair’s tab, initialize the project, then explore with natural language, AutoML, or a notebook:

    Agent
    
    /init
    /automl
        

    Or open a notebook and work through the Tutorial examples cell by cell.

Application Layout

SMILE Studio application layout

PanelDescription
Notebook (center) Multi-cell editor supporting Java (JShell), Scala, and Python kernels. Supports .java, .jsh, .scala, .sc, .py, and .ipynb files.
AI Agent Panel (right) Seven built-in agents: Frank the Chief of Staff (coordination), Steve the Product Manager (product), Clair the Analyst (end-to-end ML), Ada the Architect (system design), James the Java Guru (Java/SMILE), Guido the Pythonista (Python), and Chuck the Desktop Operator (GUI automation). Supports slash commands, shell execution, and long-term memory via SMILE.md.
Project Explorer (left) File tree of the current working directory. Double-click any supported source file to open it in the notebook.
Kernel Explorer (left) Live view of runtime variables grouped by type (DataFrames, Matrices, Models, Services). Double-click a Model node to save it as a .sml file and register it as an inference service.

Using the Notebook

File > New creates an Untitled.java notebook with SMILE imports already filled in. File > Open… or double-click a file in the Project Explorer loads .java / .jsh, .scala / .sc, .py, or .ipynb. Other text files open in the Notepad instead of the notebook.

Each cell has a type combobox (Code, Markdown, or Raw), a Prompt field for AI code generation, and a toolbar to run, move, clear, or delete the cell. Execution is asynchronous; a second Run while a cell is still running shows a warning rather than overlapping jobs. After a successful snippet, Studio prints the last value (for example ⇒ DataFrame df = [200 rows × 5 columns]).

Save with File > Save. Enable File > Auto Save to write every 60 seconds (only notebooks that already have a path). If another process changes an open file, Studio asks whether to reload.

Project and Kernel Explorers

The left split has two tabs:

Execution Kernels

KernelHow to useNotes
Java (JShell) Open or create a .java / .jsh notebook Runs in a separate JVM; ZGC, 75% max RAM. New notebooks are pre-populated with all SMILE imports.
Scala Open a .scala / .sc notebook JSR-223 script engine; all SMILE Scala operators available.
Python (iPython) Open a .py / .ipynb notebook Requires pip install ipython.

Key Shortcuts

ShortcutAction
Ctrl + EnterRun cell, stay in current cell
Shift + EnterRun cell, move to next cell (creates one if needed)
Alt + EnterRun cell, insert new cell below
TabAI-powered line completion (requires AI service configured)
Ctrl + = / Ctrl + -Increase / decrease font size globally

Magic Commands

Notebook cells can run kernel-specific magics without leaving the editor.

In a Java cell, lines starting with //! are intercepted before they reach JShell. The supported magic resolves a Maven artifact (transitively) and adds it to the JShell classpath at runtime — no kernel restart required:

Java

//!mvn org.apache.commons:commons-math3:3.6.1
    

Python notebooks use IPython’s built-in magics (line magics with %, cell magics with %%). See IPython’s magic command reference for the full list. Common examples:

Python

%pip install pandas
%time df.describe()
%%timeit
model.fit(X, y)
    

AI Agents

The right-hand Agent Panel ships with seven built-in agents, each in its own tab. They appear in the order Frank, Steve, Clair, Ada, James, Guido, Chuck. Switch between them depending on the task:

AgentRole
Frank the Chief of Staff Strategic partner: prioritization, cross-agent coordination, status synthesis, and holding work to stated goals.
Steve the Product Manager Frames objectives, user stories, experimentation hypotheses, and analytical roadmaps.
Clair the Analyst End-to-end ML workflow: load data, visualize, train, evaluate, and serve models.
Ada the Architect System design, domain decomposition, contracts, and non-functional requirements.
James the Java Guru Java and SMILE API help: code generation, reviews, and notebook completion.
Guido the Pythonista Python notebook assistance and data-science library guidance.
Chuck the Desktop Operator Drives native GUI applications: navigation, screenshots, and on-screen verification.

All seven require an AI provider (OpenAI, Anthropic, Google Gemini, Azure OpenAI, or Vertex AI) and API key under File > Settings…. MCP (Model Context Protocol) servers can be wired in via .smile/mcp.json for extra tools.

Prompts

You can drive the agents from two places:

Slash Commands

In the Agent Panel, type / followed by a command and press Ctrl+Enter. A hint tooltip appears as you type. Session, memory, and CLI commands are shared; the longer skill list below is what Clair exposes for end-to-end ML work. Type /help in a given agent tab for that agent’s full set.

Session, memory, and tools

CommandDescription
/memory showDisplay the content of long-term memory
/memory addAdd facts or notes to long-term memory
/memory editOpen a notepad to edit the long-term memory
/memory refreshReload the context from disk
/planEnter plan mode
/plan offExit plan mode
/clearClear the current conversation session
/compactSummarize the conversation and retain critical details
/editEdit a file with the notepad
/openOpen a file with the default application
/find-docsRetrieve up-to-date documentation, API references, and code examples
/changelogCreate a customer-friendly changelog from git commits
/pptxCreate a PowerPoint presentation
/skill-creatorCreate, improve, and measure agent skills

Train, predict, and serve

CommandDescription
/trainTrain a machine learning model
/predictRun batch inference
/serveStart an inference service

Clair skills

CommandDescription
/initInitialize a data analysis project from one or more data files: load data, profile structure and quality, detect column-name issues, generate summary statistics, identify key patterns, and write SMILE.md
/summarizeAnalyze a tabular data file and produce a comprehensive summary (structure, quality, statistics, patterns, visualizations) without asking what to do next
/exploratory-data-analysisSystematic EDA on tabular data: structure, quality, distributions, relationships, and anomalies before modelling
/preprocessClean, repair, and prepare raw tabular datasets for model readiness
/resamplingBalance class distributions with oversampling, undersampling, or hybrid resampling
/feature-engineeringSelect, create, transform, and validate input features
/deep-feature-synthesisGenerate features from multi-table relational data via Featuretools (Deep Feature Synthesis)
/caafeContext-Aware Automated Feature Engineering from a natural-language dataset description
/model-selectionChoose a model family from problem type, data characteristics, and constraints
/hyperparameter-tuningSearch for an optimal hyperparameter configuration within a compute budget
/neural-architecture-searchDesign and optimize neural network architectures for a task, dataset, and hardware
/model-evaluationEvaluate and compare models with task-appropriate metrics, visualizations, and statistical tests
/postprocessCalibrate and interpret raw predictions into user-ready outputs
/automlEnd-to-end automated pipeline: EDA, preprocessing, features, model selection, tuning, architecture search, ensembling, postprocessing, and evaluation
←   Quick Start Tutorial  →