chore(backend): 引入 sqlite-vec 依赖并配置数据目录
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+16
-1
@@ -1,25 +1,40 @@
|
||||
import os
|
||||
from dataclasses import dataclass
|
||||
from functools import lru_cache
|
||||
from pathlib import Path
|
||||
|
||||
# backend 目录(本文件位于 backend/app/config.py,父目录的父目录即 backend)
|
||||
BACKEND_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Settings:
|
||||
"""应用基础配置;正式环境可通过 APP_* 环境变量覆盖。"""
|
||||
"""应用基础配置;正式环境可通过 APP_* 环境变量覆盖。
|
||||
|
||||
数据目录默认落在 backend/data 下:app.db 保存 SQLite 索引,
|
||||
vault/ 保存 Markdown 笔记。三者均可通过环境变量覆盖,便于测试与正式部署分离。
|
||||
"""
|
||||
|
||||
name: str
|
||||
version: str
|
||||
environment: str
|
||||
host: str
|
||||
port: int
|
||||
data_dir: Path
|
||||
db_path: Path
|
||||
vault_path: Path
|
||||
|
||||
|
||||
@lru_cache
|
||||
def get_settings() -> Settings:
|
||||
data_dir = Path(os.getenv("APP_DATA_DIR", str(BACKEND_DIR / "data")))
|
||||
return Settings(
|
||||
name=os.getenv("APP_NAME", "Notes Agent AI Core"),
|
||||
version=os.getenv("APP_VERSION", "0.1.0"),
|
||||
environment=os.getenv("APP_ENVIRONMENT", "development"),
|
||||
host=os.getenv("APP_HOST", "127.0.0.1"),
|
||||
port=int(os.getenv("APP_PORT", "8000")),
|
||||
data_dir=data_dir,
|
||||
db_path=Path(os.getenv("APP_DB_PATH", str(data_dir / "app.db"))),
|
||||
vault_path=Path(os.getenv("APP_VAULT_PATH", str(data_dir / "vault"))),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user