插件与创意工坊 1.0 体验版简报
核对日期:2026-10-08 · 开发提交
53c276f3· API 1 / SDK 0.1(开发预览)。
2026-10-08 历史验收快照
本页保留 2026-10-08 的核对记录;当前操作流程见工坊指南,最新交付与检查状态见 PR。
截至当时核对,PR #113 仍为未合并草稿。16:14(北京时间)补充核对:远端 CI 已失败,浏览器回归为 229 项通过、1 项失败、2 项跳过;文字开放世界完整旅程未等到预期战斗结果,重试后仍失败。原因尚待定位,不能据此直接归因于插件。下文描述该分支的实现与本地验证,不表示当前 main、正式 Release 或在线应用已经提供这些功能。“1.0”是插件与工坊体验版标识,不是 StoryForge 新的正式版本号。
插件让社区作者把界面、处理逻辑、自有数据、AI 任务和外部工具组成独立功能包,使用者按作品或世界启用。创意工坊提供发现、搜索、文件安装、信任确认、启停、卸载和版本管理,减少社区功能全部进入核心项目的需求。本期采用本地管理与静态 HTTPS 目录分发,不需要在线创作服务器。
已实现的体验范围
插件框架负责功能接入、精确依赖组合、数据存储、升级与恢复;工坊负责发现与管理。首批模块替换开放世界历史与故事进程,历史工作台可以调用独立历法服务,验证多个插件共同工作。其他作者产品提供通用插件工作台,不代表每个产品的专业算法均可替换。
交付包含 12 个参考包,覆盖历法服务、便笺、时间线、情节流程、内容卡片、组合包、AI 灵感、世界节庆、跑团规则与 MCP 工具等用途。参考包用于展示接口与验证扩展类型,不限制社区只能开发这些功能,也不代表稳定的第三方依赖。
如何试用
以下步骤仅适用于包含上述提交的开发构建。当前官网应用或旧 Release 找不到工坊时,先核对所用版本;知识库发布不等于插件代码已经发布。
- 在开发应用自己的基础路径后打开
/workshop/discover,例如部署在/storyforge/下时使用/storyforge/workshop/discover。入口默认隐藏,点击“开启工坊开发预览”后才显示首页入口。 - 在工坊选择“创建体验作品”或“创建体验世界”,确认后新建独立测试内容并启用参考插件。这个体验创建动作本身不调用 AI、不消耗模型额度。
- 尝试新增历史、编辑便笺和刷新,再在“已安装”中停用、重启或卸载重装,检查界面与数据恢复。普通安装则从
.sfplugin文件或目录安装,选择作品/世界并明确确认信任后启用;安装本身不执行插件代码。 - 使用 AI 功能时,先配置自己的模型,由作者明确开始,检查候选后确认写入。外部工具通过宿主确认执行;需要本机程序时,另行配置可选本机桥。
插件安装包保存在当前浏览器的网站数据中,换浏览器、端口或网站地址不会自动迁移。普通插件使用者无需额外安装 Node 或 Python;可选本机 stdio 桥需要 Node.js 22+、来源与命令白名单及临时配对令牌。
开发者如何交付
开发者通过公开 SDK 创建插件,声明界面、数据结构、依赖和所需能力,经检查后打包为 .sfplugin。代码与依赖随包交付,安装时不会执行 npm 安装或从 CDN 拉取运行依赖。开发环境使用仓库规定的 Node 与依赖。
在该开发版本仓库中,基本流程为:
node tools/plugin-sdk/cli.mjs create ../my-plugin
node tools/plugin-sdk/cli.mjs check ../my-plugin
node tools/plugin-sdk/cli.mjs pack ../my-plugin ../my-plugin.sfplugin社区可分发文件或维护静态 HTTPS 目录,官方目录通过 PR 收录。专业模块替换仍需逐项设计接口;插件不得直接依赖宿主私有组件、Store、数据库或内部 AI 模块。接口细节与完整示例见文末固定版本开发指南。
对现有项目的改动
这是共享工程底座扩展,涉及安装、数据、界面和执行流程,不只是下载页面。作品、世界、媒资及产品发布的数据归属保持原有边界,插件不绕过世界封存、产品定向与产品执行的流程。
| 部分 | 开发分支的改动与影响 |
|---|---|
| 数据库与备份 | 新增 5 张插件相关表,数据库版本 10 → 11;备份版本 14 → 15。数据库只加表,完整版本 14 备份有明确转换路径;损坏或其他旧格式不能据此视为兼容。 |
| 插件底座 | SDK、包加载、声明校验、依赖管理、版本锁定、迁移与恢复;自有数据按作品或世界隔离。 |
| 产品界面 | 默认隐藏的工坊、可关闭的扩展入口、首批历史与故事进程替换,以及作者产品通用工作台。 |
| AI 与数据治理 | 复用上下文、可写字段和表生命周期三注册表;AI 先生成候选,作者确认后写入,执行沿用现有 Harness 记录。 |
| 世界与产品发布 | 插件语义经作者确认进入世界词条,后续修改不自动同步;跑团规则通过既有 RulePack 接口随产品版本冻结,旧发布和会话保留原版本。 |
| 外部能力 | MCP 客户端及任务查询、取消;可选本机 stdio 桥。不增加账户、支付或在线创作服务。 |
数据保留与恢复
停用或卸载插件保留创作数据。作品备份包含配置、数据、契约及操作记录,不携带可执行安装包;导入后插件默认停用,重新安装匹配版本并确认后才执行。历史 AI 候选、作者修改与工具结果作为只读记录保留,不自动恢复原作品的写入权限或外部任务控制。
安装身份包含准确版本与 SHA-256,依赖随版本锁定;同版本不同字节不能覆盖。迁移写入新数据代,校验成功后再切换,失败保留旧数据。恢复同样保留较新编辑,不直接覆盖回旧状态。缺少插件时作品与数据仍保留,但插件专属交互需要对应插件才能恢复。
安全启动在执行前跳过插件加载,可用工坊“安全模式”或应用 URL 的 ?safe-plugins=1 进入,随后停用故障插件。它不能终止已经发生的主线程死循环。
当前限制
- 原生界面插件与宿主同源执行,属于可信代码;能力声明是接口契约,不是抵御恶意代码的安全沙箱。只安装可信来源。
- SDK 仍是开发预览,尚未承诺跨大版本长期兼容;通用工作台不等于所有专业模块内部都已开放替换。
- 本次不包含 MCP Apps、sampling、roots、标准 Worker 插件协议、自动后台更新、在线账户、支付、评分或上传服务器。
- AI 与 HTTP 回归使用可重复模拟,没有调用作者的付费模型;通过测试不代表真实模型质量或外部服务可用性得到保证。
- 长期内存耐久、跨设备性能以及 Windows/Linux 平台交付仍待验证。
验证结果与证据边界
以下是交付简报及对应日志记录的开发提交 53c276f3 本地结果,不是本次知识库编辑重新执行的插件测试,也不能代替 PR 的最终远端验收。
| 验证 | 已记录结果 |
|---|---|
| 完整本地 CI | 784 个测试文件、4,252 项测试通过;架构、注册表、文档、类型、构建与体积检查通过。 |
| 完整浏览器回归 | 230 项通过、2 项跳过;CSP 与离线 PWA 用例已在生产构建另行通过。 |
| 最终提交生产插件验收 | 14 项通过、1 项跳过;该开发专用产品夹具已在开发环境完整套件验证。 |
| 开发与数据流程 | SDK 创建、检查、打包及越界导入拒绝;插件组合、恢复、导入隔离与版本迁移有回归覆盖。 |
| 外部能力 | AI/HTTP 使用模拟;macOS 本机 stdio 子进程已实际验证。 |
性能仅为同一开发机样本:交替冷启动预热 2 组、测量 12 组,无插件首页 DOM 就绪中位数 463.7 → 470.6 ms(+1.49%),首次内容绘制 176 → 184 ms(+4.55%);关闭插件时未加载工坊运行时。标准插件组合的正文输入样本为 59 次事件,响应 p95 约 16.3 ms,未观察到超过 50 ms 的主线程长任务。不能据此承诺所有设备的表现。
后续先用独立体验数据检验安装、使用、停用、升级与恢复,再据反馈完善工坊、专业模块接口、长期运行和跨平台验证,明确兼容政策。主干合并与上线状态继续以 PR 和部署结果为准。