-
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