docs: update project docs and clean up redundant files
- PROGRESS.md: update to 2026-05-29 with security hardening (T-005), 4-frontend architecture, AI provider refactoring, discovery features, landing page/referral/quota, desktop layout, admin AI management - AGENTS.md: add AI provider list (Alibaba/NVIDIA, removed Claude/DeepL/Local), DB-driven config, CSRF/rate-limit/CORS notes, admin_ai reload quirk - .env.example: sync with actual config, replace deprecated providers with current Sensenova/OpencodeGo/NVIDIA/Spark/Alibaba - docs/PROJECT_STATUS.md: archive (fully superseded by PROGRESS.md) - Remove generated JS files (_bing_search.js, _batch_search.js) - Remove empty directories (data/corpus, data/models) - Remove backend/.coverage (test artifact) - Fix services/.gitignore to cover _bing_search.js - Include pending AI provider DB admin feature (admin_ai, AIProvider model, AIProviders.vue, migration) and T-008 test report
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
"""add ai_providers table
|
||||
|
||||
Revision ID: add_ai_providers
|
||||
Revises: 0798c5c09c8c
|
||||
Create Date: 2026-05-27
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects.postgresql import UUID, JSONB
|
||||
import uuid
|
||||
|
||||
revision = 'add_ai_providers'
|
||||
down_revision = '0798c5c09c8c'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.create_table(
|
||||
'ai_providers',
|
||||
sa.Column('id', UUID(as_uuid=True), primary_key=True, default=uuid.uuid4),
|
||||
sa.Column('name', sa.String(100), nullable=False),
|
||||
sa.Column('provider_type', sa.String(50), nullable=False),
|
||||
sa.Column('api_key', sa.Text(), nullable=True),
|
||||
sa.Column('api_secret', sa.Text(), nullable=True),
|
||||
sa.Column('base_url', sa.String(500), nullable=True),
|
||||
sa.Column('model_name', sa.String(100), nullable=False),
|
||||
sa.Column('extra_config', JSONB(), default={}),
|
||||
sa.Column('priority', sa.Integer(), default=0),
|
||||
sa.Column('enabled', sa.Boolean(), default=True),
|
||||
sa.Column('created_at', sa.DateTime(), default=sa.func.now()),
|
||||
sa.Column('updated_at', sa.DateTime(), default=sa.func.now(), onupdate=sa.func.now()),
|
||||
)
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.drop_table('ai_providers')
|
||||
Reference in New Issue
Block a user