Skip to content

内容工厂

内容工厂说明 Agent App 是应用包,而不是单个专家或 prompt 集合。它把 UI、storage、workflow、worker、Knowledge binding、Tool、Artifact、Eval、permission、overlay 和 需求边界文件打包成一个可安装业务应用。

参考包:docs/examples/content-factory-app/APP.md

产品形态

该 App 面向需要反复把项目知识转成内容运营产出的团队。

text
项目设置
  -> 知识库构建
  -> 内容场景规划
  -> 内容生产
  -> 审查与 Evidence
  -> 内容排期和运营复盘

App 拥有 dashboard、content factory page、workflow entries 和 expert-chat entry。宿主通过 SDK 提供平台能力。

声明的 Entries

EntryKind作用
dashboardpage项目首页和设置状态。
knowledge_builderworkflow把文件和笔记转成结构化项目知识。
content_factorypage生成和管理内容资产。
content_strategistexpert-chat内容策略对话入口。
content_calendarworkflow排期、复盘、更新内容节奏。

这个结构说明:专家只是 App 的一个 entry,不是整个 App。

Runtime Package

示例声明:

  • dist/ui:App UI routes
  • dist/worker:后台实现
  • storage/schema.json:App 数据模型
  • storage/migrations:版本化 storage 初始化
  • workflows:业务流程
  • agents:expert-chat persona

虽然示例很小,但形态和真实 Product-level App 一致。

数据模型

作用
content_projects项目配置和状态。
knowledge_assets结构化知识资产和来源引用。
content_scenarios受众、痛点、平台、意图场景。
content_assets草稿、脚本、提示词、报告和审查状态。
review_reports质量、Evidence 和发布就绪摘要。

客户专属事实不进入官方包,应通过 Knowledge、workspace files、App storage、secrets 或 overlays 绑定。

Capability 使用

Capability示例用途
lime.ui注册首页和内容工厂页面。
lime.storage保存项目、内容场景和内容资产。
lime.files读取用户选择的资料文件。
lime.agent执行知识抽取和内容生成 task。
lime.knowledge检索绑定的项目知识。
lime.tools调用文档解析和调研工具。
lime.artifacts创建内容表、文章草稿、策略报告和 PPT。
lime.evidence连接输出、来源、task 和 eval。
lime.policy审查文件、Tool、模型和导出权限。
lime.secrets绑定可选发布 workspace token。

Agent task runtime

该 fixture 已包含 app.runtime.yaml,让 lime.agent 执行契约显式化。它声明:

  • lime.agent-task-event.v1 / lime.agent-task-result.v1 事件与结果信封
  • 通过 artifacts/content-factory-workspace-patch.schema.json 约束 JSON Schema 结构化输出
  • Host-mediated approval,支持 updated input 和 defer
  • newresumecontinuefork session modes
  • on-demand tool discovery,只加载选中工具 schema
  • workflow state、App storage、artifacts、tracked files、conversation、external side effects 的 checkpoint 边界
  • OpenTelemetry 映射,默认不导出内容正文

需求边界

该 fixture 现在包含:

对普通用户来说,这意味着 App 会说明哪些事能在工作台内完成,哪些需要 Lime 连接或授权,哪些外部写入或发布仍需要人工确认。

Readiness 行为

Fixture 可以 validate 通过,但 readiness 可能返回 needs-setup,因为 required Runtime、Context、Knowledge、Skills、Tools / Connectors、Artifacts、Evidence、Policy、QC 和 services 需要宿主满足。

这正是正确行为:package 结构有效,但 workspace 还需要设置。

示例证明了什么

  • Product-level app 不应写进 Lime Core。
  • APP.md 是声明和指南,不是完整实现。
  • Runtime code 必须调用 Capability SDK。
  • 需求边界必须说明 App、Host、Cloud、连接器、外部系统和人工分别负责什么。
  • 客户数据属于官方包外部。
  • Entry 不限于聊天。
  • Artifact 和 Evidence 让输出可持久、可审查。
  • Overlay template 允许租户自定义而不 fork App。

实现参考

content-factory-app 已有完整的实际实现,位于 limecloud/content-factory-app

Bridge 与 Capability SDK

App UI 层通过 @limecloud/agent-app-runtime 包接入宿主,该包由 Lime 宿主的 src/features/agent-app/sdk/ 编译而来,提供:

  • createLimeHostBridgeCapabilityInvoker — postMessage bridge transport
  • createLimeCoreCapabilityAdapters — 30 个 capability 命名空间适配器(lime.agent / lime.storage / lime.knowledge / lime.tools 等)

App 侧初始化方式:

js
import {
  createLimeHostBridgeCapabilityInvoker,
  createLimeCoreCapabilityAdapters,
} from '@limecloud/agent-app-runtime';

const invoker = createLimeHostBridgeCapabilityInvoker({ appId: 'my-app' });
const lime = createLimeCoreCapabilityAdapters({ invoker, storageNamespace: 'my-app' });
invoker.sendReady();

// 调用 Claw 能力:通过 capabilityHints 由宿主路由,App 不重新实现
const task = await lime.agent.startTask({
  taskKind: 'my-app.content.generate',
  capabilityHints: ['lime.capability.research.search', 'lime.capability.image.generate'],
  input: { projectId, topic },
});

Agent Task Contract

src/core/agent-task-contract.mjs 封装了 7 个业务 task kind,每个 task 自动带上正确的 capabilityHints(Claw 能力路由)、requiredSkillsexpectedOutputworkspacePatch 契约。App 不需要手写任务参数:

js
import { buildContentFactoryAgentTask } from './agent-task-contract.mjs';

const task = buildContentFactoryAgentTask('content_factory.copy.generate', {
  projectId,
  input: { projectId, scenarioIds },
});
// task 已包含 capabilityHints: ['lime.capability.research.search', 'lime.capability.image.generate']

本地验证

bash
npm run cli -- validate docs/examples/content-factory-app --version 0.7
npm run cli -- project docs/examples/content-factory-app
npm run cli -- readiness docs/examples/content-factory-app

Draft host-platform standard for installable agent applications.