From a721b8fb7e99eb8979fcb9c8c21a6540ebef911d Mon Sep 17 00:00:00 2001 From: brother7 <7brother7@gmail.com> Date: Mon, 14 Sep 2026 09:44:36 +0800 Subject: [PATCH] =?UTF-8?q?docs(agents):=20=E5=90=88=E5=85=A5=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=BA=A7=E5=BE=AE=E4=BF=A1=E6=B8=A0=E9=81=93=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ADR-2026-09-11-personal-cloud-agents.md | 11 +++++ .project-docs/10-decisions/decision-index.md | 2 +- .../20-architecture/system-overview.md | 4 +- .project-docs/30-worklog/current-state.md | 4 +- .project-docs/30-worklog/task-history.md | 1 + ...0260914-merge-user-channels-ml-e672b0c4.md | 45 +++++++++++++++++++ 6 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 .project-docs/30-worklog/tasks/20260914-merge-user-channels-ml-e672b0c4.md 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 c1404d5..2485fd3 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 @@ -35,6 +35,17 @@ Accepted / implemented,2026-09-11 集成。产品范围、三端分工、创 Source `2e710db0fb512f276fda8ae8a3939d366b34a972`, [source task](../30-worklog/tasks/20260913-agentbus-channels-ml-3ec75b90.md). Final 81 focused tests, typecheck, production build and 2 Electron scenarios passed, with independent review PASS. Tests use local Host fixtures; real WeChat, billing, packaging and deployment acceptance remain pending. +## User-Owned WeChat Accounts(2026-09-14 accepted / implemented) + +- 用户在 MakeLore 的“渠道 > 微信”统一管理多个个人微信账号;账号可以先创建、扫码连接,再选择自己已发布的智能体。每个账号只有一个可选当前目标,多个账号可路由到同一智能体。 +- AgentBus Core 的 ChannelAccount 继续拥有账号、当前路由、代次和操作回执;无目标创建默认停用,请求体不增加 `enabled` 字段。清空目标必须停用,切换或清空路由保留微信登录凭据与 Provider generation。 +- Yuxi 提供用户级 `/api/makelore/channel-accounts` 与按操作 ID 恢复的接口。已有 Agent binding 仅索引当前路由,历史 caller/session 保留;旧渠道与无目标账号均按 Core 账号清单呈现。多个账号分别保留通知目标和权限范围。 +- MakeLore Main 继续拥有凭据、请求与持久恢复,Renderer 只消费 typed Host API。智能体发布页改为关联渠道摘要与跳转;权限、活动记录及本人会话定位到明确选中的账号。 +- 已完成操作优先读取既有回执,再处理首次操作才需要的发布/归档及 Worker 条件;恢复不能重放旧路由或重新调用模型。账号与目标始终限定在可信创建者身份内;原创建者计费、受邀调用者内容隔离及扫码本人免配对规则保持。 +- 本节取代此前将创建、连接与路由都放在智能体发布页的入口设计。先更新 AgentBus Core 与 Yuxi API/worker,再使用新版客户端;本批没有新环境变量、数据库迁移,也不要求修改 Works Square 或微信 Adapter。 + +源提交 `b7d8b1298f02e4b10b6d0089594d48720efc03e7`,见[已审查源任务](../30-worklog/tasks/20260913-user-channels-ml-8d61e4a9.md)。独立 Reviewer 最终 Standards/Spec PASS;本地测试证据与线上验收分开,真实微信、生产部署及收费模型未因这次合并视为通过。 + ## Evidence And Limits The creator no-code change explicitly replaces the earlier pairing step. See [reviewed source task](../30-worklog/tasks/20260913-wechat-auto-self-ml-3679bce2.md): 64 focused tests, typecheck, build, scoped lint and an inspected Electron scenario passed; independent review passed. Main remains the network boundary and Yuxi/AgentBus establish identity. Compatible backend and client deployment is required; historical connections missing scanning identity need one reconnect. No real WeChat acceptance or installer was produced by this change. diff --git a/.project-docs/10-decisions/decision-index.md b/.project-docs/10-decisions/decision-index.md index a8fef92..57e3688 100644 --- a/.project-docs/10-decisions/decision-index.md +++ b/.project-docs/10-decisions/decision-index.md @@ -2,7 +2,7 @@ ## Active Decisions -- [个人云智能体与微信渠道](ADR-2026-09-11-personal-cloud-agents.md):2026-09-13 accepted / implemented;共享 SSO、按用户隔离、标准 Worker 路由、创建者计费及持久交付恢复。四端本地实现已集成,真实渠道部署验收待执行。 +- [个人云智能体与微信渠道](ADR-2026-09-11-personal-cloud-agents.md):2026-09-14 amended / implemented;用户级多微信账号、可选已发布智能体路由、先连接后选目标、切换保留登录。共享身份、创建者计费与调用者隐私不变;真实渠道部署验收待执行。 - [官方模型能力与原生思考选项](ADR-2026-09-12-official-model-capabilities.md):2026-09-12 accepted / implemented;one-api 官方事实、Works v2 授权投影、受管模型图片输入与 Main-owned reasoningChoice,取代受管模型的静态推测与 Pi 枚举映射。 diff --git a/.project-docs/20-architecture/system-overview.md b/.project-docs/20-architecture/system-overview.md index c6e9d27..b5e6e00 100644 --- a/.project-docs/20-architecture/system-overview.md +++ b/.project-docs/20-architecture/system-overview.md @@ -2,6 +2,8 @@ ## Current Architecture +微信账号生命周期独立于智能体:MakeLore“渠道 > 微信”展示用户的 Core ChannelAccount 清单,通过 Yuxi 用户级账号 API 连接及选择可选目标;多个账号可指向同一已发布智能体,路由切换保留登录。Core 持有路由与不可变回执,Yuxi 本地 binding 只索引当前关联并保留历史 caller/session,Main 持有请求恢复与凭据。发布页只显示关联摘要与入口;详见[用户级账号决策](../10-decisions/ADR-2026-09-11-personal-cloud-agents.md)。 + 扫码本人免配对:微信 Adapter 从持久登录状态读取扫码者身份并匹配原始发送者,Core 经绑定、代次、Worker 和会话范围校验后提供 `is_self`,Yuxi 才建立本人 caller/session。客户端不声明本人身份;邀请、撤销和调用者内容隔离保持原规则。历史空身份连接重新扫码后会刷新运行实例,无需推进账号代次。 个人微信云智能体已按 [已接受渠道决策](../10-decisions/ADR-2026-09-11-personal-cloud-agents.md) 集成:AgentBus 拥有共享身份下的 Worker/ChannelAccount 路由及交付,Yuxi 拥有独立调用者会话和原生执行,Works Square 拥有创建者词元点数,MakeLore Main 拥有桌面授权与恢复。沿用标准 Worker,不增加独立 Adapter 池;付款不授予受邀调用者内容权限。上线验收与本地代码集成分开记录。 @@ -120,4 +122,4 @@ Makelore 是 Electron 桌面客户端。Renderer 负责项目操作与状态展 ## Last Updated -2026-09-07 +2026-09-14 diff --git a/.project-docs/30-worklog/current-state.md b/.project-docs/30-worklog/current-state.md index 559d487..f053c91 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-14:任务 `20260914-merge-user-channels-ml-e672b0c4` 经用户授权移交主目录,将已审查源 `b7d8b1298f02e4b10b6d0089594d48720efc03e7` 无冲突快进合入本地 `main`。用户级多微信账号、先扫码后选择目标、多个账号路由同一智能体及切换保留登录已集成;智能体发布页使用渠道摘要/入口。产品树与已审查源一致,源记录只读导入,验证和实际部署边界见[源任务](tasks/20260913-user-channels-ml-8d61e4a9.md)。原有 3 份未跟踪文档保留;未推送、部署或清理工作区。 + - 2026-09-13:任务 `20260913-merge-wechat-self-ml-a904d7c1` 将已审查源 `8c1b161d0e14394beb62ae7f7e05c96cfed045b2` 无冲突快进合入本地 `main`。个人微信发布页移除本人配对入口,扫码本人直接使用;首条消息建立本人历史和通知目标,其他联系人仍通过独立邀请接入。源任务记录原样导入,独立 Reviewer 最终 PASS,验证与线上限制见[源任务](tasks/20260913-wechat-auto-self-ml-3679bce2.md)。原有 3 份未跟踪文档保持不变;未推送、部署或清理工作区。 - 2026-09-13:任务 `20260913-merge-agentbus-channels-ml-c4e81f2a` 经用户授权移交主目录后,将渠道源 `2e710db0fb512f276fda8ae8a3939d366b34a972` 从 `03774d0625a5a0d0221dbb9989e88a9406e0fa48` 无冲突快进合入本地 `main`。产品代码与已审查、测试的源完全一致,源任务记录原样导入;个人微信、共享 SSO 与按用户隔离规则见 [渠道决策](../10-decisions/ADR-2026-09-11-personal-cloud-agents.md)。原有 3 份文档改动原样保留;未推送或部署。授权清理的源工作区因 Git 目录非空错误部分移除,残余保留,分支和提交完整。 @@ -1057,4 +1059,4 @@ Robot 绑定设备默认先显示“引导配网 / 已有激活码”路径选 ## Last Updated -2026-09-07 +2026-09-14 diff --git a/.project-docs/30-worklog/task-history.md b/.project-docs/30-worklog/task-history.md index 4012c1e..8a3de7a 100644 --- a/.project-docs/30-worklog/task-history.md +++ b/.project-docs/30-worklog/task-history.md @@ -4,6 +4,7 @@ | Date | Task | Outcome | Docs Updated | |---|---|---|---| +| 2026-09-14 | 合入用户级微信账号管理 | 已审查源快进到本地 main;多账号、可选目标、切换保留登录,原有 3 份文档保留 | 个人云平台 ADR、决策索引、架构、当前状态、本任务 | | 2026-09-04 | Land official Project Scaffold Plugin on local main | Fast-forwarded verified integration head `b92e7ba` onto local `main` while preserving three explicitly adopted historical task documents unchanged; no package, publication, deployment, or push was performed | current-state, landing task | | 2026-09-04 | Official Marketplace Project Scaffold integration | 将 `makelore.project-scaffold` 作为代码所有、随签名客户端交付的 bundled `skill_only` Plugin 接入 Account Library/项目启用/Agent 分配;官方 `.mjs` 不经过下载 artifact,下载包仍保持文本/图片 P0 限制 | ADR-008、current-state、architecture、domain、success criteria、integration task | | 2026-09-04 | 交互式 AI 应用与显式 Scaffold Skill 集成 | 合并小游戏/小程序为规范 `interactive_ai_app`,项目创建保持最小边界,独立 Skill 生成固定起步树并说明发布要求;Main/Works 继续拥有发布权威 | ADR-008、current-state、architecture、domain、commitments | diff --git a/.project-docs/30-worklog/tasks/20260914-merge-user-channels-ml-e672b0c4.md b/.project-docs/30-worklog/tasks/20260914-merge-user-channels-ml-e672b0c4.md new file mode 100644 index 0000000..8ac2ef2 --- /dev/null +++ b/.project-docs/30-worklog/tasks/20260914-merge-user-channels-ml-e672b0c4.md @@ -0,0 +1,45 @@ +# Task: 合并用户级微信账号管理到主分支 + +## Identity + +- Task ID: 20260914-merge-user-channels-ml-e672b0c4 +- Mode: Integration +- Branch: main +- Worktree: D:\Datas\OthersProjects\makelore +- Base commit: 46e7f6f1cd37124493be48bbb85f6a6d1de59c17 +- Owner: codex +- Status: Ready for Integration + +## Scope + +- 将已独立审查的源提交 `b7d8b1298f02e4b10b6d0089594d48720efc03e7` 无冲突快进合入本地 `main`,并提升用户级微信账号管理的已接受语义到既有共享记忆。 + +## Intent And Constraints + +- Concurrent Task Gate 与 Planning Gate Passed;用户本轮“允许”授权旧登记移交与已有文档接管,官方 release/start/status 已确认 Integration 身份、分支、基线与主目录所有权。 +- 已读取入口、本人记录、集成状态、渠道决策、架构及源任务与独立审查证据;复用同会话未变的工程规范和 peer scope 评估。旧定位及部分历史 peer 记录仍为模板,以 README/ARCHITECTURE 与已接受决策为准;没有影响本次快进的具体语义冲突。 +- 用户已确认“渠道 > 微信 > 多账号 > 可选目标智能体”;Core 继续拥有账号和路由,不改变创建者计费、调用者内容隔离或 Main 凭据边界。 +- 保留官方 adopt-existing 登记的 3 份外来文档,不修改源任务记录;未授权推送、部署或工作区清理。 +- 计划:快进准确源提交;核对产品树与已审查源完全一致;协调现有渠道 ADR、架构、状态及历史;通过文档漂移门禁并提交本任务集成记录。产品树若出现额外组合差异才需要增补代码验证。 + +## Outcome + +- 已将源 `b7d8b1298f02e4b10b6d0089594d48720efc03e7` 无冲突快进合入本地 `main`;源产品代码和源任务记录原样保留。 +- 已将用户级账号、多账号可选目标路由、切换保留登录、发布页摘要/入口及职责边界提升到既有个人云平台 ADR、索引、架构、当前状态与历史。本次未新增产品语义。 +- 官方 drift 检查通过,原有 3 份 adopted 文档未修改或纳入提交。只提交本任务与明确列出的 canonical 文档。 + +## Verification + +- 合并后产品树对源提交的差异为空,源任务记录对源提交的差异为空;git diff --check 与官方 check_doc_drift.py 均通过。 +- 独立 Reviewer 最终 Standards/Spec PASS,没有遗留发现;源验证包含 85 项相关测试、最终 Main 回归、类型检查、scoped lint、Vite 多目标构建及真实 Electron 1/1 用例;独立 Reviewer 的 28 项相关/Main 测试通过,1366×900 和 980×680 截图已检查。 +- 快进没有额外代码组合差异,复用准确源树的最终验证;本集成仅新增项目记忆,因此不重复全量构建/测试。 + +## Follow-ups + +- 三端均应使用本批配套版本;先部署 Core 与 Yuxi API/worker,再使用新版 MakeLore。无新环境变量/迁移,Works Square 和微信 Adapter 本批无须修改。 +- 真实微信、完整生产部署和收费模型仍需现场验收;未推送、部署或打包。 +- 已合入源工作区清理需按 Integration Gate 单独取得用户同意,本任务未清理;分支、提交、外来文档和审查目录保留。 + +## Promotion Candidates + +- 已完成语义提升:个人云平台 ADR 说明账号生命周期独立于智能体,Core 为账号路由权威,Yuxi 为运行和索引,Main 为凭据/恢复边界;现有计费和隐私不变。依据为用户明确要求、源实现/验证和独立审查,无未决产品冲突。