16 KiB
个人云智能体平台
Status
Accepted / implemented,2026-09-11 集成。产品范围、三端分工、创建者付费与预算范围均已获用户确认。历史提案保留原样,本文表达已接受规则。
Decision
- MakeLore Agents 面向个人创作者,支持配置试用、发布、微信渠道、应用 API 与主动/定时任务;桌面不再提供指定账号分享入口,不引入组织、团队钱包或小智平台。
- Works Square 拥有账号、模块/模型资格、短期授权和唯一 Token Points 账本;Yuxi 拥有云配置、不可变版本、访问授权、原生 Request/FIFO/Run、worker、checkpoint、调度及资源;MakeLore Main 拥有凭据、网络、文件传输与账号隔离的本机恢复记录,Renderer 使用 typed Host API。
- 创建者为自用、分享、API、定时、预览及知识流程中另行发起的聊天模型调用付款;知识库 embedding 由平台承担,不计算用户用量、词元点数或智能体金额预算。调用者独享会话/文件,应用是独立主体。创建者只查看应用调用状态、版本、时间及费用元数据,付款不增加内容权限。
- 接受请求时固化身份、版本和配置;恢复与子调用沿用根 Request。每次真实模型调用检查当前访问资格,收费聊天调用另按当前服务端政策检查金额预算;embedding 不进入预算。
- 对用户承担费用的聊天调用,每 Agent 可设根请求/每日上限;空值不增加限制,0 阻止新收费调用。北京时间零点划日,按模型准入日归属;原钱包锁内统计结算与未决预占。降低上限影响后续调用。未知用量继续预占,供应商异常超预占按原 pending_review 核对,不宣称供应商账单绝对封顶。
- 日程建议只保存建议;手动/建议新建均默认停用,创建者核对能力、限制、结果和费用后启用。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 的授权和创建者计费;知识流程另行调用聊天模型时也遵守该规则。
本次明确修订早期“知识模型调用均由创建者付款”的范围。客户端知识模型列表使用 Yuxi 的 id/name/dimension,不与 Works Square/one-api 取交集;供应商凭据留在 Yuxi。客户端知识模型列表沿用 id/name/dimension 契约,配置说明只指向 Yuxi,知识及预算页面明确平台承担向量化成本。 配置和范围说明见使用说明。
Consequences
云执行沿用 Yuxi 原生运行体系,WS 既有 Code/Canvas Gateway 和 MakeLore Code/Pi 保持各自范围。复用现有钱包避免重复账本。部署需兼容三端版本、WS 0088/0089、Yuxi 正式 schema 迁移及身份/服务凭据配置。
Desktop Workspace(2026-09-12 accepted / implemented)
- Agents 使用账号级全高桌面工作区,配置与试用独立滚动;分栏可调整、展开及恢复,小窗口切换配置/试用面板。编辑区以“我的要求”和“高级设置”两个 Tab 切换,默认展示基础要求;能力、知识、限制位于高级设置内,正式对话和自动任务保留独立入口。
- 编辑草稿、已保存配置与当前试用修订分别持有状态。明确保存及页内切换保留未发送内容、附件、历史和未确认请求;最新草稿经用户明确选择后开始新试用并保留未发送文字。旧请求重试继续使用原请求身份及修订,不能因保存而重新创建收费请求。隐藏但继续运行的对话不提前标记已读或覆盖最近访问位置。
- 费用上限位于限制分类并独立保存,仍是服务端即时政策。首版不包含自动保存或离线草稿同步;退出工作区仍提示未完成输入。
- 实现源
dca6deab292028c9f3cfd097a8c52ba0d43b35a9,见源任务。最终 65 项相关测试、类型检查、scoped ESLint(无错误)、Vite 构建与 Windows Electron 验收通过;覆盖大小窗口和 Electron 125%/150% 内容缩放。云端使用 Host API fixture,不等于真实收费链路或 macOS/OS DPI 验收。
Guided First Helper(2026-09-14 accepted / implemented,2026-09-15 amended)
- 智能体交互面向非专业用户和 8–15 岁学生;老师引导后由学生独立创建、试用和改进第一个助手。这是已确认的体验目标,不增加教师/学生权限或课堂管理模型。
- 创建使用用途选择、填写要求、保存试用的短引导。用途示例可编辑,也可自定义;基础要求包含名字、用途、回答方式和补充说明,高级能力/知识/限制通过“高级设置”Tab 进入。
- “我的要求”和“高级设置”采用明确选中态并支持方向键切换。首次进入高级设置显示能力,之后保留上次查看的高级分类;再次点击当前 Tab 不收起或重置内容。切换回到内容顶部,同时保留未保存的要求、资源搜索、知识表单、费用输入和当前试用;切换本身不保存或发送。实现源
868ab54be6575ea6bd170d2ece7b7c8d4f6c0007,验证见源任务。 system_prompt仍是保存指令的唯一来源。回答方式只增删明确的自然语言指令行,其余自由文本原样保留。仅新建助手首次选择真实目录中的首个可用模型,用户可以修改;既有助手不自动换模型,不虚构推荐标记。- 示例问题只填入输入框。“保存并重新试用”成功后使用保存返回的修订,保留输入文字或填回上一问题,不自动发送;旧试用可对比,文件仍按原会话下载。运行、排队、审批、附件或未确认操作阻止替换试用;单独保存继续保留当前会话。
- 执行确认展示实际动作和参数,并可展开完整详情;既有审批决策和操作身份保持。首次“自己使用”先确认可用状态与创建者付费,再调用既有发布操作并打开独立正式对话;分享/API/渠道及版本管理仍在后续入口提供。
- Renderer 继续通过 typed Host API 消费原有 create/save/publish 合同;Main、Yuxi 和 Works Square 的职责与恢复、计费规则保持。小窗口与缩放沿用桌面分栏能力。
实现源 6e6a8c92ddb66747a71af714809e2205292a0bf9,见源任务。相关回归、类型检查、lint、生产构建与 Electron fixture 验收已通过;全量测试仍有与本改动无关的既有 Pi runtime v6/v7 断言不一致。未进行真实收费模型或学生可用性研究,不据此宣称实际学习效果已验证。
Desktop Access Entry(2026-09-20 amended / implemented)
用户明确移除“分享给指定用户”模块。桌面入口改名“使用与接入”,保留关联微信渠道、应用 API、费用、启停和版本管理;不再显示账号查找、分享授权管理或分享链接。该决定替代早期桌面指定用户分享入口,既有服务端授权、访问合同和历史费用记录不变,不自动撤销已存在的授权。
源 e047877,见源任务。50 项相关单测、类型检查、scoped lint、构建和 Electron 场景通过。
Personal WeChat Publication(2026-09-13 accepted / implemented)
- The native Channels page owns account creation, local QR rendering, login verification, direct use by the scanning account, enable/pause, route switch, disconnect, safe activity and failed-file retry. Agent publication provides a linked-account summary. Pairing codes, contact invitations, audience configuration and caller management are removed.
- Renderer uses typed Host operations. Main owns credentials, network, per-account durable original operations and file saving. Verification codes never enter the recovery journal; uncertain mutations require explicit recovery.
- QR payloads are encoded locally. Account or Provider-generation changes clear transient state. Each selected account exposes its connection and current target; budgets remain the existing Agent policy.
- Own WeChat conversations use dedicated Yuxi session endpoints for approval, stop/new session, complete history pagination and automatically refreshed deliverables. The creator cannot browse invited callers' content.
- The scanning owner's first message establishes their history and available notification conversation. Scheduled result notification requires an explicitly selected self target. Execution completion and WeChat delivery status remain distinct; retrying a failed file part does not run the model again.
Source 2e710db0fb512f276fda8ae8a3939d366b34a972, source task. 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 的“渠道 > 微信”统一管理多个个人微信账号;账号可以先创建、扫码连接,再选择自己已发布的智能体。每个账号只有一个可选当前目标,多个账号可路由到同一智能体。
- 2026-09-20:创建、验证码提交或轮询返回当前绑定会话已确认时,收起二维码和验证码输入、停止轮询,并显示该账号的连接成功与下一步指引。未选目标时引导选择和启用,已暂停时引导启用,已启用时引导回微信;不自动路由或启用。仅提交验证码不算成功,已连接账号重新连接时保留新二维码直到新会话确认。源
c953126,见验证记录。 - 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,见已审查源任务。独立 Reviewer 最终 Standards/Spec PASS;本地测试证据与线上验收分开,真实微信、生产部署及收费模型未因这次合并视为通过。
Scan-Bound WeChat Accounts(2026-09-14 accepted / implemented)
- 谁扫码就绑定谁。一个账号只接受经过 Adapter/Core 验证的扫码身份;其他微信通过各自扫码连接,可分别选择同一个已发布智能体。
- 移除使用范围、邀请码、邀请兑换和单个调用者管理。账号级连接、路由、启停/解绑、活动、微信对话、文件和既有控制流程保留;Main 仍拥有凭据与恢复,创建者继续付款。
- 历史 invited caller/session 不更改内容归属,不允许新的入站、内部恢复或待发结果继续交付;旧邀请码回执取消。服务端保留历史表,不需要新增 schema 迁移。
- MakeLore 已删除相应 typed Host 操作与界面;旧恢复记录只能在本机显式丢弃,不请求已删除 API、不阻塞其他账号。定时通知仍从隔离的扫码账号会话选择目标。
- 本节取代上述旧章节中的邀请、受众配置和单 caller 撤销规则;历史源任务与已发生的集成记录保留。部署需配套更新 MakeLore 与 Yuxi API/worker,本批不修改 AgentBus/Works Square,不新增环境变量。
源 21e707d,见源任务。独立 Reviewer Standards/Spec PASS,测试与生产边界以源记录为准;真实微信与收费模型仍需发布环境验收。
Evidence And Limits
The creator no-code change explicitly replaces the earlier pairing step. See reviewed source task: 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.
源:WS 0f1fb8af、Yuxi 1df0142、MakeLore 303f262;本仓库见 源任务。本批独立 Reviewer 最终 PASS。源验证包含 WS 113 passed / 1 skipped 和预算 PG 4 passed,Yuxi 1985 non-slow unit / 19 HTTP-存储 integration 及归档最后补丁 3 integration,MakeLore 39 unit / Renderer tsc / build / Electron 1 passed。模型授权/供应商及沙盒释放有明确替身;MakeLore Main 全仓保留 61 项既有类型诊断。
真实收费模型对账、完整服务/ARQ/provisioner 与重启、安装包/协议/跨设备、生产迁移和部署仍待验收。并行 OSS 替换与远程 Milvus 部署由各任务集成和验收;本决策不接受其尚未合入的存储实现。