Skip to content

将模型能力迁移为普通插件 - #516

Merged
kachofugetsu09 merged 25 commits into
mainfrom
codex/model-plugin-spec
Aug 29, 2026
Merged

将模型能力迁移为普通插件#516
kachofugetsu09 merged 25 commits into
mainfrom
codex/model-plugin-spec

Conversation

@kachofugetsu09

@kachofugetsu09 kachofugetsu09 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

结果

模型注册表、凭据、默认绑定和执行快照由普通 models 插件拥有;OpenAI-compatible、Codex 与 OpenCode Go 是可独立安装的普通 provider 插件,通过 models.drivers.v1 动态注册。Core、ReAct、Akasha 和其他消费者只依赖 source-neutral 模型资源,不再读取 provider 私有配置。

主要变化

  • 新增普通 modelsopenai-compatiblecodexopencode-go 插件及安装/迁移链。
  • Chat、embedding、vision、后台 job、Akasha 与设置 UI 迁移到模型资源和 exact snapshot lease。
  • 模型目录、字段级 capability source、credential scope、revision CAS、usage 和 continuation 统一为插件合同。
  • 保留旧 workspace 数据迁移,但移除 Core 中退役的 provider runtime、fallback 和模型配置 owner。
  • 修复 Akasha 缺少 embedding 时的工具合同:recall 保持空召回 schema,remember/forget 保持 not_staged schema,均 fail-visible。
  • 扫描 hua-home 全部实际安装插件;唯一旧模型 owner 消费者 proactive_feedback@github 已在外部 PR akashic-plugins/proactive_feedback#9 改为公共 EMBEDDINGS 资源。

Mobile 身份边界修复

Web/Core 的 client_message_id 是 opaque correlation;Mobile wire 的同名字段只接受 ULID/UUIDv7。修复将规则收敛到唯一 durable-envelope → Mobile wire 出口:合法 FrameId 保留,其他来源身份省略。live、resume、旧 inbox 与 history.page 共用同一投影;不修改 Core 身份、不迁移权威消息,也不递归改写 tool arguments 等 opaque 数据。

该修复相对首版废弃方案把新增面从 184 行压到 70 行,少 114 行;生产代码实际新增 32 行。两轮、每轮两位独立 Terra xhigh reviewer 均 PASS。

验证

  • Mobile 关键回归:186 passed
  • Pyright:生产与测试配置均 0 errors
  • 最终 Change Gate:PASS,报告 20260830-004915-d436a48d
  • 普通 models 插件安装证明、Passive WebUI WebSocket → ReAct → driver → DB E2E:PASS
  • GitHub Actions:8/8 checks PASS

hua-home 真实验收

  • exact Core commit:8de4025aeec42356f13a86197e9a4636abeee52d
  • image:sha256:abe46eafadc13b36ab255c52b45dd03d7d6bf17d5b5f79e9232e07e40da9ae1c
  • akashic-release doctor healthy;容器 healthy,restart 0;2236 health 为 ready
  • 公网 wss://mobile.huashen258.cc/ws 返回带签名的 server.challenge
  • 真实 Pixel 9 Pro XL 完成认证、resume、旧 durable inbox 重放和 ACK:修复前停在 7532/8464,最终 next=8903sent=8902ack=8902、inbox 0
  • Mobile SQLite integrity_check=ok
  • 正式安装 proactive_feedback@github exact revision 38ce15c42090eaaaf245343c52b13eef24622c77;目标插件 doctor healthy,新 generation apply/worker/Dashboard/Mobile UI success
  • 默认模型与 embedding/Akasha 的真实 provider E2E 均完成;测试会话随后通过正式删除 API 清理,不作为长期 workspace 数据保留
  • OpenCode Go hy3 路由已到达 driver;上游账号返回 weekly quota reached,属于外部配额状态

全局 plugin doctor 仍会因历史 manifest 中已无目录的 contentdefault_memory 两项显示 broken;当前实际插件均加载成功,本 PR 不擅自删除持久配置。

清理与恢复点

  • 测试会话清理 audit:fb7f54add2df47a4918a018d176f9fd2
  • SessionDB 删除恢复副本:/srv/data/services/akashic/state/workspace/backups/session-deletions/sessions-3fab9f4f2e2246e0ae25a1b1bf81c184.db
  • Mobile 事件修复前:/srv/data/services/akashic/backups/pre-mobile-frame-id-repair-20260829-233149
  • 最终 PR head 激活前:/srv/data/services/akashic/backups/pre-final-pr-head-20260830-012015
  • 本地模型迁移:/mnt/data/coding/akasic-agent-backups/model-plugin-before-embedding-handoff-20260829-194525.bundle
  • 外部插件:/srv/data/services/akashic/backups/pre-proactive-feedback-embedding-20260829-230029

@kachofugetsu09
kachofugetsu09 merged commit ac10e8e into main Aug 29, 2026
8 checks passed
@kachofugetsu09
kachofugetsu09 deleted the codex/model-plugin-spec branch August 29, 2026 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant