CtrlK
BlogDocsLog inGet started
Tessl Logo

deepchat-data-import

Help developers build third-party tools that import, inspect, migrate, or analyze DeepChat data. Use when Codex needs to work with DeepChat provider configuration, model configuration, MCP/app settings, sessions, messages, legacy chat data, `agent.db`, `chat.db`, SQLCipher encrypted SQLite, Electron safeStorage wrapped passwords, Tauri importers, or native macOS/Windows/Linux data access.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

DeepChat Data Import

Overview

Use this skill to design or implement importers for DeepChat local data. Treat DeepChat's SQLite schema as an internal but documentable contract: inspect the current schema when precision matters, prefer read-only snapshots, and avoid writing to a live profile.

Workflow

  1. Identify the source: live DeepChat profile, copied profile, sync backup, exported agent.db, or legacy chat.db.
  2. Read references/data-locations.md to locate agent.db, sidecar files, encryption metadata, and backup paths.
  3. Read references/sqlite-access.md before opening SQLite. Decide whether the database is unencrypted, can be unlocked through Electron safeStorage, or must ask the user for the SQLite password.
  4. Read references/schema-reference.md for provider config, settings, session, message, and legacy table relationships.
  5. Read references/import-recipes.md when writing extractor code, mapping DeepChat data to another app, or creating a compatibility import.

Safety Rules

  • Get explicit user consent before reading local DeepChat data. Provider keys, OAuth tokens, MCP env vars, prompt text, message traces, and chat content may be sensitive.
  • Never open the active agent.db read-write from a third-party tool. Copy agent.db, agent.db-wal, and agent.db-shm, or use SQLite backup APIs through DeepChat itself.
  • If DeepChat is running, either ask the user to quit it or make a WAL-aware snapshot before import.
  • Prefer parameterized key APIs for SQLCipher passwords. Do not interpolate passwords into SQL.
  • Redact secrets by default in logs, telemetry, previews, and generated sample output.
  • When the schema has changed, inspect schema_versions, sqlite_master, and the table classes under src/main/presenter/sqlitePresenter/tables/ before assuming column availability.

Source Files

Use these repository files as the current source of truth when updating the skill or answering version-sensitive questions:

  • src/main/presenter/sqlitePresenter/index.ts
  • src/main/presenter/sqlitePresenter/connectionConfig.ts
  • src/main/presenter/databaseSecurityPresenter/index.ts
  • src/main/presenter/sqlitePresenter/tables/*.ts
  • src/main/presenter/agentRuntimePresenter/messageStore.ts
  • src/main/presenter/agentRuntimePresenter/sessionStore.ts
  • src/main/presenter/configPresenter/**
Repository
ThinkInAIXYZ/deepchat
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.