diff --git a/.project-docs/10-decisions/ADR-2026-09-11-personal-cloud-agents.md b/.project-docs/10-decisions/ADR-2026-09-11-personal-cloud-agents.md index 5cdd8c4..23115d3 100644 --- a/.project-docs/10-decisions/ADR-2026-09-11-personal-cloud-agents.md +++ b/.project-docs/10-decisions/ADR-2026-09-11-personal-cloud-agents.md @@ -14,6 +14,12 @@ Accepted / implemented,2026-09-11 集成。产品范围、三端分工、创 - 日程建议只保存建议;手动/建议新建均默认停用,创建者核对能力、限制、结果和费用后启用。Agent 归档停用,恢复后保持停用;排队、运行或等待回答/审批的会话不能归档,活动状态取原生最新顶层 Run。旧版恢复只创建新草稿。 - 个人 MCP/Skill/子智能体与知识复用原生资源所有权。知识替换先完成新索引,成功后移除旧文档;失败保留旧资料。本人附件导入不借用付款者权限。客户端未确认操作在重启后由用户明确重试或丢弃。 +### 知识文档处理与可用状态 + +2026-09-15:上传、对话附件导入与替换成功登记后,客户端自动提交既有解析索引操作;持续展示等待处理、正在解析、建立索引、可用于回答或失败原因。Main 持有传输与操作恢复,Renderer 每 5 秒在上次读取完成后刷新已加载页面,库切换隔离结果,读取失败保留旧状态。 + +可用性以 Yuxi 已索引状态和实际分块为准,零分块明确提示没有可用内容;空文本重建保留原有可用数据。替换只有新内容实际可用后才清理旧文档;清理失败及重试期间不抹去已有可用事实。处理请求未确认时复用原操作 ID,看到新持久 Task 后解除不确定提示,新 Task 失败后的新意图可再次重试。该交互更新先前需用户另行点击解析索引的操作说明,embedding 平台承担、访问权限与聊天计费规则保持。 + ## Embedding Ownership And Funding(2026-09-15 accepted / implemented) 知识库 embedding 由 Yuxi 独占模型 spec、供应商模型 ID、地址、API Key 与实际维度,并由 Yuxi API/worker 直连供应商。费用由平台承担,不计算用户用量、不预占或扣除创建者词元点数、不占用智能体单次/每日金额预算;供应商可不返回 usage。账号、模块、调用者与知识库访问权限以及运行时限仍然生效。聊天模型继续沿用 Works Square/one-api 的授权和创建者计费;知识流程另行调用聊天模型时也遵守该规则。 diff --git a/.project-docs/10-decisions/decision-index.md b/.project-docs/10-decisions/decision-index.md index bd8c990..4c0edae 100644 --- a/.project-docs/10-decisions/decision-index.md +++ b/.project-docs/10-decisions/decision-index.md @@ -2,6 +2,8 @@ ## Active Decisions +- [知识文档处理与可用状态](ADR-2026-09-11-personal-cloud-agents.md#知识文档处理与可用状态):2026-09-15 amended / implemented;上传、导入、替换自动解析索引,持续刷新阶段与真实可用性,失败可恢复且保留旧资料。 + - [知识库向量配置与平台承担](ADR-2026-09-11-personal-cloud-agents.md):2026-09-15 amended / implemented;embedding 由 Yuxi 配置并直连供应商,不计用户用量、词元点数或金额预算,聊天沿用原计费。 - [个人云智能体与微信渠道](ADR-2026-09-11-personal-cloud-agents.md):2026-09-14 amended / implemented;每个微信账号独立扫码、选择已发布智能体;只接受扫码身份,移除邀请/使用范围/调用者管理。多账号路由、创建者计费及历史内容隔离保留;真实部署验收待执行。 diff --git a/.project-docs/20-architecture/system-overview.md b/.project-docs/20-architecture/system-overview.md index b5bb4e9..180b7de 100644 --- a/.project-docs/20-architecture/system-overview.md +++ b/.project-docs/20-architecture/system-overview.md @@ -2,6 +2,8 @@ ## Current Architecture +知识文档上传、附件导入与替换后由客户端自动衔接既有解析索引接口,Main 保留处理 Task、可用性与替换关系。Renderer 每 5 秒串行刷新已加载页面,以服务端持久 Task 与实际分块显示阶段、失败原因及可用于回答的文档;请求未确认时保留同一操作意图,观察到新 Task 后才解除本地不确定状态。替换失败及清理重试保留旧可用内容,零分块不显示可用。见[知识处理交互规则](../10-decisions/ADR-2026-09-11-personal-cloud-agents.md#知识文档处理与可用状态)。 + 知识库 embedding 独立于原有 one-api 模型网关:Yuxi 拥有目录、供应商地址/密钥与实际维度并直连供应商,平台承担费用,不计算用户用量、词元点数或智能体金额预算。访问资格与运行时限保留,聊天计费不变;见[已接受向量规则](../10-decisions/ADR-2026-09-11-personal-cloud-agents.md)。 微信账号生命周期独立于智能体:MakeLore“渠道 > 微信”展示用户的 Core ChannelAccount 清单,通过 Yuxi 用户级账号 API 连接及选择可选目标;多个账号可指向同一已发布智能体,路由切换保留登录。Core 持有路由与不可变回执,Yuxi 本地 binding 只索引当前关联并保留历史 caller/session,Main 持有请求恢复与凭据。发布页只显示关联摘要与入口;详见[用户级账号决策](../10-decisions/ADR-2026-09-11-personal-cloud-agents.md)。 diff --git a/.project-docs/30-worklog/current-state.md b/.project-docs/30-worklog/current-state.md index f9b0655..2e35b5e 100644 --- a/.project-docs/30-worklog/current-state.md +++ b/.project-docs/30-worklog/current-state.md @@ -4,6 +4,8 @@ This file is the integrated default-branch snapshot. Feature tasks record progre ## Integrated Through +- 2026-09-15:任务 `20260915-merge-knowledge-status-ml-7a69bec0` 经用户确认登记移交,将已独立审查源 `fee2f4c` 无冲突快进合入本地 `main`。知识文档上传、导入与替换自动衔接解析索引,明确阶段、真实可用性和失败恢复;每 5 秒串行刷新已加载页面,旧可用内容在替换清理重试时保留。沿用源 49 项相关单测、类型检查、scoped lint、Vite 全目标构建、真实 Electron E2E 1 passed,以及独立 Reviewer Standards/Spec PASS。全量唯一 Pi runtime v6/v7 旧断言失败与本改动无关,详见[源任务](tasks/20260915-knowledge-status-ml-3065956f.md)。产品树与已审查源一致;原有三份文档保留,未推送、打包或部署。需配套更新 Yuxi API/worker 与客户端后验收实际上传。 + - 2026-09-15:任务 `20260915-merge-windows-titlebar-bde0505c` 经用户授权移交主目录登记,将修复源 `dae64e52b94f54c61b14d744ef6e6d0580af2d3a` 无冲突快进合入本地 `main`。Windows Code 对话标题栏按共用的 148 px 窗口按钮与 96 px Logo 尺寸限制可交互区域,浏览器、中止和恢复按钮保持在 Logo 左侧。产品树与已验证源一致,沿用 42 项相关单测、类型检查、scoped lint、Vite 全目标构建及 Electron 标题栏/Code 交互验证;覆盖最小 1024 px 窗口、125% 缩放和窗口最大化/还原。详见[源任务](tasks/20260915-windows-logo-overlap-5106511f.md)。原有三份未跟踪文档保持,源记录原样导入;未推送、打包或安装客户端。 - 2026-09-15:任务 `20260915-merge-platform-embedding-ml-4e78b319` 经用户授权移交主目录登记,将独立审查通过的 `c466039adb789368189e43971afe489d450d5c82` 无冲突快进合入本地 `main`。知识库 embedding 统一由 Yuxi 配置并直连供应商,平台承担费用,不计算用户用量、词元点数或金额预算;聊天计费保持。客户端知识模型列表沿用 id/name/dimension 契约,配置说明只指向 Yuxi,知识及预算页面明确平台承担向量化成本。 本次新规则取代早期知识库目录交集、one-api 向量接口和创建者付款说明,历史记录保留。源聚焦单测 22 passed、Electron E2E 1 passed、typecheck、scoped lint 与 Vite build 通过;最终文字调整后聚焦 22 单测再次通过,独立 Reviewer Standards/Spec PASS;详见[源任务](tasks/20260914-yuxi-embedding-ml-a174ed62.md)。原有三份文档保持,无新 SQL 或专用环境变量,未推送或部署;真实供应商及完整知识库拓扑验收另行执行。 diff --git a/.project-docs/30-worklog/tasks/20260915-merge-knowledge-status-ml-7a69bec0.md b/.project-docs/30-worklog/tasks/20260915-merge-knowledge-status-ml-7a69bec0.md new file mode 100644 index 0000000..7ac4522 --- /dev/null +++ b/.project-docs/30-worklog/tasks/20260915-merge-knowledge-status-ml-7a69bec0.md @@ -0,0 +1,45 @@ +# Task: 合并知识文档处理状态优化 + +## Identity + +- Task ID: 20260915-merge-knowledge-status-ml-7a69bec0 +- Mode: Integration +- Branch: main +- Worktree: D:\Datas\OthersProjects\makelore +- Base commit: b0bf7a49eb5d8e7e8ee141ddb4b992fddf2e410c +- Owner: codex +- Status: Ready for Integration + +## Scope + +- 将已审查提交 `fee2f4c` 快进合入本地 `main`,同步知识文档处理与可用状态的 canonical 说明。 + +## Intent And Constraints + +- Concurrent / Planning Gates Passed;官方 start/status 匹配本任务、integration 模式、主目录、分支及基线;用户已确认旧登记移交与合并。 +- 已读取必需项目记忆、源任务结果及晋升候选、peer Scope/Intent/Promotion;旧模板仅为未知协调状态,无本次具体语义冲突,保持只读。 +- 保留主目录原有未跟踪文档;源任务记录只读导入。embedding 由平台承担,不计用户用量或预算;Main/Yuxi 所有权与聊天计费保持。 +- 仅本地合并和文档晋升;不推送、部署、打包或删除工作区/分支。 +- 计划:快进已审查源;晋升状态说明;验证产品树/源记录不变与原文档逐字节保留;完成 drift、文档提交与 complete。 + +## Outcome + +- 已将 `fee2f4c` 无冲突快进合入本地 `main`。产品代码与已审查源完全一致,源任务记录原样导入。 +- 已晋升知识文档处理与可用状态到 current-state、决策索引和架构及个人云智能体 ADR,明确自动处理、真实分块、失败恢复及旧内容保留;平台承担 embedding 规则保持。 +- 原有 3 份未跟踪文档逐字节保留;未推送、部署、打包或清理工作区。 + +## Verification + +- 源提交验证:49 项 Main/DOM 单测、类型检查、scoped ESLint、Vite 全目标构建和真实 Electron E2E 1 passed;独立 Reviewer Standards PASS / Spec PASS。全量 2081 passed / 1 failed / 2 skipped,唯一 Pi runtime v6/v7 断言为既有基线问题,两域无本次改动,未扩大范围修复。单独压力测试通过。 +- 集成验证:git diff --exit-code 与源提交比对产品树及源任务记录均通过;git diff --check、check_project_docs.py、task-aware check_doc_drift.py 通过。原有文档直接比对原始字节一致。 +- 纯快进及 canonical 文档晋升,无新增产品改动,复用上述源验证,不重复执行全量构建/测试。 +- 真实生产 OSS/Milvus、供应商及客户端安装后联调未验收。 + +## Follow-ups + +- 需重新构建部署 Yuxi API/worker 并更新 MakeLore 客户端后,用真实文档验收上传至可用的全过程。本地合并不代表已部署。 +- 合并后按 skill 单独确认源 feature 工作区清理;分支与提交保留。仍有审查记录未提交的 review 工作区继续保留。 + +## Promotion Candidates + +- 源候选已在本次 integration 应用;来源 20260915-knowledge-status-ml-3065956f / fee2f4c,无未决语义冲突。