docs: integrate installed resource loading

This commit is contained in:
2026-09-03 10:44:41 +08:00
parent d22d4b0f6e
commit bd377c9732
9 changed files with 143 additions and 301 deletions

View File

@@ -4,6 +4,25 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
## Integrated Through
- Packaged Device Package preparation source
`5a2f0eb6785b59d8b455ed5cb1d9773351ff895a` from task
`20260902-local-skill-install-fix-6b3e91a4` and installed-resource activation
source `17664c5fffcfe695653b4146503e645f54767c4b` from task
`20260903-load-installed-resources-8f3c1a72` are integrated by task
`20260903-integrate-installed-resources-4b7e2c91`. Packaged inspection now
imports package-management authority from the distributed physical Pi runtime
instead of the incomplete `app.asar` dependency graph. The parent Agent Server
keeps the generated Makelore bridge as its required first extension and loads
every further Main-selected, installed, and enabled Device Package extension
through Pi `0.84.2`'s explicit additional-extension input; all selected Skill
paths remain intact and ambient discovery remains disabled. Packaged prepare
passed for loose Skill, npm, and Git sources without committing a package, and
a real Agent Server regression registered commands from two external
extensions. Focused/full unit and pressure tests, typecheck, scoped lint,
production build, Windows packaging, and artifact/runtime verification passed
across the two source tasks. The currently installed 1.2.6 client was not
replaced; rebuilt exact-main installation and live prepare/confirm/activation
remain release acceptance work.
- Youth-facing AI Design client source
`0fd32a2d49045a8f9e7f2e19ba6477f48f93e30c` is integrated over Model Tools
frontier `7552cf59526449c29d663a769c0fb62d84a1a759` through merge
@@ -34,9 +53,10 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
local commit; lifecycle scripts stay disabled; new and idle parent workers refresh
automatically while active workers switch after settlement; child workers remain
empty. My Plugins now separates Official Plugins from Device Installed packages and
exposes no visible install picker. Packaged Skill/Pi-extension installation and real
selected-model search remain external acceptance gates; no paid Provider request,
production install, publish, push, or PR is claimed.
exposes no visible install picker. The later packaged prepare and multi-extension
activation corrections are recorded above; rebuilt exact-main installed-client
acceptance and real selected-model search remain external gates. No paid Provider
request, production install, publish, push, or PR is claimed.
- Windows titlebar Logo-overlap correction source
`99a210e244731d1cdc923e9dd4adf6e09e64c2a4` from task
`20260901-windows-titlebar-logo-overlap-5100e298` is integrated onto local
@@ -409,7 +429,7 @@ Makelore 在会话恢复、登录和刷新后由 Electron Main 请求 Works `/ap
AI 学习现在是已启用的运营精选项目目录,并继续受登录和 `module_access.learning` 控制。Renderer 通过 Main-owned Host API 获取分页项目卡片和 README 详情;Markdown 支持 GFM、禁用原始 HTML。服务端发布时只校验图片 URL 为无凭据、默认端口、无 fragment 且当前 DNS 结果全部为公网地址的 HTTPS URL,保留地址而不下载、识别格式、转码或镜像;客户端仅为 README 图片节点启用直连,因此 SVG 和 Electron 支持的其他格式可直接显示,单图失败不阻断详情。封面和历史发布媒体继续走受控路径。详情页的下载按钮打开系统保存对话框;Main 将 ZIP 流式写入临时文件,只允许最多五跳同 Works origin 重定向,不校验 `Content-Length`、`archiveBytes`、实际流字节数或客户端大小上限,校验 SHA-256 和 ZIP 签名后原子保存,Renderer 只接收 `saved` 或 `cancelled`。课程生成、进度、本地课程库、OpenMAIC player、Agent、ASR、课堂 runtime、Learning IPC 和 player artifact 打包已删除且没有兼容读取路径;历史课程数据保留但不再读取。服务端和客户端源码契约已完成,不代表生产部署或真实账号安装包联调已经完成。
AI 编程已经硬切到精确 pin 的 Pi `0.84.2`,不存在 OpenCode fallback 或双 runtime。project、Agent 与 Conversation 只在 `.makelore/project.json` 和 `.makelore/conversations.json` 使用本地 schema v2;当前客户端不从 `.niancode` 或 `.opencode` 读取、迁移或删除项目元数据。Electron Main 按需启动一个长驻父 Agent Server,每条 active/warm Conversation 在其中拥有独立 Runtime/Session/channel、credential store、extension context、generation/seq、Snapshot/Patch、model/thinking、队列、interaction 与错误状态,Composer 在 lazy prepare 期间仍可编辑。Renderer 只通过 `/api/coding/*` 和 Snapshot-first/`patch-batch` SSE 消费产品中立合同;gap/reconnect 只恢复目标 Conversation,accepted/uncertain mutation 不自动重放。未解析 Conversation 第一次选模先 validate 并持久化 resolved metadata,再 prepare;同账号模型切换使用 target `set_model`,跨账号只重建目标逻辑线程。top-level 逻辑 turn 并发为 4,warm idle logical-thread LRU 为 8;independent child 进程并发为 4 并使用 FIFO 进程预算 8;coding child 与 parent 共用项目 write lease。prompt/compact confirmation timeout 后仍保留 run/Agent-Server-or-child-process/background ownership,迟到 success/failure/exit/abort 单调且 exactly-once 收敛,页面隐藏不会停止 active/uncertain run。线程级替换只使目标 generation 失效;整个 Agent Server 退出会统一使所有旧 channel 失效,但 Main/Renderer 存活且下次恢复只重启一个 Server。Pi `0.84.2` 手动 compact 不发 `agent_settled`,由 correlated compact RPC 结果终结。父 Provider credential 只进入选中逻辑线程的内存 credential store,child 凭据只进入该短命进程;确定性的 Works user-context 缺失会失效 gateway credential、fail fast、不重放并投影固定 Provider-auth 错误,不归类为 Pi crash。真实 Provider 验证仍为用户明确接受的未验证风险,macOS x64/arm64 与 native non-WSL Linux 也未通过平台发布门禁。
AI 编程已经硬切到精确 pin 的 Pi `0.84.2`,不存在 OpenCode fallback 或双 runtime。project、Agent 与 Conversation 只在 `.makelore/project.json` 和 `.makelore/conversations.json` 使用本地 schema v2;当前客户端不从 `.niancode` 或 `.opencode` 读取、迁移或删除项目元数据。Electron Main 按需启动一个长驻父 Agent Server,每条 active/warm Conversation 在其中拥有独立 Runtime/Session/channel、credential store、extension context、generation/seq、Snapshot/Patch、model/thinking、队列、interaction 与错误状态,Composer 在 lazy prepare 期间仍可编辑。Renderer 只通过 `/api/coding/*` 和 Snapshot-first/`patch-batch` SSE 消费产品中立合同;gap/reconnect 只恢复目标 Conversation,accepted/uncertain mutation 不自动重放。未解析 Conversation 第一次选模先 validate 并持久化 resolved metadata,再 prepare;同账号模型切换使用 target `set_model`,跨账号只重建目标逻辑线程。Main-selected Device Package generation 把所有显式安装且当前启用的 Skill 路径和 extension 路径交给未来或空闲 parent;生成的 Makelore bridge 始终是必需的首个 extension,其余全部经 `additionalExtensionPaths` 加载,同时保持 ambient discovery 关闭。active parent 在 turn settled 后刷新,child 始终为空。top-level 逻辑 turn 并发为 4,warm idle logical-thread LRU 为 8;independent child 进程并发为 4 并使用 FIFO 进程预算 8;coding child 与 parent 共用项目 write lease。prompt/compact confirmation timeout 后仍保留 run/Agent-Server-or-child-process/background ownership,迟到 success/failure/exit/abort 单调且 exactly-once 收敛,页面隐藏不会停止 active/uncertain run。线程级替换只使目标 generation 失效;整个 Agent Server 退出会统一使所有旧 channel 失效,但 Main/Renderer 存活且下次恢复只重启一个 Server。Pi `0.84.2` 手动 compact 不发 `agent_settled`,由 correlated compact RPC 结果终结。父 Provider credential 只进入选中逻辑线程的内存 credential store,child 凭据只进入该短命进程;确定性的 Works user-context 缺失会失效 gateway credential、fail fast、不重放并投影固定 Provider-auth 错误,不归类为 Pi crash。真实 Provider 验证仍为用户明确接受的未验证风险,macOS x64/arm64 与 native non-WSL Linux 也未通过平台发布门禁。
Updater 仍由 Electron Main 选择目标 feed、记录原始诊断并保持失败语义。正式稳定源缺少对应平台 manifest 时,设置页只显示一条简洁中文提示并允许重试,不把缺包误报为已是最新版,也不向普通界面暴露堆栈、URL、路径或错误码;签名产物发布和真实升级安装仍属于外部 Release Gate。
@@ -417,6 +437,15 @@ Robot 绑定设备默认先显示“引导配网 / 已有激活码”路径选
## Recently Completed
- 2026-09-03: Integrated the paired Device Package prepare and activation fixes.
Packaged Main now resolves package inspection from the physical bundled Pi
runtime, and the parent Agent Server loads the required generated Makelore
bridge plus every explicit installed/enabled Pi extension while retaining all
selected Skills and keeping ambient discovery off. Source verification passed
packaged npm/Git/loose-Skill prepare, a real Agent Server with two external
extension commands, full unit/pressure, typecheck, lint, build, Windows
packaging, and artifact checks. The installed 1.2.6 client is unchanged, so
exact-main rebuild/install and live activation are still pending.
- 2026-08-31: Integrated the provider-neutral `makelore.game-resource` hosted Plugin
client with fetched `origin/main`. Generic schema-2 `platform_hosted` packages now
materialize frozen Skill/tool snapshots only for eligible parent Pi logical threads;