Spaces:
Running
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()anddb.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, andconsole
// 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()andXMLHttpRequestcalls - 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 startis 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 skillssites/{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.
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.
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-workflowinto focused skills:osw-planning(multi-page sites) andosw-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.