Serendipity
5672472030
feat: load .env file via python-dotenv for API key management
2026-07-05 01:46:59 +08:00
Serendipity
441ba8ab86
test: add DELETE endpoint tests and ingest integration tests
2026-07-05 01:46:59 +08:00
Serendipity
4114a168b4
refactor: FastAPI Depends injection replacing globals, real health check, logging config
2026-07-05 01:46:59 +08:00
Serendipity
ad9e5ce449
refactor: strategy-pattern embedder (Local/API), remove global env vars, add batch embedding
2026-07-05 01:46:59 +08:00
Serendipity
81a8173a38
fix: add thread-safe write lock to ChromaDB operations
2026-07-05 01:46:59 +08:00
Serendipity
10eda446ea
fix: add field validation to API request models (top_k limit, file_name pattern)
2026-07-05 01:46:58 +08:00
Serendipity
157155c0d2
fix: add API key auth, rate limiting, and safe error messages
2026-07-05 01:46:58 +08:00
Serendipity
2ef0cf4a4e
fix: add path traversal protection to ingest endpoint
2026-07-05 01:46:58 +08:00
Serendipity
5dcf1eed52
fix: remove api_key from config.yaml, read from EMBED_API_KEY env var; unify config path constant
2026-07-05 01:46:58 +08:00
Serendipity
10f9aaede4
docs: add architecture audit report with 23 findings
2026-07-05 01:46:58 +08:00
Serendipity
d82d728818
docs: add CLAUDE.md for AI agent guidance
2026-07-05 01:46:58 +08:00
Serendipity
2f0aa38fbf
fix: add root redirect to /docs and show localhost in serve output
2026-07-05 01:46:58 +08:00
Serendipity
30a1c1af57
fix: SSL certificate issue and Windows terminal encoding
2026-07-05 01:46:58 +08:00
Serendipity
8a646be06c
docs: add README and test data
2026-07-05 01:46:57 +08:00
Serendipity
2c1dcf22cf
feat: add serve script and console entry point
2026-07-05 01:46:45 +08:00
Serendipity
9ae676d9cc
feat: add CLI management tool
2026-07-05 01:46:45 +08:00
Serendipity
d021390fd3
feat: add FastAPI HTTP API layer
...
- Implement FastAPI server with health, collections, ingest, search, and delete endpoints
- Add Pydantic request models for ingest and search
- Add lazy singleton initialization for DB, embedder, and services
- Support environment variable override for data dir and collection name
- Add integration tests with TestClient and temp directory
- Set TRANSFORMERS_OFFLINE/HF_HUB_OFFLINE for offline model loading in tests
2026-07-05 01:46:44 +08:00
Serendipity
7309b0a437
feat: add semantic search module
...
实现语义检索模块 Searcher 类,支持:
- search(): 向量语义检索,返回格式化结果(含 content、source_file、section_title、heading_level、chunk_index、score 字段)
- get_collection_info(): 获取 collection 统计信息
- list_sources(): 列出已入库源文件
- delete_by_source(): 按源文件删除文档
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-05 01:46:44 +08:00
Serendipity
757bd8b336
feat: add Markdown splitter and document ingestor
...
- MarkdownSplitter: hybrid splitting by headings then paragraphs
- DocumentIngestor: read MD -> split -> embed -> store with dedup
- All 6 tests passing
2026-07-05 01:46:44 +08:00
Serendipity
f9e5c37d3e
feat: add embedder with local/API dual mode
2026-07-05 01:46:44 +08:00
Serendipity
b756c53e25
feat: add ChromaDB database layer
2026-07-05 01:46:44 +08:00
Serendipity
138c5c1881
feat: add config loading module with YAML support
...
实现应用配置加载模块,支持从 YAML 文件或默认值加载配置。
覆盖 ChromaDB、嵌入模型、文档分块和 HTTP 服务配置。
- src/core/config.py: 配置数据类 (AppConfig/ChromaConfig/EmbedConfig/ChunkConfig/ServerConfig) + load_config 函数
- tests/test_config.py: 5 个单元测试覆盖默认值、API 模式和文件加载
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-05 01:46:44 +08:00
Serendipity
cfc41f8af5
chore: improve .gitignore with build artifacts and venv patterns
2026-07-05 01:46:44 +08:00
Serendipity
3eb4b30858
chore: scaffold md-vector-db project structure
2026-07-05 01:46:44 +08:00
Serendipity
77d9ec6570
Initial commit
2026-07-05 01:25:37 +08:00