Files
cutThenThink/docs/database_quick_ref.md
congsh c4a77f8aa4 feat: 实现CutThenThink P0阶段核心功能
项目初始化
- 创建完整项目结构(src/, data/, docs/, examples/, tests/)
- 配置requirements.txt依赖
- 创建.gitignore

P0基础框架
- 数据库模型:Record模型,6种分类类型
- 配置管理:YAML配置,支持AI/OCR/云存储/UI配置
- OCR模块:PaddleOCR本地识别,支持云端扩展
- AI模块:支持OpenAI/Claude/通义/Ollama,6种分类
- 存储模块:完整CRUD,搜索,统计,导入导出
- 主窗口框架:侧边栏导航,米白配色方案
- 图片处理:截图/剪贴板/文件选择/图片预览
- 处理流程整合:OCR→AI→存储串联,Markdown展示,剪贴板复制
- 分类浏览:卡片网格展示,分类筛选,搜索,详情查看

技术栈
- PyQt6 + SQLAlchemy + PaddleOCR + OpenAI/Claude SDK
- 共47个Python文件,4000+行代码

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 18:21:31 +08:00

1.3 KiB

数据库模型快速参考

导入

from src.models import (
    init_database,  # 初始化数据库
    get_db,         # 获取会话
    Record,         # 记录模型
    RecordCategory, # 分类常量
)

分类类型

RecordCategory.TODO   # 待办事项
RecordCategory.NOTE   # 笔记
RecordCategory.IDEA   # 灵感
RecordCategory.REF    # 参考资料
RecordCategory.FUNNY  # 搞笑文案
RecordCategory.TEXT   # 纯文本

常用操作

创建记录

session = get_db()
record = Record(
    image_path="/path/to/image.png",
    ocr_text="识别文本",
    category=RecordCategory.NOTE,
    tags=["标签"]
)
session.add(record)
session.commit()

查询记录

session = get_db()
record = session.query(Record).filter_by(id=1).first()
records = session.query(Record).all()

更新记录

record.notes = "新备注"
record.add_tag("新标签")
session.commit()

转换字典

data = record.to_dict()

Record 字段

字段 类型 说明
id int 主键
image_path str 图片路径
ocr_text str OCR结果
category str 分类
ai_result str AI内容
tags list 标签列表
notes str 备注
created_at datetime 创建时间
updated_at datetime 更新时间