Commit Graph

  • 2ddb6de92f feat: 第三优先级完善 — CI/CD、PyPI、pre-commit、CHANGELOG、贡献指南、基准测试、ADR main Serendipity 2026-07-11 20:13:36 +08:00
  • 7e0b9553c8 chore: 配置 pre-commit 钩子(ruff + mypy + 通用检查) Serendipity 2026-07-11 20:08:21 +08:00
  • 4710a305be docs: README 补充 Web UI、.docx 支持说明 Serendipity 2026-07-11 20:04:11 +08:00
  • 6b89488677 test: 补充测试覆盖率 — DB/CLI/Search/Ingest + 修复 chromadb 异常兼容 Serendipity 2026-07-11 20:02:24 +08:00
  • 10c5d3d347 feat: 添加 Web 管理界面(Vue 3 SPA 单文件)+ /admin 挂载 Serendipity 2026-07-11 19:57:30 +08:00
  • e71018a9a3 feat: 新增数据导出功能和 CLI export 命令(JSON/CSV) Serendipity 2026-07-11 19:55:57 +08:00
  • d9b03ab5f0 feat: 新增 DocxSplitter — 支持 .docx 文档入库 Serendipity 2026-07-11 19:55:03 +08:00
  • 04f2f8a8a8 refactor: 修复 Embedder Protocol 标准写法和 PDF/EPUB Splitter 参数语义 Serendipity 2026-07-11 19:53:08 +08:00
  • 2d0e8c4997 chore: ruff lint 修复 + 第一优先级全部完成 Serendipity 2026-07-11 19:50:35 +08:00
  • 3e51e166c2 docs: 更新 README — 混合检索、增量入库、Docker、导出功能 Serendipity 2026-07-11 19:48:15 +08:00
  • 1df4793acb feat: 添加 Dockerfile 和 docker-compose.yml 部署方案 Serendipity 2026-07-11 19:47:39 +08:00
  • 9784f5f436 feat: API 安全加固 — 请求体大小限制、审计日志、健康检查免限速 Serendipity 2026-07-11 19:47:14 +08:00
  • ba814c7a70 feat: CLI 添加 --incremental/--force/--mode 选项 Serendipity 2026-07-11 19:45:50 +08:00
  • 82924ff5f3 feat: 添加 Cross-Encoder Reranker + 集成到 Searcher Serendipity 2026-07-11 19:44:56 +08:00
  • 1d58a55a73 feat: Searcher 集成 HybridRetriever + SearchConfig 配置 Serendipity 2026-07-11 19:43:49 +08:00
  • cb470e516b feat: 添加 HybridRetriever — BM25+向量混合检索 Serendipity 2026-07-11 19:42:20 +08:00
  • 7b3c7d5323 feat: DocumentIngestor 支持增量入库(FileTracker) Serendipity 2026-07-11 19:41:21 +08:00
  • 3e2c61402a feat: 添加 FileTracker — 基于 SHA256 的文件变更追踪 Serendipity 2026-07-11 19:39:12 +08:00
  • 78ad21d311 chore: 添加 rank-bm25 依赖(混合检索用) Serendipity 2026-07-11 19:38:33 +08:00
  • f7801b45a7 fix: CLI 路径检查改用 is_safe_cli_path(允许绝对路径),更新文档 Serendipity 2026-07-10 15:45:22 +08:00
  • ec3898ecb7 fix: auth 测试改用 monkeypatch.setattr,MarkdownSplitter 跳过代码块内标题识别 Serendipity 2026-07-10 15:30:58 +08:00
  • 20eec96e92 fix: splitters/__init__.py 导出 HTMLSplitter Serendipity 2026-07-10 15:29:21 +08:00
  • f8ec682474 test: 提取 MarkdownSplitter 边界测试到独立文件 Serendipity 2026-07-10 15:29:10 +08:00
  • 9dd1efeec9 fix: ingest_obsidian 移除硬编码回退路径,改为明确错误提示 Serendipity 2026-07-10 15:29:00 +08:00
  • e99c090152 fix: 速率限制器配置从环境变量读取而非硬编码 Serendipity 2026-07-10 15:28:30 +08:00
  • 76ae81c772 test: test_config 用 monkeypatch 替代 importlib.reload Serendipity 2026-07-10 15:28:22 +08:00
  • 788f610d3f test: 修复 EPUB 缺失依赖测试设计问题 Serendipity 2026-07-10 15:28:13 +08:00
  • 2e95f68864 fix: list_collections 异常向上传播而非静默吞掉 Serendipity 2026-07-10 15:28:03 +08:00
  • 3308636086 refactor: 去重删除逻辑统一到 VectorDB.delete_by_source Serendipity 2026-07-10 15:27:52 +08:00
  • ebfae1f60c fix: EXPECTED_API_KEY 改为惰性求值防加载顺序问题 Serendipity 2026-07-10 15:27:38 +08:00
  • 29bdfcfb18 fix: 替换过时的 X-XSS-Protection 为 Content-Security-Policy Serendipity 2026-07-10 15:27:27 +08:00
  • 276a1401f4 fix: content 模式默认 file_name 改用 UUID 防并发覆盖 Serendipity 2026-07-10 15:27:19 +08:00
  • b0319f366a test: 补充 Searcher list_sources/delete_by_source/get_collection_info 测试 Serendipity 2026-07-10 15:25:54 +08:00
  • 925499b05b test: 补充 ingest_file 和 ingest_directory 的测试覆盖 Serendipity 2026-07-10 15:25:50 +08:00
  • e0190e8d2d test: 添加 verify_api_key 和 RateLimiter 完整单元测试 Serendipity 2026-07-10 15:25:47 +08:00
  • a368e640c1 test: 添加 CLI 模块基础测试 (ingest/search/stats/json) Serendipity 2026-07-10 15:25:43 +08:00
  • fc010cda06 fix: CLI serve 使用 load_config 避免主进程双重加载嵌入模型 Serendipity 2026-07-10 15:23:19 +08:00
  • b97cff8857 fix: chunk 配置通过 DocumentIngestor 传递,不再被硬编码覆盖 Serendipity 2026-07-10 15:23:14 +08:00
  • 6a5be5f3e7 fix: ingest_obsidian 初始化添加异常处理和友好错误信息 Serendipity 2026-07-10 15:21:29 +08:00
  • 8445af7be0 fix: HF_ENDPOINT 环境变量操作添加线程锁防竞态 Serendipity 2026-07-10 15:19:43 +08:00
  • 298f13721c fix: 统一 CLI/API 路径安全检查为 is_path_within_workspace Serendipity 2026-07-10 15:19:17 +08:00
  • 1eb6f44ef4 fix: delete_document 的 collection 参数添加正则校验 Serendipity 2026-07-10 15:18:56 +08:00
  • 0a4a4c766c fix: search_documents 端点添加异常处理防止 traceback 泄露 Serendipity 2026-07-10 15:18:46 +08:00
  • 284a4b9e09 fix: 修复 CORS allow_credentials 与 allow_origins=* 冲突 Serendipity 2026-07-10 15:18:39 +08:00
  • 3b8b585f31 feat: 添加 EPUBSplitter — ebooklib 提取章节文字后分块 Serendipity 2026-07-10 14:32:41 +08:00
  • eda080bc05 docs: 更新文档记录多格式支持特性 Serendipity 2026-07-10 14:27:11 +08:00
  • b8afc9043d test: 添加 PDFSplitter 和 HTMLSplitter 测试 Serendipity 2026-07-10 14:25:40 +08:00
  • 9db0c15dee test: 添加 Splitter 注册表和 TextSplitter 测试 Serendipity 2026-07-10 14:23:34 +08:00
  • 30716f10dc feat: 添加 HTMLSplitter — bs4 去标签后分块 Serendipity 2026-07-10 14:22:28 +08:00
  • 69fb8cac9f feat: 添加 PDFSplitter — pymupdf 提取文字后分块 Serendipity 2026-07-10 14:20:53 +08:00
  • cde4ae7ddc feat: ingest.py 使用 registry 自动选择 Splitter,ingest_directory 支持多格式 Serendipity 2026-07-10 14:19:03 +08:00
  • 13d63ba6ff feat: 添加 TextSplitter 和 registry 自动选择机制 Serendipity 2026-07-10 14:17:17 +08:00
  • 4dc51dccd2 refactor: 将 MarkdownSplitter 移入 splitters 包,ingest.py 保留兼容 import Serendipity 2026-07-10 14:15:59 +08:00
  • 30c4d65cf0 feat: 创建 splitters 包骨架 — Splitter Protocol + BaseTextSplitter 基类 Serendipity 2026-07-10 14:12:38 +08:00
  • 11b6171e21 docs(test-guide): 重写为完整的项目使用与测试文档 Serendipity 2026-07-07 15:04:45 +08:00
  • 405303e82c fix: 修复 44 个代码审查问题 (CRITICAL/HIGH/MEDIUM/LOW) Serendipity 2026-07-06 16:56:38 +08:00
  • 832201186d fix: 修复 11 个代码架构审计问题 Serendipity 2026-07-06 13:16:26 +08:00
  • 7e77c31e16 docs: 更新 README/CLAUDE 文档 + 配置 uv CUDA 兼容 Serendipity 2026-07-06 12:44:06 +08:00
  • eebdef739c fix: 修复 MarkdownSplitter 死循环 + 添加 GPU 自动检测 Serendipity 2026-07-06 00:04:04 +08:00
  • d141baf964 fix: use path hash prefix for source_file names to prevent same-name collisions; add size filter to ingest script Serendipity 2026-07-05 04:46:47 +08:00
  • d3cb88525c feat: multi-file, stdin, and glob support for ingest; fix stderr UTF-8 Serendipity 2026-07-05 02:14:17 +08:00
  • 4b2fd3d33a feat: add --json output and --collection to CLI for MCP scripting Serendipity 2026-07-05 02:10:23 +08:00
  • 0aee167085 feat: multi-collection support — each project uses its own isolated collection Serendipity 2026-07-05 02:07:02 +08:00
  • 8042cf288b docs: comprehensive README with quickstart, API reference, provider guide, and architecture Serendipity 2026-07-05 01:50:05 +08:00
  • f61f631d71 docs: update CLAUDE.md to reflect current architecture Serendipity 2026-07-05 01:47:38 +08:00
  • 88c109d3dd docs: enhance CLI help with argument descriptions, --config option, and epilog examples Serendipity 2026-07-05 01:45:38 +08:00
  • b89c6076e1 feat: multi-provider embedder — support OpenAI/DashScope with provider-specific defaults Serendipity 2026-07-05 01:43:23 +08:00
  • 5672472030 feat: load .env file via python-dotenv for API key management Serendipity 2026-07-05 01:40:23 +08:00
  • 441ba8ab86 test: add DELETE endpoint tests and ingest integration tests Serendipity 2026-07-05 01:38:50 +08:00
  • 4114a168b4 refactor: FastAPI Depends injection replacing globals, real health check, logging config Serendipity 2026-07-05 01:36:40 +08:00
  • ad9e5ce449 refactor: strategy-pattern embedder (Local/API), remove global env vars, add batch embedding Serendipity 2026-07-05 01:35:54 +08:00
  • 81a8173a38 fix: add thread-safe write lock to ChromaDB operations Serendipity 2026-07-05 01:34:36 +08:00
  • 10eda446ea fix: add field validation to API request models (top_k limit, file_name pattern) Serendipity 2026-07-05 01:33:42 +08:00
  • 157155c0d2 fix: add API key auth, rate limiting, and safe error messages Serendipity 2026-07-05 01:33:02 +08:00
  • 2ef0cf4a4e fix: add path traversal protection to ingest endpoint Serendipity 2026-07-05 01:32:04 +08:00
  • 5dcf1eed52 fix: remove api_key from config.yaml, read from EMBED_API_KEY env var; unify config path constant Serendipity 2026-07-05 01:30:46 +08:00
  • 10f9aaede4 docs: add architecture audit report with 23 findings Serendipity 2026-07-05 01:24:56 +08:00
  • d82d728818 docs: add CLAUDE.md for AI agent guidance Serendipity 2026-07-05 01:22:07 +08:00
  • 2f0aa38fbf fix: add root redirect to /docs and show localhost in serve output Serendipity 2026-07-05 01:19:48 +08:00
  • 30a1c1af57 fix: SSL certificate issue and Windows terminal encoding Serendipity 2026-07-05 01:17:13 +08:00
  • 8a646be06c docs: add README and test data Serendipity 2026-07-05 01:13:44 +08:00
  • 2c1dcf22cf feat: add serve script and console entry point Serendipity 2026-07-05 01:11:16 +08:00
  • 9ae676d9cc feat: add CLI management tool Serendipity 2026-07-05 01:09:57 +08:00
  • d021390fd3 feat: add FastAPI HTTP API layer Serendipity 2026-07-05 01:09:07 +08:00
  • 7309b0a437 feat: add semantic search module Serendipity 2026-07-05 01:06:08 +08:00
  • 757bd8b336 feat: add Markdown splitter and document ingestor Serendipity 2026-07-05 01:03:14 +08:00
  • f9e5c37d3e feat: add embedder with local/API dual mode Serendipity 2026-07-05 01:00:31 +08:00
  • b756c53e25 feat: add ChromaDB database layer Serendipity 2026-07-05 00:55:08 +08:00
  • 138c5c1881 feat: add config loading module with YAML support Serendipity 2026-07-05 00:52:48 +08:00
  • cfc41f8af5 chore: improve .gitignore with build artifacts and venv patterns Serendipity 2026-07-05 00:51:51 +08:00
  • 3eb4b30858 chore: scaffold md-vector-db project structure Serendipity 2026-07-05 00:48:31 +08:00
  • 77d9ec6570 Initial commit Serendipity 2026-07-05 01:25:37 +08:00