feat: scaffold AI image desktop MVP

This commit is contained in:
2026-04-24 17:58:59 +08:00
commit 6064b1c809
33 changed files with 8278 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
CREATE TABLE IF NOT EXISTS providers (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
kind TEXT NOT NULL,
base_url TEXT NOT NULL,
api_key_encrypted TEXT,
text_model TEXT,
image_model TEXT,
capabilities TEXT NOT NULL DEFAULT '{}',
enabled INTEGER NOT NULL DEFAULT 1,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS generation_tasks (
id TEXT PRIMARY KEY,
provider_id TEXT NOT NULL,
task_type TEXT NOT NULL,
prompt TEXT NOT NULL,
negative_prompt TEXT,
model TEXT NOT NULL,
size TEXT,
quality TEXT,
status TEXT NOT NULL,
error_message TEXT,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL,
finished_at TEXT,
FOREIGN KEY(provider_id) REFERENCES providers(id)
);
CREATE TABLE IF NOT EXISTS image_assets (
id TEXT PRIMARY KEY,
task_id TEXT,
file_path TEXT NOT NULL,
thumbnail_path TEXT,
mime_type TEXT,
width INTEGER,
height INTEGER,
file_size INTEGER,
source_type TEXT NOT NULL,
created_at TEXT NOT NULL,
FOREIGN KEY(task_id) REFERENCES generation_tasks(id)
);
CREATE TABLE IF NOT EXISTS conversations (
id TEXT PRIMARY KEY,
title TEXT,
provider_id TEXT NOT NULL,
model TEXT NOT NULL,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL,
FOREIGN KEY(provider_id) REFERENCES providers(id)
);
CREATE TABLE IF NOT EXISTS ai_request_logs (
id TEXT PRIMARY KEY,
task_id TEXT,
provider_id TEXT NOT NULL,
endpoint TEXT NOT NULL,
request_summary TEXT,
response_summary TEXT,
status_code INTEGER,
latency_ms INTEGER,
created_at TEXT NOT NULL,
FOREIGN KEY(task_id) REFERENCES generation_tasks(id),
FOREIGN KEY(provider_id) REFERENCES providers(id)
);