Skip to content

SDK 参考

@aweeclaw/scenario-sdk 为场景开发提供完整的 TypeScript 类型定义。

安装

bash
npm install @aweeclaw/scenario-sdk --save-dev

概述

SDK 提供以下类型模块:

模块文件说明
枚举类型enums.tsScenarioCategory, UILayout, ScenarioPermission 等
场景核心scenario.tsScenarioPlugin, ScenarioIdentity 等
模块系统module.tsScenarioModule, ScenarioModuleContext 等
声明式类型declarative.tsDeclarativeScenarioConfig 等

导入方式

typescript
import type {
  // 枚举
  ScenarioCategory,
  ScenarioPermission,
  ScenarioLifecycleState,
  UILayout,
  WorkMode,

  // 场景核心
  ScenarioPlugin,
  ScenarioIdentity,
  ScenarioCapabilities,
  ScenarioUI,
  ScenarioDataSources,

  // 模块系统
  ScenarioModule,
  ScenarioModuleContext,
  ScenarioManifest,
  ScenarioToolDefinition,

  // 声明式
  DeclarativeScenarioConfig,
  DeclarativeIdentity,
  DeclarativeCustomTool,
} from '@aweeclaw/scenario-sdk'

类型总览

typescript
// 场景插件
ScenarioPlugin {
  id, name, nameZh, icon, description, descriptionZh,
  version, author, category, tags,
  identity: ScenarioIdentity,
  capabilities: ScenarioCapabilities,
  ui: ScenarioUI,
  dataSources: ScenarioDataSources,
}

// 场景身份
ScenarioIdentity {
  systemPrompt?, systemPromptFile?,
  securityRules?, securityRulesFile?,
  conventions?, conventionsFile?,
  workflow?, workflowFile?,
}

// 场景能力
ScenarioCapabilities {
  toolPacks: string[],
  modes: ScenarioModeDescriptor[],
  contextTypes: ContextTypeDescriptor[],
  outputFormats: string[],
}

// 场景 UI
ScenarioUI {
  layout: UILayout,
  panels: PanelDescriptor[],
  sidebarItems: SidebarItem[],
  statusBarItems: StatusBarItem[],
  defaultSidePanel?: string,
  welcomeMessage?, welcomeMessageZh?,
}

// 模块系统
ScenarioModule {
  id, version,
  getManifest(): ScenarioManifest,
  getPlugin(): ScenarioPlugin,
  getTools(): ScenarioToolDefinition[],
  getComponents?(): ScenarioComponentRegistry,
  onActivate?(context: ScenarioModuleContext): Promise<void>,
  onDeactivate?(context: ScenarioModuleContext): Promise<void>,
  onHealthCheck?(): Promise<ScenarioHealthCheck[]>,
}

// 声明式配置
DeclarativeScenarioConfig {
  id, version, name, nameZh, type: 'declarative',
  identity: DeclarativeIdentity,
  capabilities: DeclarativeCapabilities,
  ui?: DeclarativeUI,
  database?: DeclarativeDatabase,
  scripts?: DeclarativeScripts,
}

构建

SDK 使用 tsup 构建,输出 ESM + CJS + 类型声明:

bash
npm run build

输出:

  • dist/index.js - ESM
  • dist/index.cjs - CJS
  • dist/index.d.ts - 类型声明

AweeClaw AI 应用构建平台