Commit Graph

54 Commits

Author SHA1 Message Date
zaochen 55963b69f3 [fix] 修复代码与文档不一致:移除残留clean引用、实现info --id、修正MCP文档 2026-06-29 18:56:58 +08:00
zaochen e26be6f505 docs: 更新架构文档,同步当前代码结构 2026-06-29 18:46:15 +08:00
MightZero 187dfc2148 Merge pull request '彻底移除clean参数 简化接口' (#3) from MightZero/algonotes_rag:dev into master 2026-06-29 18:32:50 +08:00
MightZero 0eb15c5b6f [refactor] 彻底移除clean参数,简化 ingest 和 update 函数接口 2026-06-29 18:31:25 +08:00
MightZero bce51fc2b2 Merge pull request '修复分支merge' (#2) from MightZero/algonotes_rag:master into master 2026-06-29 17:46:58 +08:00
MightZero 5e5f49675e Merge branch 'dev'
merge from branch `dev`
2026-06-29 17:45:06 +08:00
MightZero b91708a99b Merge pull request '修改CLI clean参数和内置prompt' (#1) from MightZero/algonotes_rag:dev into master 2026-06-29 17:33:51 +08:00
zaochen 3422653ddc [feat] 实现单行 RAG 问答命令 + MCP ask 工具 2026-06-29 17:13:16 +08:00
MightZero dc7254b042 [refactor] 更新内置prompt,优化内容结构和表达 2026-06-29 17:07:05 +08:00
MightZero 422dab1f41 [refactor] 移除命令行参数中的 --clean 选项并更新文档 2026-06-29 17:06:13 +08:00
zaochen 77dd30e451 [refactor] MCP 服务启动迁移至 algonotes mcp 子命令 2026-06-29 14:34:00 +08:00
zaochen 72f8e62774 [refactor] 移除 JsonFormatter 中未使用的 source 字段 2026-06-29 11:46:17 +08:00
zaochen 11835461e4 [refactor] 日志系统:默认 file-only,--verbose 开启 stderr 2026-06-29 11:42:26 +08:00
zaochen 59296900a5 [feat] 数据库优化 + Metadata 更新接口 + Obsidian 导出
- Schema: 新增 author + type 字段,运行时迁移
- SQLStore: 新增 update_metadata() 轻量更新方法
- VectorStore: 新增 update_metadata_fields() 原地更新
- CLI: update content/metadata 子命令 + query export 子命令
- MCP: 新增 metadata / export 工具
- ingest/update: 透传 author/type 参数
- 文档: 更新 CLI/MCP/STORE/ROADMAP
2026-06-29 11:35:28 +08:00
zaochen bd38c32cbd [refactor] MCP Server 切换为 SSE 传输协议(HTTP) 2026-06-29 00:03:47 +08:00
zaochen f265eda4e8 [docs] MCP README 补充 Cherry Studio 配置示例 2026-06-28 23:44:51 +08:00
zaochen ef6eb7d60c [docs] issue 文档添加 Gitee 链接 2026-06-28 23:12:19 +08:00
zaochen ddfafb236c [feat] MCP Server 实现 + 切换 Qwen3 模型
- 新增 src/mcp/ 实现 MCP Server(FastMCP + stdio 传输)
- 6 个工具:ingest/update/delete/show/list/search,与 CLI 增删改查对齐
- JSON 返回格式统一为 CLI --json 输出格式
- 新增 docs/mcp/ 文档(README + 4 模块)
- 切换 LLM 模型为 Qwen3-Next-80B-A3B-Instruct(Gitee.AI DeepSeek-V3 资源包不可用)
- 标记 IJX549 issue 已修复
- 添加 mcp[cli] 依赖 + algonotes-mcp 入口
2026-06-28 23:10:35 +08:00
zaochen a0954049ed [docs] 完善了 IJX549 issue 2026-06-26 18:23:07 +08:00
zaochen a886b008a2 [docs] 新增 Gitee.AI 多轮 function calling 500 错误 issue 2026-06-26 17:21:54 +08:00
zaochen 85b9a9e1de [fix] 向量搜索结果注入 tags 元数据
- ingest.py/update.py: 在 _vector_store.save() 前将 tags 注入 chunk metadata
- STORE.md: metadata 示例添加 tags 字段
2026-06-26 16:59:07 +08:00
zaochen 28583b0f03 [fix] RAG 检索无结果时 fallback 到内置知识
- agent_system.md: 新增超时判断步骤,多次检索无结果时告知用户并尝试内置知识
- tagger.md: 格式修正
- ROADMAP.md: 新增 v1.1 规划(笔记-题解关联表、多用户管理等)
2026-06-26 16:46:49 +08:00
zaochen 62fee4b292 [fix] 修复 query.md 文档与代码不一致问题
- 修正 --lines 说明:JSON 输出也受 --lines 影响(与代码一致)
- 修正 12 处命令示例:show/list/info/search 需要 query 前缀
2026-06-25 02:13:07 +08:00
zaochen a6e14d9f53 [feat] 统一 algonotes CLI 入口
- 新建 scripts/cli.py: argparse 子命令路由,支持 algonotes ingest/update/delete/query/chat
- pyproject.toml: 添加 [project.scripts] 注册 algonotes 命令
- docs/cli/README.md: 更新目录结构、调用方式、状态
- 各脚本保留 if __name__ 块,python -m scripts.xxx 仍可用
2026-06-25 01:59:11 +08:00
zaochen 062b1232c0 [fix] 修复 update 文件重命名 bug + CLI 文档与代码对齐
- update.py: 用 file_store.update() 覆写原文件,替代 load_local/load_web 创建新文件
- sql_store.py: content_hash 始终从磁盘重算
- query.py: show JSON 加 line_count, search JSON 加 metadata
- docs: 删除 timestamp/count, list JSON 改数组, query 标记待实现, 输出示例对齐代码
2026-06-25 01:41:44 +08:00
zaochen 6cb256dc27 [docs] 优化 cli/query.md 2026-06-24 17:37:45 +08:00
zaochen fb615960da [feat] update 命令实现 + CLI 文档格式统一
- 新增 scripts/update.py,支持本地/URL 笔记更新
- UpdateResult 补充 tags/title/note_id 字段,JSON 输出与 ingest 对齐
- 统一 ingest/update/delete 三份 CLI 文档格式
- 更新 ARCHITECTURE/ROADMAP/README 相关内容
2026-06-24 17:10:55 +08:00
zaochen cccaafe744 [fix] sql: file_size 2026-06-24 16:16:45 +08:00
zaochen 14b7cf9fb7 [feat] query 命令 + Gitee.AI embedding 修复 + 文档更新
- scripts/query.py: 查询命令(list/info/show/search 子命令),
  NoteInfo dataclass + rich 表格输出
- embedding_client.py: chunk_size=25,绕过 Gitee.AI 单请求
  input 数组 25 条上限
- docs/cli/: 查询/更新/README 文档同步更新
- issues/IJVLRZ.md: 补充 8 组对比实验,修正根因分析
2026-06-24 15:56:11 +08:00
zaochen 27ac1c47ad [feat] delete 命令实现 + 文档完善
- scripts/delete.py: 三层存储删除(Vector→File→SQL),
  支持 --force 跳过确认、--json 输出
- docs/cli/delete.md: 新增 --json 参数、输出示例和 JSON 格式说明
- docs/cli/ingest.md: 格式规范化
2026-06-20 11:11:11 +08:00
zaochen 8d5ef051a9 [fix] https://gitee.com/moark/feedback/issues/IJVLRZ 2026-06-19 12:10:39 +08:00
zaochen 6c416b1234 [feat] scripts/chat 交互式问答 + LangGraph checkpointer 上下文传递
- 新增 scripts/chat.py:交互式 CLI,支持 --thread-id、流式输出、多轮对话
- src/rag/agent.py:增加 get_checkpointer() 单例工厂,create_rag_agent() 增加 checkpointer 参数
- 使用 InMemorySaver 实现 MVP 阶段上下文持久化
2026-06-19 10:28:56 +08:00
zaochen 34f0338eb2 [fix] 统一代码风格 2026-06-19 09:48:16 +08:00
zaochen b99e432f10 [fix] cli.ingest 2026-06-18 21:06:33 +08:00
zaochen 1e06001fdd [feat] scripts/ingest CLI 后端 + 文档完善
- scripts/ingest.py: ingest_local/ingest_locals/ingest_web 三函数
  + IngestResult dataclass + argparse 入口
- loader.py: _HEADERS 模块级常量,stream 参数
- 文档: ingest.md JSON 格式说明,示例输出同步更新
2026-06-18 20:02:49 +08:00
zaochen 7bfb541137 [docs] 设计了 cli 架构 2026-06-18 15:08:30 +08:00
zaochen 410cbaf148 [feat] RAG Agent 管线完整实现 + 重构存储与 API 客户端
核心变更:
- RAG Agent:create_agent + 4 个内部工具(search_notes / search_by_tags / get_file_content / rerank_results)
- 存储层:统一单例工厂模式(get_vector_store / get_sql_store /
  get_file_store),SQLite 线程安全(check_same_thread=False)
- API 客户端:LLM / Embedding / Reranker 均添加单例缓存, 避免重复初始化
- Reranker:新增 BaseReranker ABC -> GiteeAIReranker 实现
- 配置:切换到 SiliconFlow(DeepSeek-V4-Flash / Qwen3-Reranker-8B)(Gitee.AI 出现异常行为,待后续排查;比赛要求使用 Gitee.AI / 沐曦 GPU)
- 日志:line_buffering 确保实时输出,src/__init__ 自动初始化
- Prompt:agent_system.md 定义 Agent 工作流与工具调用规范
- 文档:更新 ARCHITECTURE / CONFIG / RAG / README 对比代码对齐
2026-06-17 21:01:56 +08:00
zaochen afff71bfe6 [fix] 调整了一下 ingestion 部分 2026-06-17 14:06:04 +08:00
zaochen aac11c8884 [feat] custom reranker 2026-06-17 07:47:53 +08:00
zaochen 5b54ffa452 [fix] logger.py 2026-06-16 23:45:50 +08:00
zaochen 39ef299627 [feat] tagger 2026-06-16 23:41:48 +08:00
zaochen a9ae4bc7ff [fix] https://gitee.com/moark/feedback/issues/IJUQ06 2026-06-16 16:21:14 +08:00
zaochen ce12e8934b [docs] 重构了 RAG 架构 2026-06-16 16:02:14 +08:00
zaochen 0c703018a5 [docs] 优化架构文档与配置文档 - ARCHITECTURE.md: ASCII 流程图转 mermaid - CONFIG.md: 新增 CPGraph 公共题库配置说明 - config.toml + src/config.py: 新增 [cp_graph] 配置段 2026-06-16 12:43:18 +08:00
zaochen bd12ba1df0 [docs] 优化了架构文档 2026-06-16 12:39:43 +08:00
zaochen 6f99d45e1d [feat] 实现 LLM 客户端与 ingestion 管线
- src/api/llm_client.py: LLM 客户端工厂函数,读取 config.toml
- src/ingestion/loader.py: 文档加载(本地 .md + 网页 URL)
- src/ingestion/cleaner.py: LLM 文本清洗(prompt 模板 + 重试机制)
- src/ingestion/splitter.py: Markdown 分块(标题层级 + 递归分割)
- prompts/clean.md: 清洗 prompt 模板
- pyproject.toml: 添加 beautifulsoup4 依赖
2026-06-16 12:20:25 +08:00
zaochen a961a5f2fa [fix] SQLStore.insert() 新增 chunk_count 参数,与 STORE.md 摄入流程对齐 2026-06-16 11:30:35 +08:00
zaochen d926a47fd3 [feat] 实现 embedding 客户端、向量存储与元数据校验模块
- src/api/embedding_client.py: Embedding 工厂函数,读取 config.toml
- src/store/vector_store.py: Chroma 封装,笔记级 CRUD(save/delete/update/search)
- src/store/vector_metadata.py: 元数据规范与校验(必填字段 + h1~h6 可选标题)
- pyproject.toml: 添加 langchain/langchain-chroma/langchain-openai 等依赖
2026-06-16 11:23:58 +08:00
zaochen b800ce43de [feat] 实现笔记前两层存储(file + sql) 2026-06-16 10:22:56 +08:00
zaochen 733d68a1f1 [docs] 新增配置文档与环境变量模板 2026-06-16 07:40:53 +08:00