跳到正文

插件与创意工坊 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 找不到工坊时,先核对所用版本;知识库发布不等于插件代码已经发布。

  1. 在开发应用自己的基础路径后打开 /workshop/discover,例如部署在 /storyforge/ 下时使用 /storyforge/workshop/discover。入口默认隐藏,点击“开启工坊开发预览”后才显示首页入口。
  2. 在工坊选择“创建体验作品”或“创建体验世界”,确认后新建独立测试内容并启用参考插件。这个体验创建动作本身不调用 AI、不消耗模型额度。
  3. 尝试新增历史、编辑便笺和刷新,再在“已安装”中停用、重启或卸载重装,检查界面与数据恢复。普通安装则从 .sfplugin 文件或目录安装,选择作品/世界并明确确认信任后启用;安装本身不执行插件代码。
  4. 使用 AI 功能时,先配置自己的模型,由作者明确开始,检查候选后确认写入。外部工具通过宿主确认执行;需要本机程序时,另行配置可选本机桥。

插件安装包保存在当前浏览器的网站数据中,换浏览器、端口或网站地址不会自动迁移。普通插件使用者无需额外安装 Node 或 Python;可选本机 stdio 桥需要 Node.js 22+、来源与命令白名单及临时配对令牌。

开发者如何交付 ​

开发者通过公开 SDK 创建插件,声明界面、数据结构、依赖和所需能力,经检查后打包为 .sfplugin。代码与依赖随包交付,安装时不会执行 npm 安装或从 CDN 拉取运行依赖。开发环境使用仓库规定的 Node 与依赖。

在该开发版本仓库中,基本流程为:

sh
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 的最终远端验收。

验证已记录结果
完整本地 CI784 个测试文件、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 和部署结果为准。

固定版本资料 ​

继续阅读:待合并开发记录 · 更新日志 · 备份与恢复。

StoryForge · 故事熔炉官方用户文档