LAYER 06 · 动手扩展并交付

实战:从插件到可交付产品

用 Package、Bundle、Profile、契约测试和源码快照把扩展变成可维护产品

20 min3 处源码锚点upstream@47f9438
package → bundle → profile → release
本章要解决的问题

一个在本地能跑的插件,离“可交付”还差哪些边界?

先建立直觉

发明一个零件不等于造出商品:还要有规格、装配清单、兼容版本、验收测试、升级说明和召回路径。

MECHANISM

机制拆解

功能按 Service Definition、Provider、Consumer、Policy 分包;Bundle 提供可覆盖配置,Profile 命名产品组合,用户 patch 保留本地差异。

开发者预览意味着 breaking change 是常态;教学与扩展项目应固定 upstream commit、记录 source map、用契约测试和定期 diff 审计更新。

第 1 步 / 共 6 步

定义包边界

导出稳定词汇,避免反向依赖。

INVARIANTS

无论怎么扩展,都不能破坏

  • 产品默认配置可用 --dump-config 解释
  • 所有用户自定义通过上层 patch 保留
  • 教学结论注明 upstream 快照与推断边界
FAILURE MODES

最容易踩中的坑

  • ×把示例配置硬编码进 Provider
  • ×发布 Bundle 却要求用户修改源码
  • ×官方 breaking change 后仍展示旧事件顺序
VERIFY IN SOURCE

不要相信结论,去源码里复核

以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。

KNOWLEDGE CHECK

先停十秒,再揭晓答案

为什么本教学项目必须记录 upstream commit,而不能只写“最新版”?

为什么下一章紧接在这里

你现在拥有一条从心智模型、组合、运行主干、安全耐久性到扩展交付的完整学习路径。架构地图与源码索引会继续作为日常查阅入口。

Learn DeepSeek Harness

独立教学项目。解释力来自源码,判断边界以官方仓库为准。