osw-studio / docs /WHATS_NEW.md
otst's picture
add extended server features: edge & server functions, secrets management, dbs and site context for ai
54c7e54

What's New

Welcome to OSW Studio! This page highlights the latest features and updates.

First time here? Start with the Overview or jump straight to Getting Started to build your first website in 5 minutes.


v1.19.0 - Server Mode Backend Features

This release adds complete backend functionality for published sites, including edge functions, database management, server functions, secrets, and AI integration.

Edge Functions

Create serverless JavaScript endpoints for your published sites:

  • REST API endpoints - GET, POST, PUT, DELETE, or ANY method
  • Database access - Query your site's SQLite database via db.query() and db.run()
  • External requests - Use fetch() to call external APIs
  • Sandboxed execution - Safe VM-based runtime with configurable timeouts (1-30 seconds)
  • Secrets access - Use secrets.get(), secrets.has(), secrets.list() for API keys
// Example: GET /api/sites/{siteId}/functions/get-users
const users = db.query('SELECT * FROM users LIMIT 10');
Response.json({ users });

Server Functions (Helpers)

Create reusable JavaScript helpers callable from edge functions:

  • Code reuse - Define shared logic once, use across all edge functions via server.functionName()
  • Same security model - Runs in the same sandboxed VM as edge functions
  • Full access - Helpers have access to db, fetch, and console
// Server function "validateAuth"
const [apiKey] = args;
const users = db.query('SELECT * FROM users WHERE api_key = ?', [apiKey]);
return users.length > 0 ? { valid: true, user: users[0] } : { valid: false };

Secrets Management

Encrypted storage for API keys and tokens:

  • AES-256-GCM encryption with unique IVs per secret
  • Admin-only access, values never logged or exposed
  • AI can create secret placeholders, user sets values in admin UI

Database Tools

  • SQL Editor - Execute raw SQL queries with Monaco editor and query history
  • Schema Viewer - Browse database structure with expandable table/column tree
  • Execution Logs - Monitor function invocations with status, duration, timestamps

Server Context Integration

The AI can now understand and work with your site's server features! When you select a site:

  • Site Selector dropdown in workspace header to choose site context
  • /.server/ hidden folder with transient files containing server context
  • AI receives edge functions, database schema, server functions, and secret names

The /.server/ Folder

A hidden folder appears in the file explorer (right-click β†’ "Show Hidden Files"):

  • db/schema.sql - Database schema (read-only, use sqlite3 for DDL)
  • edge-functions/*.json - Edge functions (editable)
  • server-functions/*.json - Server functions (editable)
  • secrets/*.json - Secret placeholders (editable - AI creates, user sets values)

AI Read-Write Access to Server Features

The AI can create, modify, and delete server features:

SQL Queries with sqlite3

sqlite3 "SELECT * FROM products"
sqlite3 -json "SELECT * FROM users WHERE active = 1"
sqlite3 "CREATE TABLE orders (id INTEGER PRIMARY KEY, total REAL)"

System tables are protected from modification.

Creating Functions

Ask the AI to create endpoints or helpers:

Create an edge function called "list-products" that returns all products

Functions are stored as JSON files:

{
  "name": "list-products",
  "method": "GET",
  "enabled": true,
  "timeoutMs": 5000,
  "code": "Response.json(db.query('SELECT * FROM products'));"
}

Edge Function Routing for Published Sites

Published sites can call edge functions using simple paths like /submit-contact instead of the full API URL.

A lightweight interceptor script (~1.5KB) is injected into published HTML that:

  • Intercepts fetch() and XMLHttpRequest calls
  • Detects paths without file extensions (e.g., /submit-contact, not /styles.css)
  • Routes them to /api/sites/{siteId}/functions/{path}
  • Handles form submissions automatically
// Your frontend code - simple and clean!
const response = await fetch('/submit-contact', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'John', email: 'john@example.com' })
});

Forms work automatically too:

<form action="/submit-contact" method="POST">
  <input name="email" type="email" required>
  <button type="submit">Subscribe</button>
</form>

Custom events for response handling:

document.addEventListener('edge-function-response', (e) => {
  console.log('Result:', e.detail.result);
});

document.addEventListener('edge-function-error', (e) => {
  console.error('Error:', e.detail.error);
});

Preview Edge Function Support

The live preview now supports edge function routing when a site is selected. Test your edge functions directly in the preview without publishing first.

Server Features Guide β†’ | Server Mode Guide β†’ | Edge Functions Guide β†’


v1.18.0

SQLite Migration - Simpler Server Mode

Server Mode now uses SQLite instead of PostgreSQL. This means:

  • Zero database setup - No need to install or configure PostgreSQL
  • Just run it - npm install && npm start is all you need
  • Portable - All data stored in local files, easy to backup and move

Per-Site Databases

Each published site now has its own SQLite database containing its files, settings, and analytics. This keeps sites isolated from each other.

Storage structure:

  • data/osws.sqlite - Your projects, templates, and skills
  • sites/{siteId}/site.sqlite - Each site's files and analytics

Breaking Change

PostgreSQL is no longer supported. If you have an existing Server Mode deployment with PostgreSQL, you'll need to migrate your data manually.

Server Mode Guide β†’


v1.17.0

Reasoning Token Support

See what the AI is thinking! Models with reasoning capabilities now display their thought process in a collapsible "reasoning" block in the chat panel.

  • Anthropic extended thinking - Claude models with thinking enabled
  • DeepSeek reasoning models - DeepSeek v3.2 and other reasoning-capable models
  • Gemini thinking models - Gemini Pro 3 with thinking enabled

Reasoning Toggle

Enable or disable reasoning on a per-model basis directly from the model selector. The toggle appears for models that support it.

Malformed Tool Call Detection

The AI now auto-detects when a model accidentally writes tool syntax as text instead of properly invoking functions, and automatically prompts it to retry correctly.

UI Improvements

  • Renamed "Thinking..." indicator to "Waiting for response..." for clarity
  • Fixed indicator sometimes persisting after the response completed

v1.16.0

Server Mode

Self-host OSW Studio for a complete web publishing platform. Server Mode adds:

  • Admin authentication - Password-protected admin area
  • Project sync - Push projects to the server, pull them back to any browser
  • Static site publishing - Publish projects directly at /sites/{siteId}/ with clean URLs
  • Site settings - Configure scripts, analytics, SEO meta tags, and compliance (cookie consent, GDPR)
  • Built-in analytics - Privacy-focused tracking, or integrate Google Analytics, Plausible, and more
  • Auto-generated files - Sitemap.xml and robots.txt created on publish

Server Mode is optional and requires setup. It's still being actively developed - expect improvements to authentication, publishing, and site management in future releases.

Server Mode Guide β†’

In-App Documentation

Browse all documentation without leaving OSW Studio. Access guides from the sidebar under Docs.

Gemini Thinking Model Support

Full compatibility with Gemini thinking models via OpenRouter.

Skills System Enhancements

  • Split osw-workflow into focused skills: osw-planning (multi-page sites) and osw-one-shot (landing pages)
  • Skills now appear in the project structure shown to AI

Debug Panel Terminal

The Debug panel now includes a terminal for testing VFS shell commands directly.


v1.15.0

  • Skills System - Create, import, and export AI skills with markdown-based editor
  • Built-in skills - OSW Workflow, Handlebars Advanced, Accessibility (WCAG 2.1 AA)
  • Skills tab - New tab alongside Projects and Templates

v1.14.0

  • Event-driven chat - Real-time event streaming with improved UI responsiveness
  • Debug panel - Real-time event monitoring with filtering and auto-scroll
  • Handlebars subdirectories - Organize templates in /templates/components/, /templates/partials/, etc.

v1.13.0

  • Templates system - Create, export, and import reusable project templates
  • Template browser - Grid/list views, search, and sorting
  • Project screenshots - Automatic preview captures

v1.12.0

  • Rebranded from DeepStudio to OSW Studio
  • Dual mode system: Chat mode (read-only) and Code mode (full editing)
  • Consolidated IndexedDB architecture

v1.0.0

  • 8 AI providers (OpenRouter, OpenAI, Anthropic, Google, Groq, Ollama, LM Studio, SambaNova)
  • Virtual file system with project management
  • Live preview with real-time updates
  • Multi-tab Monaco editor
  • Export to ZIP for deployment

Ready to go? Head back to Projects or browse all docs.