Biyan Data and Migration
Biyan stores conversation history, settings, assistants, MCP configuration, and migration state on your device. Provider requests still leave the device and follow the selected provider's data policy.
Default location
# Windows%APPDATA%\Biyan\# macOS~/Library/Application Support/Biyan/# Linux$XDG_CONFIG_HOME/Biyan/ # when XDG_CONFIG_HOME is set~/.config/Biyan/ # default
The canonical mobile database is biyan.db. Desktop migrations write migration-state.json separately from the application-version marker.
If you configured a custom data folder, Biyan keeps that path and migrates the data in place through a staging area instead of silently moving it back to the default location.
Upgrade path
The supported automatic upgrade goes directly to the complete release:
| Source | Target | Data schema | Purpose |
|---|---|---|---|
| 0.6.611 or later public stable releases | 0.6.651 | 3 | Upgrade automatically and apply the complete Biyan layout, remote-only cleanup, branding, and compatibility migration |
| 0.6.605–0.6.608 | 0.6.651 | 3 | Install the latest package manually; the retired updater hostname and old signing-key generation are not an automatic route |
There are no intermediate A or B installations. The target contains the complete cumulative migrator and executes only the missing steps, in order. The data schema, not the app version string, decides which steps are missing, so an existing schema-1, schema-2, or schema-3 installation can move directly to the same signed schema-3 target.
Source selection
When no custom folder is configured, Biyan looks for valid data in this fixed order:
- Biyan
- Mita
- Silence
- Jan
- the legacy bundle-identifier location
If several valid sources exist, Biyan uses the first one and reports the other detected locations. It never merges them automatically.
Safety guarantees
Before switching to the new data, Biyan:
- acquires an inter-process migration lock;
- verifies that enough disk space is available;
- copies into a staging location without modifying the legacy source;
- applies each missing schema step;
- validates JSON and runs SQLite
PRAGMA quick_checkwhere applicable; - atomically activates the validated Biyan data;
- reconciles extensions, CLI, assistants, and MCP configuration;
- records the individual step as completed only after success.
jan.db or mita.db is migrated through a staging copy and activated as biyan.db. A failed migration must not replace valid data with an empty profile.
Biyan does not dual-write legacy folders and does not automatically delete them. Do not remove old data until Biyan has started successfully and your conversations and settings have been verified.
Retired data
Downloaded local models, old RAG/vector indexes, and former engine files are not loaded after migration. They remain user-owned files and can consume significant disk space. Biyan only removes them through an explicit cleanup action that lists the affected paths and requires confirmation.
Recovery
If migration cannot finish, Biyan shows a recovery screen instead of opening an empty workspace. Use Retry, Open migration log, or Open legacy folder. Send only a redacted error code and app/OS version to help@biyan.ai; never email API keys or complete private data.