Commit Graph
94 Commits
Author SHA1 Message Date
yxx 46163cdf6c Merge remote-tracking branch 'origin/main' into feat/export-service 2026-09-04 10:59:52 +08:00
yxx b97ec755c2 feat(export): 交付 Markdown → HTML 导出服务
实现 Export Service 完整生命周期:mistune AST → Document AST → HtmlExporter 渲染完整 HTML5,异步任务注册表 + 取消 + 24h 产物过期。新增 5 个 /api/exports 端点与 15 项测试;pdf/docx 与函数图像静态渲染留待后续 PR。
2026-09-04 09:02:33 +08:00
admin 44fb29c97a fix(frontend): 移除运行时演示数据并接入真实后端状态 2026-09-04 07:47:05 +08:00
admin d32e9c6efa fix(benchmark): 记录实际Embedding空间与逐样本回退信息 2026-09-04 07:25:12 +08:00
admin 96e109f95e fix(provider): 修复索引事务回滚与工具名分片并同步主分支 2026-09-04 07:15:52 +08:00
admin 85f3169fbd feat(provider): 完成阶段E协议适配、国内预设与模型路由 2026-09-04 06:19:32 +08:00
yxx 58a8d64fdb Merge remote-tracking branch 'origin/main' into feat/knowledge-retrieval-core
# Conflicts:
#	README.md
#	backend/app/routes.py
#	docs/architecture/AI笔记软件技术栈说明-团队版-v2.3.md
#	docs/development/Knowledge与Retrieval-Core开发说明.md
2026-09-03 23:45:52 +08:00
yxxandClaude Code e3f8d76243 fix(backend): 落实 PR #12 评审意见
- P1 事件循环让出:run_rag 在样本边界 await asyncio.sleep(0),运行中取消/进度/SSE 可及时调度
- P2 SSE 终止事件:历史回放期间识别终止事件并结束流,try/finally 保证订阅清理
- P2 FTS 截断:fts 走数据库侧精确分页与计数,阈值经 bm25 截止值换算,不再受 5000 条固定截断
- P2 仅块标注:expected_block_ids 从块反查所属笔记,避免合法样本被判零分

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-03 23:37:09 +08:00
admin f8e499df5d fix(mcp): 修复配置导入、凭据管理与协议边界
修复生命周期锁阻塞事件循环、旧连接回调误停新连接及超时契约不一致。

补齐 MCP JSON 兼容导入、密钥拆分与失败重试,修复 Header 大小写草稿丢失,迁移大小写敏感的环境变量凭据。

在 SSE 行拼接前限制缓冲大小,增加并发、迁移和流式输入回归测试;忽略本机 MCP 数据及 server.json/servers.json。

验证:后端 185 项、前端 54 项测试通过,前端生产构建、相关文件 Ruff 与暂存差异检查通过。
2026-09-03 22:38:35 +08:00
yxxandClaude Code bc7c934375 fix(backend): 落实 PR #11 第二轮评审意见
- Benchmark 容量淘汰只删终态 run,满容量且全活动时返回 BENCHMARK_CAPACITY_EXCEEDED
- 创建 run 前校验索引兼容性(BENCHMARK_INDEX_INCOMPATIBLE)
- 取消 run 补发 RunCancelled 终止事件;失败分支脱敏(BENCHMARK_RUN_FAILED)
- 失败样本计入汇总分母,报告输出 total/successful/failed/failure_rate
- load_dataset 按文件名隔离无关损坏文件,顶层非对象拒绝
- FTS score_threshold 先于计数/分页,total 与 items 一致
- Benchmark SSE 支持 Last-Event-ID 游标
- 移除 Agent Benchmark 501 占位接口
- 同步第二阶段接口契约与开发说明文档

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-03 22:20:11 +08:00
admin 3001d6089a 添加MCP客户端超时配置和连接管理改进
添加了MCP客户端的超时配置功能,包括启动超时和工具调用超时参数。
改进了HTTP客户端和标准IO客户端的超时处理机制,确保请求在指定时间内完成或取消。
增加了对MCP服务器数量的限制,防止配置过多服务器导致系统不稳定。
增强了错误处理机制,当连接异常时能够正确清理资源并移除桥接主机。
添加了对大型MCP消息的大小验证,防止过大的请求导致系统问题。
优化了密钥更改后的处理流程,确保在修改密钥时停用服务器并要求重新测试。
2026-09-03 16:16:58 +08:00
admin 9f2c46ab39 feat(mcp): complete remote transports and configuration workflow 2026-09-03 15:25:41 +08:00
admin d4ffbdcadd feat(mcp): add standalone server registry
Implement C.1 stdio MCP server CRUD, encrypted environment secrets, command digest approval, connection tests, lifecycle recovery, and dynamic tool registration. Add the standalone frontend configuration center, contracts, regression tests, and development documentation.
2026-09-03 14:49:49 +08:00
yxxandClaude Code d591a79942 fix(backend): 落实 PR #9 评审意见
- 检索调优参数(rrf_k/rerank/rerank_candidates/score_threshold)透传到引擎实际执行
- Recall 去重,避免同一 Note 多 Block 重复导致 Recall 超 1
- RAG 运行改为后台异步执行:创建即 queued + 202,支持取消与 SSE 实时事件
- 数据集元数据校验,坏文件隔离跳过;citation_required 语义修正
- modes 空/重复校验;配置快照记录模型版本与索引元信息

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-02 23:20:34 +08:00
admin 1218b5cd71 fix(extension): 收紧插件命令运行时契约 2026-09-02 20:03:39 +08:00
admin 09c1bdac21 fix(extension): 向MCP命令传递插件设置 2026-09-02 18:23:32 +08:00
admin b16230ac4c fix(extension): 按Schema资源作用域校验引用 2026-09-02 15:47:54 +08:00
admin ec88795b11 fix(extension): 保护插件凭据引用与删除事务 2026-09-02 15:31:39 +08:00
admin cff38158f6 fix(extension): 完成MCP命令目标并收紧Schema边界 2026-09-02 14:52:03 +08:00
admin c1bac00d12 fix(extension): 收紧插件密钥与命令清单边界 2026-09-02 14:08:47 +08:00
admin 0a9cad1c76 feat(extension): 实现插件命令与设置贡献 2026-09-02 12:52:40 +08:00
yxx f74b751568 feat: benchmark功能开发完成 2026-09-01 23:30:11 +08:00
yxx 0e7bb20a5d feat: 完成benchmark后端功能 2026-09-01 23:19:28 +08:00
admin 605bfc1c1a fix(extension): 强化 MCP 参数与生产运行门禁 2026-09-01 21:25:05 +08:00
admin 199dd25c3e fix(extension): 完善 MCP 参数与运行安全边界 2026-09-01 16:06:23 +08:00
admin 20920b6845 fix(extension): 修复 MCP Host 资源与协议边界 2026-09-01 12:11:30 +08:00
admin 4894029a0f feat(extension): 接入 stdio MCP Plugin Host 2026-09-01 11:32:05 +08:00
admin 3a6643ca6f fix(agent): 保留持久化Run完整内容 2026-09-01 10:05:58 +08:00
admin a820d14656 feat(agent): 持久化Trace并支持SSE恢复 2026-09-01 00:39:37 +08:00
admin 8553d6f3c3 feat(workspace): 接入真实Vault数据链路 2026-08-31 21:38:56 +08:00
admin 8625481878 feat(provider): 添加API密钥加密存储 2026-08-30 10:56:57 +08:00
admin c733eabcef fix(provider): 修复DeepSeek开发凭据解析 2026-08-30 10:48:12 +08:00
admin 4162c5d8da feat(provider): 添加厂商预设与模型发现接口 2026-08-30 10:43:55 +08:00
admin 8816f47128 fix(backend): 修复全面审阅发现的核心问题
修复索引首次失败回滚、Vault 扫描边界、Markdown 代码围栏和 UTF-16 Citation 偏移。

收紧 Plugin 权限与 JSON Schema 校验,补齐 Note Move、Task、Attachment 和 Transcript Tool。

接入 OpenAI SSE 与 Ollama JSONL 真流式输出,修正 Provider PATCH 语义并限制运行时内存保留。

新增对应回归测试,后端测试增至 62 项。
2026-08-28 09:56:07 +08:00
admin 3a45ba7670 feat(agent): 接入 Skill Plugin 与知识库工具 2026-08-27 23:53:04 +08:00
admin 41dcaab5bd fix(retrieval): 保证删除一致性并完善 FTS 分页 2026-08-27 23:28:37 +08:00
admin 0522c50182 fix(knowledge): 保证笔记创建与索引更新一致性 2026-08-27 23:24:38 +08:00
yxxandClaude 0a007970bc fix(retrieval): 修复原子性、过滤漏召回、tags 语义与 rebuild 回滚
- 元数据 + 向量单事务提交,避免 PATCH 半提交(审阅 #2)
- vectorstore upsert 改 delete-then-insert 幂等,支持共享 conn
- FTS 取全量 + 过滤 oversample,修复 metadata 过滤漏召回(审阅 #4)
- PATCH tags 区分 None/[]/非空:保留/清空/替换(审阅 #5)
- rebuild 拒绝增量 scope/note_ids,扫描先行 + 失败回滚旧索引(审阅 #6)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-27 22:48:55 +08:00
yxxandClaude 9fd2a8b98b fix(retrieval): 修复路径逃逸、部分提交、失效向量与分页问题
- 路径逃逸:清洗 folder(拒绝 ..、绝对路径/盘符),_abs_path 增加 Vault 边界校验
- 部分提交:create/update 索引失败时回滚文件
- 失效向量残留:replace_note_metadata 返回旧 id,index_note 清理旧向量
- 分页不完整:fts_count 返回真实命中总数,候选池覆盖 offset+limit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-27 21:38:43 +08:00
yxxandClaude cc6b70d9e9 test(retrieval): 增加检索测试数据与单元端到端测试
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-27 19:24:20 +08:00
admin 02651505e2 添加provider工厂和Ollama支持
- 实现ProviderFactory用于构建不同类型的provider适配器
- 添加EnvironmentCredentialResolver用于解析环境变量中的凭证
- 实现OllamaProvider支持本地模型调用
- 实现OpenAICompatibleProvider支持OpenAI兼容接口
- 在AgentRuntime中添加对ProviderError的处理
- 更新Message结构体添加tool_calls字段
- 实现provider配置的增删改查API端点
- 添加provider注册表的replace方法
- 添加HTTP基础类和工具参数解码功能
- 更新依赖添加httpx库
- 添加相关单元测试验证provider适配器功能
```
2026-08-27 14:16:57 +08:00
admin 902ac4a234 实现 AI Core 与 Agent Core 基础功能
- 更新 README 描述从后端壳子到 AI Core/Agent Core
- 添加 ToolCall 和 ToolResult 数据结构定义
- 扩展 AgentRun 模型增加输出、错误码、工具调用结果等字段
- 添加 mock 提供商类型支持
- 实现聊天、代理运行、工具调用和提供商管理的核心路由逻辑
- 集成容器化依赖注入和错误处理机制
- 更新 API 接口契约和文档说明
2026-08-27 13:55:00 +08:00
admin b277d04447 feat(api): 建立前后端接口契约壳子 2026-08-27 11:37:17 +08:00
admin 5721ca7dd2 初始化项目基础结构
添加了完整的前后端开发环境配置,包括:
- 创建 .gitignore 文件忽略本地生成目录和环境文件
- 添加详细的 README.md 开发指南文档
- 配置 backend 目录结构和 FastAPI 应用基础框架
- 实现应用配置管理、健康检查和状态接口
- 设置 uv 依赖管理和虚拟环境配置
- 完成 CORS 中间件配置支持前端开发联调
2026-08-27 11:19:36 +08:00