- Project/Environment model with default environments (dev/staging/prod) - Config Runtime: cascade resolution (platform→org→project→env), secrets via vault - Storage Runtime: local provider, sha256 dedup, integrity check, file list/upload/delete - Observability: execution query, per-action summary (success rate, avg, p95), health - Realtime SSE: workspace event stream endpoint (GET /api/v1/v2/realtime/events) - Phase 1 acceptance: core.health.check, core.user.create, core.user.list - Actions: core.project.*, core.config.*, core.file.*, core.user.* (62 total)
91 KiB
19_PLUGIN_EXTENSION_PACKAGE_RUNTIME.md
DevOS Plugin / Extension / Package Runtime
版本:v1.0 目标:让 DevOS 成为真正可扩展的 Developer Work OS,而不是一个越做越大的单体应用。
本文是 DevOS 第 19 个核心架构升级文档。 本文重点解决:
- Plugin
- Extension
- Package
- Capability
- Resource
- Action
- Skill
- MCP
- UI
- Config
- Event
- Migration
- Permission
- Lifecycle
- Install / Upgrade / Disable / Uninstall
- Plugin Marketplace
- Plugin Sandbox
- Plugin Dependency
- Plugin Version
Zcode 必须按照本文实现。
1. Plugin Runtime 的定位
DevOS 不能把所有功能都放进 Core。
正确架构应该是:
DevOS Core
│
┌───────────────┼────────────────┐
│ │ │
Runtime Runtime Runtime
│ │ │
Resource Action Event
│ │ │
Plugin Runtime / Extension Runtime
│
┌────────────────┼─────────────────┐
│ │ │
Plugin Package MCP
│
┌─────┼──────┬───────┬───────┬─────────┐
│ │ │ │ │ │
Res Action Skill UI Workflow MCP
│ │ │ │ │ │
└─────┴──────┴───────┴───────┴─────────┘
Plugin 不是一个简单的 npm package。
Plugin 是 DevOS 中的:
可安装、可配置、可启停、可升级、可卸载、可审计、可授权、可发现的功能单元。
2. Plugin 的核心目标
Plugin 必须做到:
安装
↓
解析依赖
↓
兼容性检查
↓
Migration
↓
注册 Resource
↓
注册 Action
↓
注册 Skill
↓
注册 MCP
↓
注册 Event
↓
注册 UI
↓
注册 Config
↓
注册 Permission
↓
Health Check
↓
Activate
卸载:
Disable
↓
停止新任务
↓
等待 / Cancel Running Tasks
↓
注销 Capability
↓
停止 Worker
↓
停止 Event Subscription
↓
清理 Runtime
↓
Uninstall
3. Plugin、Extension、Package 的区别
这三个概念必须严格区分。
Package
Package 是代码组织单位。
例如:
@devos/plugin-seo
@devos/plugin-github
@devos/plugin-docker
Package 本身不一定是可以安装的 Plugin。
Extension
Extension 是某个 Runtime 的扩展。
例如:
ResourceExtension
ActionExtension
SearchExtension
UIExtension
EventExtension
Plugin
Plugin 是完整的可安装 DevOS 功能。
例如:
SEO Plugin
GitHub Plugin
Docker Plugin
Cloudflare Plugin
WordPress Plugin
一个 Plugin 可以包含多个 Extension。
4. Plugin 的完整结构
标准 Plugin:
plugin
│
├── manifest
│
├── resources
│
├── actions
│
├── skills
│
├── workflows
│
├── mcp
│
├── events
│
├── providers
│
├── config
│
├── permissions
│
├── ui
│
├── migrations
│
├── workers
│
├── health
│
└── assets
例如:
plugins/
└── seo/
├── manifest.ts
├── resources/
│ ├── website.ts
│ ├── keyword.ts
│ └── backlink.ts
│
├── actions/
│ ├── scan.ts
│ ├── analyze.ts
│ └── publish.ts
│
├── skills/
│ ├── seo-audit.ts
│ └── backlink-building.ts
│
├── mcp/
│ └── server.ts
│
├── workflows/
│ └── content-campaign.ts
│
├── events/
│ └── handlers.ts
│
├── config/
│ └── config.ts
│
├── ui/
│ ├── pages/
│ └── widgets/
│
├── migrations/
│
└── index.ts
5. Plugin Manifest
Manifest 是 Plugin 的唯一正式声明入口。
export interface PluginManifest {
id: string
name: string
displayName: string
version: string
apiVersion: string
description?: string
author?: {
name: string
url?: string
}
license?: string
devos: {
minVersion?: string
maxVersion?: string
}
dependencies?: PluginDependency[]
capabilities?: PluginCapabilities
config?: ConfigDefinition[]
permissions?: PermissionDefinition[]
ui?: PluginUIManifest
workers?: WorkerDefinition[]
metadata?: Record<string, unknown>
}
6. Plugin ID
Plugin ID 必须全局唯一。
推荐:
<vendor>.<plugin>
例如:
devos.github
devos.docker
devos.cloudflare
acme.seo
acme.wordpress
禁止:
github
seo
plugin1
test
生产环境 Plugin ID 不允许随意改变。
7. Plugin Version
使用 SemVer:
MAJOR.MINOR.PATCH
例如:
1.0.0
1.2.0
1.2.3
2.0.0
必须与第 12 文档的版本系统统一。
8. Plugin API Version
Plugin 自己的版本与 DevOS Plugin API 版本分开。
例如:
apiVersion: "2026-01"
version: "2.3.1"
含义:
Plugin API = DevOS 扩展接口版本
Plugin Version = 这个 Plugin 自己的版本
9. Plugin Dependency
Plugin 可以依赖:
Core Runtime
其他 Plugin
Provider
Capability
定义:
export interface PluginDependency {
id: string
version: string
optional?: boolean
reason?: string
}
例如:
dependencies: [
{
id: "devos.github",
version: "^2.0.0",
},
]
10. Dependency Resolver
DevOS 必须提供统一 Dependency Resolver。
Plugin A
│
├── Plugin B ^1.0
│
└── Plugin C ^2.0
│
└── Plugin B ^1.5
Resolver:
读取依赖
↓
解析 SemVer
↓
寻找兼容版本
↓
构建 Dependency Graph
↓
检测冲突
↓
检测循环依赖
↓
生成 Install Plan
必须支持:
direct dependency
optional dependency
peer dependency
transitive dependency
version conflict
cycle detection
不要自己重新实现 SemVer。
11. Dependency Graph
内部:
export interface PluginDependencyGraph {
nodes: PluginDependencyNode[]
edges: PluginDependencyEdge[]
}
例如:
SEO
├── browser
├── github
└── content
└── llm
12. Plugin Lifecycle
Plugin 生命周期:
discovered
↓
installed
↓
validating
↓
migrating
↓
registering
↓
activating
↓
active
│
├── disabling
│ ↓
│ disabled
│
└── upgrading
↓
active
active
↓
uninstalling
↓
uninstalled
13. Plugin State
export type PluginStatus =
| "discovered"
| "installing"
| "installed"
| "validating"
| "migration_running"
| "registering"
| "activating"
| "active"
| "degraded"
| "disabling"
| "disabled"
| "upgrading"
| "uninstalling"
| "failed"
| "uninstalled"
14. Plugin Runtime
核心:
export interface PluginRuntime {
install(input: PluginInstallInput): Promise<PluginInstallResult>
validate(pluginId: string): Promise<PluginValidationResult>
activate(pluginId: string): Promise<void>
disable(pluginId: string): Promise<void>
upgrade(input: PluginUpgradeInput): Promise<PluginUpgradeResult>
uninstall(pluginId: string): Promise<void>
get(pluginId: string): Promise<PluginInstance>
list(): Promise<PluginInstance[]>
health(pluginId: string): Promise<PluginHealth>
}
15. Plugin Registry
所有 Plugin 必须注册到:
PluginRegistry
export interface PluginRegistry {
register(plugin: PluginDefinition): Promise<void>
unregister(pluginId: string): Promise<void>
get(pluginId: string): PluginDefinition | undefined
has(pluginId: string): boolean
list(): PluginDefinition[]
}
16. Plugin Definition
export interface PluginDefinition {
manifest: PluginManifest
resources?: ResourceDefinition[]
actions?: ActionDefinition[]
skills?: SkillDefinition[]
workflows?: WorkflowDefinition[]
mcp?: MCPDefinition[]
events?: EventDefinition[]
providers?: ProviderDefinition[]
config?: ConfigDefinition[]
ui?: PluginUIDefinition
workers?: WorkerDefinition[]
migrations?: MigrationDefinition[]
permissions?: PermissionDefinition[]
}
17. Plugin Activation
Activation 不是简单:
plugin.init()
而必须执行:
Plugin Activation
│
├── dependency check
│
├── compatibility check
│
├── config validation
│
├── permission registration
│
├── resource registration
│
├── action registration
│
├── skill registration
│
├── MCP registration
│
├── event registration
│
├── provider registration
│
├── UI registration
│
├── worker registration
│
└── health check
全部成功:
ACTIVE
否则:
DEGRADED / FAILED
18. Registration Transaction
Plugin 注册最好具有事务性。
错误:
Resource 注册成功
Action 注册成功
Skill 注册成功
UI 注册失败
结果不能变成半激活状态。
应该:
Prepare
↓
Validate
↓
Register
↓
Health Check
↓
Commit
失败:
Rollback Registration
19. Capability Registration
Plugin 是 Capability 的重要来源。
Plugin
│
├── Resource
├── Action
├── Skill
├── MCP
├── Workflow
└── Provider
↓
Capability Registry
↓
Agent
这与第 06 文档完全一致。
20. Plugin Resource
Plugin 可以声明 Resource。
例如:
{
id: "seo.website",
name: "Website",
...
}
但必须经过:
Resource Registry
而不是 Plugin 自己维护一套 Resource Registry。
21. Plugin Action
Plugin Action:
{
id: "seo.website.scan",
resource: "seo.website",
...
}
执行:
Agent
↓
Capability
↓
ActionRuntime
↓
Plugin Action Handler
禁止:
Agent
↓
Plugin
↓
直接执行代码
22. Plugin Action Handler
export interface PluginActionHandler<TInput, TOutput> {
execute(
input: TInput,
context: ActionContext
): Promise<TOutput>
}
Action Handler 可以使用:
DataRuntime
StorageRuntime
EventRuntime
TaskRuntime
ProviderRuntime
ConfigRuntime
SecretRuntime
HTTP Client
但必须通过 DevOS Runtime。
23. Plugin 不允许直接操作基础设施
禁止:
plugin -> prisma.user.create()
plugin -> redis.set()
plugin -> websocket.send()
plugin -> process.env.API_KEY
plugin -> fs.readFile(...)
除非这是被 DevOS 明确授权的 Runtime 内部实现。
Plugin 应该使用:
ctx.data
ctx.storage
ctx.event
ctx.task
ctx.config
ctx.secret
ctx.provider
24. Plugin Context
export interface PluginContext {
pluginId: string
runtimeVersion: string
config: ConfigRuntime
data: DataRuntime
storage: StorageRuntime
events: EventRuntime
tasks: TaskRuntime
actions: ActionRuntime
search: SearchRuntime
providers: ProviderRuntime
logger: Logger
metrics: MetricsRuntime
tracing: TracingRuntime
}
25. Plugin Config
Plugin 不应该自己建立:
plugin_settings
plugin_config
plugin_secrets
DevOS 已经有:
Configuration Runtime
Secret Runtime
Provider Runtime
Environment Runtime
因此 Plugin 只声明:
config: [...]
DevOS 负责:
存储
验证
继承
环境
权限
版本
审计
Secret
UI
26. Plugin Secret
Plugin:
{
id: "github.token",
type: "secret"
}
实际 Secret:
secret://github/default
Plugin 永远不应该:
database.query("select secret")
27. Plugin Permission
Plugin 可以声明自己的权限。
例如:
permissions: [
{
id: "seo.website.read",
description: "Read SEO websites"
},
{
id: "seo.website.scan",
description: "Run website scan"
},
{
id: "seo.website.delete",
description: "Delete website"
}
]
最终进入统一:
Permission Registry
28. Permission Namespace
必须使用 Plugin namespace:
seo.website.read
seo.website.scan
seo.website.delete
github.repository.read
github.repository.create
docker.container.read
docker.container.restart
禁止:
read
write
admin
scan
这种全局模糊权限。
29. Plugin UI
Plugin 可以拥有自己的页面。
这是 DevOS 非常重要的能力。
例如:
SEO
├── Dashboard
├── Websites
├── Keywords
├── Backlinks
├── Content
├── Tasks
└── Settings
Plugin manifest:
export interface PluginUIManifest {
navigation?: NavigationItem[]
pages?: PluginPage[]
widgets?: PluginWidget[]
settings?: PluginSettingsPage[]
dashboards?: PluginDashboard[]
}
30. Navigation
Plugin 可以注册:
{
id: "seo",
label: "SEO",
icon: "Search",
path: "/seo"
}
子页面:
SEO
├── Overview
├── Websites
├── Keywords
├── Backlinks
├── Content
└── Settings
但是:
Plugin 不应该修改主 Shell。
Plugin 只能向 UI Shell 注册扩展点。
31. UI Extension Point
DevOS UI Shell 提供:
sidebar
topbar
dashboard
resource-list
resource-detail
resource-actions
settings
task-detail
agent-chat
global-search
command-palette
Plugin 可以注册:
ui.registerExtension({
slot: "resource.detail.sidebar",
resource: "seo.website",
component: WebsiteHealthWidget
})
32. Plugin Page
Plugin 页面:
export interface PluginPage {
id: string
path: string
title: string
component: string
permission?: string
icon?: string
layout?: string
}
例如:
/seo/websites
/seo/keywords
/seo/backlinks
33. Plugin Widget
export interface PluginWidget {
id: string
slot: string
title?: string
component: string
priority?: number
permission?: string
}
例如:
dashboard.main
task.sidebar
agent.context
resource.detail
34. Plugin Settings
每个 Plugin 都可以拥有自己的 Settings 页面。
例如:
Settings
└── Plugins
└── SEO
├── General
├── Providers
├── Limits
├── Automation
└── Advanced
但是数据仍然来自:
Configuration Runtime
而不是 Plugin 自己存储。
35. Plugin Dashboard
Plugin 可以注册 Dashboard。
例如 SEO:
SEO Dashboard
Websites 128
Keywords 32,420
Backlinks 1,248
Tasks 37
Errors 4
Dashboard 数据必须走:
Query / Search / Metrics Runtime
禁止 UI 直接 SQL。
36. Plugin Event
Plugin 可以订阅事件。
例如:
events: [
{
type: "seo.website.updated",
handler: "..."
}
]
或者:
core.task.completed
core.execution.failed
core.file.created
Event 统一进入第 16 文档定义的 Event Runtime。
37. Plugin Event Handler
export interface PluginEventHandler {
handle(
event: DevOSEvent,
context: EventHandlerContext
): Promise<void>
}
必须:
idempotent
retryable
audited
observable
38. Plugin Worker
Plugin 可以提供 Worker。
例如:
SEO crawler worker
Content processing worker
GitHub sync worker
但 Worker 必须注册到:
Worker Runtime
而不是 Plugin 自己启动:
setInterval(...)
禁止。
39. Plugin Scheduler
Plugin 可以注册 Schedule:
SEO website scan
每天 03:00
但 Schedule 必须进入:
Scheduler Runtime
流程:
Scheduler
↓
Task
↓
Job
↓
Queue
↓
Worker
↓
Action
Plugin 不允许自己创建 cron daemon。
40. Plugin Workflow
Plugin 可以提供 Workflow Template:
SEO Audit
例如:
Scan Website
↓
Analyze Technical SEO
↓
Analyze Content
↓
Analyze Backlinks
↓
Generate Report
Workflow 使用:
Action Runtime
Task Runtime
Event Runtime
41. Plugin Skill
Plugin 可以提供 Skill:
seo.audit
seo.keyword.research
seo.backlink.strategy
Skill:
Skill
↓
Capability Discovery
↓
Action
Plugin 不应该自己实现 Agent Loop。
Agent Runtime 负责 Agent。
42. Plugin MCP
Plugin 可以提供 MCP。
例如:
SEO MCP
GitHub MCP
Docker MCP
Cloudflare MCP
但:
MCP 不是第二套执行系统。
MCP 最终:
MCP
↓
Capability
↓
Action Runtime
43. Plugin MCP Server
export interface PluginMCPDefinition {
id: string
name: string
version: string
tools: MCPToolDefinition[]
resources?: MCPResourceDefinition[]
}
MCP Tool 最终必须映射:
MCP Tool
↓
Action ID
↓
Action Runtime
44. Plugin Provider
Plugin 可以提供 Provider。
例如:
GitHub
├── GitHub API
└── GitHub OAuth
Cloudflare
└── Cloudflare API
OpenAI
└── OpenAI API
Provider 进入:
Provider Registry
Credential:
Credential Runtime
Secret:
Secret Runtime
45. Plugin External API
Plugin 调用第三方 API 时:
Plugin Action
↓
Provider Runtime
↓
Credential Resolver
↓
Secret Runtime
↓
HTTP Client
↓
External API
而不是:
Plugin
↓
fetch()
↓
process.env.API_KEY
46. Plugin Health
每个 Plugin 必须提供 Health Check。
export interface PluginHealth {
status: "healthy" | "degraded" | "unhealthy"
checks: HealthCheckResult[]
timestamp: string
}
检查:
Database
Provider
Credential
External API
Worker
Queue
MCP
Configuration
47. Plugin Health 与 Activation
Plugin:
installed
↓
health check
↓
active
如果 Provider 无法使用:
active + degraded
不要因为一个可选 Provider 失败就让整个 Plugin 崩溃。
48. Optional Capability
Plugin 可以声明:
{
id: "cloudflare",
optional: true
}
例如:
SEO Plugin
├── Core SEO required
├── OpenAI optional
├── Ahrefs optional
└── Semrush optional
没有 Ahrefs:
SEO = active
Ahrefs capability = unavailable
Agent Capability Registry 必须知道:
available
unavailable
degraded
49. Plugin Availability
Capability Registry:
export type CapabilityAvailability =
| "available"
| "unavailable"
| "degraded"
| "disabled"
| "permission_denied"
Agent 搜索 Capability 时必须过滤。
50. Plugin Installation
安装流程:
Upload / Marketplace / Git / Package
↓
Read Manifest
↓
Verify Signature
↓
Verify Checksum
↓
Resolve Dependencies
↓
Check DevOS Compatibility
↓
Generate Plan
↓
User Approval
↓
Install
↓
Migration
↓
Registration
↓
Health Check
↓
Activate
51. Install Source
支持:
Marketplace
Local package
Git repository
OCI registry
Private registry
Uploaded archive
生产环境推荐:
Immutable package
+ exact version
+ checksum
52. Plugin Package
推荐 Plugin Package:
devos-plugin-seo-2.3.1.tgz
内部:
manifest.json
dist/
assets/
migrations/
package metadata
checksum
signature
53. Plugin Signature
生产环境建议:
Package
↓
SHA-256
↓
Signature
↓
Trusted Publisher
Plugin Instance 保存:
interface PluginArtifact {
source: string
version: string
checksum: string
signature?: string
publisher?: string
installedAt: string
}
54. Plugin Trust
Plugin Trust Level:
export type PluginTrustLevel =
| "core"
| "official"
| "verified"
| "community"
| "local"
| "untrusted"
生产环境可以设置:
allow:
core
official
verified
deny:
untrusted
55. Plugin Sandbox
不能假设所有 Plugin 都可信。
因此 Runtime 必须区分:
Trusted Plugin
Untrusted Plugin
对于高风险 Plugin,可以限制:
filesystem
network
process
child_process
environment
native modules
56. 推荐的 Plugin 执行模式
第一阶段:
Trusted Plugin
=
same process
优点:
简单
性能高
开发方便
第二阶段:
Sandbox Plugin
=
isolated process / container
架构:
DevOS
↓
Plugin Host
↓
IPC / RPC
↓
Sandbox
不要一开始就为所有 Plugin 强制容器化,否则系统复杂度会大幅增加。
57. Plugin API Boundary
Sandbox Plugin 只能访问:
Plugin SDK
↓
RPC
↓
DevOS Runtime
例如:
plugin.data.query()
plugin.action.execute()
plugin.storage.put()
plugin.event.publish()
plugin.config.get()
而不能:
直接访问 DevOS PostgreSQL
直接访问 Redis
直接读取 Secret
58. Plugin SDK
建议:
@devos/plugin-sdk
提供:
createPlugin()
defineResource()
defineAction()
defineSkill()
defineWorkflow()
defineMCP()
defineProvider()
defineConfig()
definePermission()
definePage()
defineWidget()
defineEventHandler()
59. Plugin SDK 示例
import {
definePlugin,
defineResource,
defineAction,
} from "@devos/plugin-sdk"
export default definePlugin({
manifest: {
id: "acme.seo",
name: "seo",
displayName: "SEO",
version: "1.0.0",
apiVersion: "2026-01",
},
resources: [
defineResource({
id: "seo.website",
...
}),
],
actions: [
defineAction({
id: "seo.website.scan",
...
}),
],
})
60. Plugin Bootstrap
统一:
export default definePlugin(...)
不要允许:
plugin/index.ts
plugin/init.ts
plugin/bootstrap.ts
plugin/register.ts
同时成为多个入口。
唯一入口:
Plugin Manifest + Plugin Definition
61. Plugin Runtime Loading
Plugin Discovery
↓
Load Package
↓
Load Manifest
↓
Validate
↓
Load Definition
↓
Dependency Check
↓
Registration
62. Dynamic Loading
DevOS 应支持:
install plugin
↓
activate
无需修改 Core。
例如安装:
Cloudflare Plugin
Core 不需要重新编译。
63. Plugin Registry Persistence
数据库:
plugins
建议:
plugins
---------
id
version
api_version
status
trust_level
source
checksum
signature
manifest
installed_at
updated_at
activated_at
disabled_at
error
metadata
64. Plugin Instance
export interface PluginInstance {
id: string
version: string
apiVersion: string
status: PluginStatus
trustLevel: PluginTrustLevel
source: PluginSource
checksum: string
installedAt: string
activatedAt?: string
metadata: Record<string, unknown>
}
65. Plugin State 不等于 Plugin Definition
必须区分:
Plugin Definition
=
代码定义
Plugin Instance
=
当前安装状态
例如:
Plugin Definition:
seo@2.3.1
Plugin Instance:
installed
active
configured
66. Plugin Config State
Plugin 的配置属于:
Configuration Runtime
而 Plugin Instance 只保存:
pluginId
version
status
不要:
plugins.config JSON
承载全部配置。
67. Plugin Migration
Plugin 可以拥有自己的 Migration。
例如:
seo@1.0
↓
seo@2.0
Migration:
001_add_keywords
002_add_backlinks
003_rebuild_index
统一进入:
Migration Runtime
68. Plugin Migration Namespace
推荐:
plugin.seo.001
plugin.seo.002
或者:
seo.20260901
seo.20260910
不能与 Core Migration 冲突。
69. Plugin Upgrade
完整流程:
Current Plugin
│
↓
Read New Manifest
│
↓
Compatibility Check
│
↓
Dependency Resolution
│
↓
Generate Upgrade Plan
│
↓
Backup / Snapshot
│
↓
Pause New Work
│
↓
Drain Running Jobs
│
↓
Migration
│
↓
Register New Definition
│
↓
Health Check
│
↓
Activate
│
↓
Resume
与第 12 文档统一。
70. Plugin Upgrade Lock
同一 Plugin 不允许并发升级。
plugin:seo
↓
Distributed Lock
如果已有升级:
409 PluginUpgradeInProgress
71. Plugin Uninstall
卸载不能直接:
delete plugin
必须:
disable
↓
check running tasks
↓
check dependencies
↓
check resources
↓
check data retention
↓
remove subscriptions
↓
remove workers
↓
remove capabilities
↓
remove UI registration
↓
optional data cleanup
↓
uninstall
72. Dependency Protection
如果:
Plugin A
↓
depends on B
则不能直接卸载 B。
必须:
A disabled/uninstalled
或者:
B dependency no longer required
73. Plugin Data Policy
卸载 Plugin 时,数据不能默认删除。
必须区分:
Plugin Code
Plugin Configuration
Plugin Data
Plugin Files
Plugin Artifacts
Plugin Tasks
Plugin Audit
默认:
Uninstall Plugin
≠ Delete Business Data
74. Data Retention
Plugin Manifest 可以声明:
dataPolicy: {
retainDataOnUninstall: true
}
用户可以选择:
Keep Data
Delete Data
Export Data
危险删除必须:
Approval
+
Audit
75. Plugin Resource Cleanup
卸载时需要检查:
Resources
Tasks
Jobs
Files
Artifacts
Schedules
Webhooks
Event subscriptions
Credentials
Providers
不能留下大量 orphan records。
76. Orphan Resource
Plugin 被删除后,如果业务数据还保留:
plugin_id = "seo"
status = "orphaned"
UI:
SEO Plugin unavailable
Data retained:
128 websites
32,420 keywords
1,248 backlinks
用户重新安装即可恢复。
77. Plugin Reinstall
支持:
uninstall
↓
reinstall same version
↓
detect existing data
↓
migrate
↓
reattach resources
不能重新创建一套重复数据。
78. Plugin Capability Discovery
Plugin 安装之后自动注册:
Resource
Action
Skill
MCP
Workflow
Provider
进入:
Capability Registry
因此:
安装 Plugin
等于:
系统获得新的 Capability
79. Agent Plugin Integration
Agent 不应该知道:
Plugin 内部代码
Agent 只看到:
Capabilities
例如:
seo.website.scan
seo.keyword.research
seo.backlink.find
80. Agent 不直接依赖 Plugin
错误:
Agent
↓
SEOPlugin
正确:
Agent
↓
Capability Registry
↓
seo.website.scan
↓
Action Runtime
↓
SEO Plugin
81. Plugin 与 Skill
Plugin:
提供能力
Skill:
告诉 Agent 怎么使用能力
例如:
Plugin:
seo.website.scan
Skill:
seo.audit
Skill 可以组合:
seo.website.scan
seo.keyword.research
seo.content.analyze
82. Plugin 与 MCP
Plugin 可以暴露 MCP:
SEO Plugin
↓
MCP
↓
Capability Registry
但外部 MCP 同样可以使用 DevOS Capability:
External MCP
↓
MCP Gateway
↓
Capability Registry
↓
Action Runtime
因此:
Plugin MCP 与 External MCP 使用同一 Runtime。
83. Plugin Event Integration
Plugin 可以:
发布 Event
例如:
seo.audit.completed
也可以:
订阅 Event
例如:
core.task.completed
全部走:
Event Runtime
84. Plugin Task Integration
Plugin 创建异步任务:
await ctx.tasks.create({
type: "seo.bulk_scan",
...
})
然后:
Task
↓
Job
↓
Queue
↓
Worker
↓
Action
Plugin 禁止自己维护:
seo_jobs
seo_queue
seo_workers
除非这些只是业务 Resource,而不是替代 DevOS Task Runtime。
85. Plugin Storage Integration
Plugin 文件:
SEO Report
使用:
ctx.storage
产生:
File
Artifact
而不是:
seo/uploads/
自己管理一套 Storage Runtime。
86. Plugin Search Integration
Plugin Resource 可以声明:
search: {
enabled: true,
fields: [...]
}
DevOS 自动:
Resource
↓
Search Index
Plugin 不应该自行部署:
seo-elasticsearch
87. Plugin Data Integration
Plugin Resource:
seo.website
seo.keyword
使用:
Data Runtime
自动获得:
Query
Pagination
Filter
Sort
Search
Permission
Scope
Export
Import
Audit
88. Plugin Observability
Plugin 自动获得:
Logger
Metrics
Tracing
Audit
Error Runtime
Health
Usage
Alerts
例如:
ctx.logger.info(...)
ctx.metrics.counter(...)
ctx.tracing.span(...)
禁止 Plugin 创建:
seo_logger
seo_metrics
seo_audit
89. Plugin Audit
例如:
Actor: user:123
Plugin: seo
Action: seo.website.scan
Resource: website:456
Result: success
统一进入:
Audit Runtime
90. Plugin Error
Plugin 错误必须使用 DevOS Error Runtime:
throw new DevOSError({
code: "SEO_PROVIDER_UNAVAILABLE",
message: "SEO provider is unavailable",
retryable: true,
})
不要:
throw new Error("oops")
作为正式业务错误模型。
91. Plugin API
系统 API:
GET /api/plugins
GET /api/plugins/:id
POST /api/plugins/install
POST /api/plugins/:id/activate
POST /api/plugins/:id/disable
POST /api/plugins/:id/upgrade
DELETE /api/plugins/:id
GET /api/plugins/:id/health
GET /api/plugins/:id/capabilities
GET /api/plugins/:id/dependencies
GET /api/plugins/:id/config
92. Plugin Install API
POST /api/plugins/install
Input:
interface PluginInstallInput {
source: PluginSource
version?: string
activate?: boolean
config?: Record<string, unknown>
}
返回:
interface PluginInstallResult {
pluginId: string
version: string
status: PluginStatus
plan: UpgradePlan
}
93. Plugin Upgrade API
POST /api/plugins/:id/upgrade
Input:
{
version: "2.4.0",
dryRun: false
}
支持:
dry-run
plan
execute
rollback
94. Plugin CLI
必须提供:
devos plugin list
devos plugin info seo
devos plugin install acme.seo@1.2.0
devos plugin enable acme.seo
devos plugin disable acme.seo
devos plugin upgrade acme.seo
devos plugin uninstall acme.seo
devos plugin health acme.seo
devos plugin capabilities acme.seo
95. Plugin Developer CLI
建议:
devos plugin create seo
devos plugin dev
devos plugin build
devos plugin validate
devos plugin test
devos plugin package
devos plugin publish
96. Plugin Validate
devos plugin validate
检查:
manifest
ID
version
API version
dependencies
permissions
resources
actions
skills
mcp
config
UI
migration
97. Plugin Test
Plugin 测试应该可以使用 DevOS Test Runtime:
Plugin
↓
Test Runtime
↓
Mock Provider
Mock Storage
Mock Event
Mock Queue
Mock Config
98. Plugin Contract Test
所有 Plugin 必须通过:
Manifest Contract
Resource Contract
Action Contract
Permission Contract
Config Contract
Event Contract
UI Contract
Migration Contract
Health Contract
99. Plugin Compatibility Test
例如:
Plugin SEO 2.4
against
DevOS Core 2026.09
自动检查:
API
Resource
Action
Event
Config
MCP
UI
Migration
100. Plugin Marketplace
DevOS 可以建立 Marketplace。
结构:
Marketplace
│
├── Official
├── Verified
├── Community
└── Private
Plugin 页面:
SEO
Version: 2.3.1
Publisher: ACME
Trust: Verified
Capabilities:
12 Actions
4 Skills
2 MCP
8 Resources
Dependencies:
Browser
LLM
101. Marketplace 不负责 Runtime
Marketplace 只是:
发现
搜索
查看
下载
安装
真正安装:
Plugin Runtime
102. Marketplace Search
使用:
Search Runtime
可以搜索:
SEO
GitHub
Docker
Cloudflare
WordPress
CRM
Plugin Metadata 应可被 Global Search 搜索。
103. Plugin Rating
可以提供:
rating
downloads
version
lastUpdated
publisher
trust
compatibility
但这些不是 Runtime 核心依赖。
104. Plugin Quality Score
可选:
Compatibility
Security
Test Coverage
Update Frequency
Health
Popularity
Agent 选择 Capability 时,也可以把:
quality score
作为 ranking 因素。
105. Plugin Version Pinning
生产环境:
seo@2.3.1
而不是:
seo@latest
使用:
devos.lock
例如:
plugins:
acme.seo:
version: 2.3.1
checksum: sha256:...
106. Plugin Lockfile
Lockfile 用于:
Production
CI/CD
Deployment
Rollback
Reproducibility
必须记录:
Plugin
Version
Checksum
Dependencies
API Version
107. Plugin Environment
允许:
Development
Staging
Production
分别启用不同 Plugin。
例如:
Development:
devos.debug
devos.mock
Production:
devos.monitoring
devos.cloudflare
108. Plugin Environment Policy
Production Plugin:
必须签名
必须锁版本
必须 checksum
必须 compatibility pass
必须 migration pass
109. Plugin Feature Flag
Plugin 可以定义 Feature:
seo.new-crawler
seo.ai-content
seo.semantic-analysis
但 Feature Flag 应由:
Configuration / Policy Runtime
控制。
不要自己实现:
seo_feature_flags
110. Plugin Disable
Disable 后:
Capability unavailable
UI hidden
New Tasks rejected
Scheduled Tasks paused
Workers drained
MCP disabled
Event handlers disabled
已有数据:
保留
111. Disable 与 Uninstall 的区别
Disable
=
暂时不运行
Uninstall
=
移除 Plugin Code / Runtime
因此:
Disable
可以快速恢复
Uninstall
需要完整清理流程
112. Plugin Recovery
Plugin 启动失败:
failed
系统应保存:
error
stack trace
plugin version
runtime version
migration
dependency
health check
然后 UI 提供:
Retry
Disable
Rollback
View Diagnostics
113. Plugin Rollback
Rollback:
2.4.0
↓
2.3.1
必须检查:
Migration compatibility
Data compatibility
Config compatibility
Action version
Event version
Task version
不能假设:
rollback = install old package
114. Plugin Upgrade Canary
未来可支持:
5% Organization
↓
20%
↓
50%
↓
100%
观察:
error rate
latency
task failures
provider failures
异常:
stop rollout
115. Plugin Security
必须防止:
RCE
SSRF
Secret exfiltration
Privilege escalation
Path traversal
Prototype pollution
Malicious dependency
Supply-chain attack
116. Plugin Network Policy
Plugin 可以声明:
network: {
domains: [
"api.github.com",
"api.cloudflare.com"
]
}
Sandbox 模式下:
allowlist
优先于:
allow all
117. Plugin Secret Permission
即使 Plugin 有:
provider.read
也不能自动获得:
secret.read
Credential 与 Secret 必须分离。
118. Agent Plugin Security
Agent 使用 Plugin Capability 时:
User
↓
Agent
↓
Policy
↓
Capability
↓
Permission
↓
Action
Plugin 不能因为 Agent 调用而绕过:
User permission
Organization scope
Project scope
Approval policy
119. Dangerous Plugin Actions
例如:
server.delete
dns.change
production.deploy
database.drop
必须支持:
requiresApproval: true
进入:
Approval Runtime
120. Plugin UI Security
Plugin UI 不能直接:
读取 Secret
访问数据库
调用内部 API
必须:
UI
↓
DevOS API
↓
Permission
↓
Action / Query
121. Plugin Frontend Bundle
推荐:
Plugin UI
↓
ESM / Module Federation / Dynamic Import
具体实现可以根据当前前端架构决定。
第一阶段不必引入复杂 Module Federation。
可以:
dynamic import()
122. Plugin UI Manifest
例如:
ui: {
navigation: [
{
id: "seo",
path: "/seo",
label: "SEO",
icon: "search"
}
],
pages: [
{
id: "seo.dashboard",
path: "/seo",
component: "SeoDashboard"
}
]
}
123. Plugin Asset
支持:
icon
logo
images
frontend chunks
styles
统一:
Plugin Asset Runtime
或者 Storage Runtime。
禁止 Plugin 任意写:
public/
124. Plugin Namespace Isolation
Plugin 所有资源:
seo.*
配置:
plugin.seo.*
权限:
seo.*
事件:
seo.*
Skill:
seo.*
避免命名冲突。
125. Plugin Database Namespace
推荐数据库表:
resource tables
Plugin 可以使用:
seo_websites
seo_keywords
但 Schema / Migration 必须属于:
plugin namespace
如果未来支持 PostgreSQL schema:
plugin_seo
也必须通过 Migration Runtime 创建。
126. 不要让 Plugin 自己创建数据库连接
错误:
const db = new PrismaClient()
正确:
ctx.data
如果 Plugin 确实需要特殊 Provider:
Data Provider Runtime
由 DevOS 管理。
127. Plugin API Client
推荐 Plugin 使用:
@devos/runtime-sdk
统一获得:
context.data
context.actions
context.events
context.tasks
context.storage
context.providers
context.config
128. Plugin Runtime API
export interface DevOSPluginRuntime {
resource: ResourceRegistry
action: ActionRegistry
capability: CapabilityRegistry
skill: SkillRegistry
mcp: MCPRegistry
workflow: WorkflowRegistry
event: EventRuntime
task: TaskRuntime
data: DataRuntime
search: SearchRuntime
storage: StorageRuntime
config: ConfigRuntime
provider: ProviderRuntime
audit: AuditRuntime
observability: ObservabilityRuntime
}
129. Plugin Registry Relationship
Plugin Registry
│
├── Resource Registry
├── Action Registry
├── Capability Registry
├── Skill Registry
├── MCP Registry
├── Workflow Registry
├── Provider Registry
├── Event Registry
└── UI Registry
Plugin Registry 本身不是所有东西的替代品。
它负责:
Plugin 生命周期与所有权。
130. Ownership
每个 Extension 必须记录:
ownerPluginId?: string
例如:
Resource:
seo.website
ownerPlugin:
acme.seo
这样系统可以知道:
这个 Resource 来自哪个 Plugin
131. Capability Ownership
interface Capability {
id: string
source: CapabilitySource
ownerPluginId?: string
}
例如:
seo.website.scan
source = plugin
ownerPluginId = acme.seo
132. Plugin Uninstall Impact Analysis
卸载前必须生成:
Impact Report
例如:
Plugin: acme.seo
Resources:
128
Actions:
12
Skills:
4
Tasks:
37
Schedules:
8
Files:
1,248
Artifacts:
532
Dependencies:
none
Dependents:
content-agent
然后:
Confirm Uninstall
133. Plugin Upgrade Impact Analysis
升级前:
Current:
2.3.1
Target:
2.4.0
显示:
Breaking changes
Migration
Config changes
Action changes
Event changes
Dependency changes
UI changes
Risk
Estimated downtime
134. Plugin Admin UI
建议:
System
└── Plugins
├── Installed
├── Marketplace
├── Updates
├── Disabled
└── Diagnostics
Plugin Detail:
Overview
Capabilities
Configuration
Dependencies
Health
Tasks
Events
Workers
Migrations
Audit
Versions
135. Plugin Detail Dashboard
显示:
Status
Version
Health
Last activation
Last upgrade
Tasks
Errors
Actions
Workers
Events
Usage
136. Plugin Capability UI
例如:
SEO
Resources
8
Actions
21
Skills
5
MCP Tools
13
Workflows
4
可以直接查看:
Permission
Schema
Input
Output
Availability
Cost
这同时服务于:
Human
Agent
Developer
137. Plugin Logs
Plugin Detail:
Observability
├── Logs
├── Metrics
├── Traces
├── Errors
└── Audit
数据来自第 17 文档。
138. Plugin Tasks
Plugin Detail:
Tasks
显示:
running
completed
failed
cancelled
统一来自:
Task Runtime
而不是 Plugin Task DB。
139. Plugin Event Explorer
可以查看:
seo.website.scanned
seo.audit.completed
统一来自:
Event Runtime
140. Plugin Worker Monitor
显示:
Workers
seo-crawler-01
seo-crawler-02
Concurrency
Queue
Throughput
Error Rate
Heartbeat
统一 Worker Runtime。
141. Plugin Package Architecture
推荐:
packages/
├── plugin-core/
├── plugin-runtime/
├── plugin-registry/
├── plugin-loader/
├── plugin-installer/
├── plugin-resolver/
├── plugin-sdk/
├── plugin-security/
├── plugin-marketplace/
└── plugin-ui/
142. 推荐最终结构
packages/
│
├── core/
├── resource/
├── action/
├── capability/
├── agent/
├── skill/
├── mcp/
│
├── task/
├── job/
├── queue/
├── worker/
├── scheduler/
│
├── data/
├── search/
├── storage/
│
├── event/
├── notification/
├── realtime/
│
├── observability/
├── audit/
├── error/
│
├── config/
├── secret/
├── credential/
├── provider/
├── environment/
│
└── plugin/
├── core/
├── runtime/
├── registry/
├── loader/
├── installer/
├── resolver/
├── sdk/
├── security/
├── marketplace/
└── ui/
143. Plugin Core Package
packages/plugin/core
负责:
types
manifest
definition
status
dependency
source
artifact
不负责:
install
database
UI
queue
144. Plugin Registry Package
packages/plugin/registry
负责:
Plugin Registry
Resource Registration
Action Registration
Capability Registration
Skill Registration
MCP Registration
Workflow Registration
Provider Registration
UI Registration
Event Registration
145. Plugin Runtime Package
packages/plugin/runtime
负责:
activate
disable
health
lifecycle
context
ownership
146. Plugin Loader
packages/plugin/loader
负责:
load package
load manifest
load module
validate export
147. Plugin Installer
packages/plugin/installer
负责:
download
verify
extract
install
migration
activation
148. Plugin Resolver
packages/plugin/resolver
负责:
SemVer
dependency graph
conflict
cycle
compatibility
149. Plugin Security
packages/plugin/security
负责:
signature
checksum
trust
sandbox
network policy
permissions
package validation
150. Plugin SDK
packages/plugin/sdk
供第三方开发:
@devos/plugin-sdk
SDK 不应该依赖:
NestJS
Prisma
React
Redis
过深。
否则 Plugin 会与 Core 实现强耦合。
151. Plugin SDK Compatibility
Plugin SDK:
v1
v2
必须与:
Plugin API
关联。
例如:
@devos/plugin-sdk@3
supports:
DevOS Plugin API 2026-01
152. Plugin Development Template
提供:
devos plugin create my-plugin
生成:
my-plugin/
├── package.json
├── devos.plugin.ts
├── src/
│ ├── index.ts
│ ├── resources/
│ ├── actions/
│ ├── skills/
│ └── ui/
├── migrations/
├── tests/
└── README.md
153. 最小 Plugin
最简单 Plugin:
export default definePlugin({
manifest: {
id: "acme.hello",
name: "hello",
displayName: "Hello",
version: "1.0.0",
apiVersion: "2026-01",
},
})
安装即可:
installed
active
154. Resource Plugin
Plugin
↓
Resource
↓
Generic CRUD
↓
Data Runtime
只定义:
Schema
Permission
Actions
UI Metadata
DevOS 自动提供:
List
Detail
Create
Edit
Delete
Search
Filter
Sort
Pagination
155. Action Plugin
Plugin 只定义:
Action
Handler
Schema
Permission
DevOS 自动提供:
API
Audit
Execution
Task
Error
Metrics
Tracing
156. Agent Plugin
Plugin:
Skill
Capability
Agent:
Goal
Plan
Execution
Observation
Plugin 不实现 Agent。
157. Full Plugin Example
例如:
acme.seo
提供:
Resources:
seo.website
seo.keyword
seo.backlink
Actions:
seo.website.scan
seo.website.audit
seo.keyword.research
seo.backlink.find
Skills:
seo.audit
seo.content.strategy
seo.backlink.strategy
MCP:
seo
Workflows:
seo.full-audit
Providers:
google
ahrefs
semrush
UI:
/seo
/seo/websites
/seo/keywords
/seo/backlinks
Events:
seo.scan.completed
seo.audit.completed
这才是完整 Plugin。
158. Plugin 与 Core 边界
Core:
Identity
Permission
Resource
Action
Task
Job
Queue
Worker
Event
Data
Search
Storage
Config
Secret
Provider
Observability
UI Shell
Plugin Runtime
Plugin:
Business Domain
例如:
SEO
GitHub
Docker
Cloudflare
CRM
WordPress
159. 什么应该进入 Core
只有满足:
多个 Plugin 都需要
且
不属于具体业务领域
才进入 Core。
例如:
Task
File
Audit
Search
Permission
Provider
应该进入 Core。
160. 什么不能进入 Core
不要因为某个 Plugin 需要:
SEO backlink
GitHub repository
Docker container
就把这些放入 Core。
否则:
Core
↓
越来越大
↓
越来越难升级
↓
失去 Plugin 架构意义
161. Plugin Architecture Golden Boundary
最终:
DEVOS CORE
──────────────────────────────────────────
Identity
Permission
Resource
Action
Capability
Agent
Skill Runtime
MCP Runtime
Task
Job
Queue
Worker
Data
Search
Storage
Event
Config
Secret
Provider
Observability
UI Shell
Plugin Runtime
──────────────────────────────────────────
↓
PLUGIN SYSTEM
↓
──────────────────────────────────────────
SEO
GitHub
Docker
Cloudflare
WordPress
CRM
Content
DevOps
...
──────────────────────────────────────────
162. Plugin 不应该成为“第二个 DevOS”
绝对禁止:
Plugin
├── own DB Runtime
├── own Queue
├── own EventBus
├── own Auth
├── own Permission
├── own Scheduler
├── own Storage
├── own Search
└── own Agent
否则 Plugin 只是:
一个被安装的微型单体应用。
这违背 DevOS 的目标。
163. Plugin 的正确哲学
Plugin 应该是:
Domain Extension
而不是:
Mini Application
因此:
DevOS = Platform
Plugin = Domain
App = Composition
164. App 与 Plugin 的关系
例如:
DevOS
│
├── SEO Plugin
├── GitHub Plugin
├── Docker Plugin
├── Cloudflare Plugin
└── Content Plugin
↓
App
App 只是:
Plugin Composition
+
Configuration
+
Navigation
+
Workflow
+
Agent
165. SEO App
不要:
SEO Core
SEO Infra
SEO Agent Platform
应该:
DevOS Core
↓
SEO Plugin
↓
SEO Skills
↓
SEO Agents
↓
SEO App
SEO 的基础设施能力由:
Data
Task
Queue
Storage
Event
Provider
Search
提供。
166. Plugin Composition
例如一个 DevOps App:
GitHub Plugin
+
Docker Plugin
+
Cloudflare Plugin
+
SSH Provider
+
Agent Skill
+
Workflow
不需要开发新的 Backend Core。
167. Plugin + Agent
例如:
Goal:
部署项目到生产环境
Agent:
GitHub Plugin
↓
build action
Docker Plugin
↓
image action
SSH Provider
↓
server action
Cloudflare Plugin
↓
dns action
全部统一 Action Runtime。
168. Plugin + Workflow
固定流程:
Build
↓
Test
↓
Deploy
↓
Health Check
↓
DNS
Workflow。
动态决策:
如果部署失败
↓
分析日志
↓
决定 rollback
Agent。
Plugin 只提供:
Capabilities
169. Plugin + MCP
用户可以:
Chat
↓
Agent
↓
SEO Skill
↓
SEO Plugin Action
外部 AI Client 也可以:
Claude / Cursor / Other Agent
↓
MCP
↓
DevOS Capability Gateway
↓
SEO Plugin Action
两者最终进入:
Action Runtime
170. Plugin + Global Search
用户输入:
Cloudflare production
Global Search 可以返回:
Cloudflare Account
Cloudflare Zone
DNS Record
Deployments
Tasks
这些来自不同 Plugin。
171. Plugin + Global Command
Command Palette:
Scan Website
Deploy Production
Restart Container
Create GitHub Repository
Command 来自:
Action Registry
Plugin 安装之后自动出现。
172. Plugin + Universal Resource UI
如果 Plugin 定义:
seo.website
并提供:
schema
fields
relations
actions
DevOS 可以自动生成:
List
Detail
Search
Filter
Create
Edit
Bulk Actions
因此 Plugin 开发成本极低。
173. Plugin + Generic UI
这意味着:
80% CRUD Plugin
可能只需要:
Resource Schema
Action
而不是:
Controller
Service
Repository
DTO
CRUD UI
Table
Form
全部手写。
174. Plugin UI 的自由度
对于复杂 UI:
Plugin
↓
Custom React Components
对于简单 UI:
Resource Schema
↓
Generic UI
两种模式必须同时支持。
175. Plugin API Extension
Plugin 可以增加:
REST endpoint
但推荐:
Action
↓
Generic Action API
只有特殊协议才允许:
Custom API Adapter
176. Plugin Webhook
Plugin 可以声明 Webhook:
POST /api/plugins/seo/webhook/google
但进入:
Webhook Runtime
然后:
Webhook
↓
Event
↓
Task
↓
Action
177. Plugin OAuth
OAuth 不应该自己存 Token。
流程:
Plugin Provider
↓
Credential Runtime
↓
OAuth
↓
Credential
↓
Secret
178. Plugin External Resource
例如 GitHub:
github.repository
可以是:
External Resource
由:
External Resource Provider
负责同步。
Plugin 只定义:
Schema
Provider
Actions
179. Plugin Sync
例如:
GitHub Repository
↓
Sync
↓
DevOS Resource
同步:
Scheduler
↓
Task
↓
Job
↓
Action
而不是:
Plugin setInterval()
180. Plugin Cache
Plugin 不应该直接:
redis.set("seo:...")
使用:
CacheRuntime
支持:
namespace
TTL
invalidation
serialization
scope
181. Plugin Rate Limit
例如 GitHub API:
5000 req/hour
Plugin 使用:
Provider Rate Limit
统一 Runtime 负责:
queue
retry
backoff
concurrency
182. Plugin Cost Tracking
Plugin 调用:
OpenAI
Ahrefs
Google
Cloudflare
都应该记录:
provider
action
task
job
execution
cost
进入:
Usage / Cost Runtime
183. Plugin Billing
如果未来支持 SaaS:
Plugin Usage
↓
Usage Runtime
↓
Billing
Plugin 不自己计费。
184. Plugin Resource Scope
Plugin Resource 自动继承:
Organization
Project
Environment
User
例如:
seo.website
自动支持:
organizationId
projectId
environmentId
由 Resource/Scope Runtime 实现。
185. Plugin Multi-Tenant
Plugin 不允许自己:
tenant_id
重新实现多租户隔离逻辑。
应该使用:
ScopeProvider
统一注入。
186. Plugin Permission Discovery
Agent 搜索 Plugin Capability 时:
Capability
↓
Permission Check
↓
Scope Check
↓
Policy Check
↓
Availability
只有可用 Capability 才返回。
187. Plugin Installation Permission
安装 Plugin 本身属于高权限 Action:
system.plugin.install
升级:
system.plugin.upgrade
卸载:
system.plugin.uninstall
启停:
system.plugin.activate
system.plugin.disable
全部进入 Action Runtime。
188. Plugin Admin Permissions
建议:
system.plugin.read
system.plugin.install
system.plugin.activate
system.plugin.disable
system.plugin.upgrade
system.plugin.uninstall
system.plugin.configure
system.plugin.diagnostics
189. Plugin Config Permission
Plugin 配置:
plugin.seo.config.read
plugin.seo.config.write
Secret:
secret.read
严格分离。
190. Plugin UI Permission
Navigation 可以声明:
permission: "seo.website.read"
用户无权限:
隐藏
或者:
disabled
由 UI Shell 统一处理。
191. Plugin Version Matrix
系统必须能够展示:
Plugin:
acme.seo 2.4.0
DevOS:
2026.09
API:
2026-01
Dependencies:
github >=2.0
browser >=1.5
192. Plugin Compatibility Registry
统一:
CompatibilityRegistry
检查:
Core
Plugin
SDK
Resource
Action
Event
MCP
Skill
Config
与第 12 文档整合。
193. Plugin Diagnostics
插件异常时:
Plugin Diagnostics
输出:
Plugin Version
Runtime Version
API Version
Dependencies
Config Status
Provider Status
Credential Status
Migration Status
Worker Status
Queue Status
Event Status
Recent Errors
194. Plugin Export
可以导出:
Plugin Configuration
Plugin Metadata
Plugin Resources
Plugin Workflows
Plugin Skills
但:
Secret plaintext
绝对不能导出。
195. Plugin Import
导入:
Config
Workflow
Skill
Resource mapping
Secret:
重新绑定
而不是跨环境复制 Secret。
196. Plugin Backup
Backup 应覆盖:
Plugin Version
Plugin Config
Plugin Migration State
Plugin Data
Plugin Metadata
Secret:
只保存 Secret Reference
197. Plugin Disaster Recovery
恢复:
DevOS Core
↓
Plugin Lockfile
↓
Plugin Packages
↓
Database
↓
Plugin Migrations
↓
Config
↓
Provider Binding
↓
Health Check
198. Plugin Cold Start
系统启动:
Load Core
↓
Load Plugin Registry
↓
Resolve Dependencies
↓
Load Active Plugins
↓
Register Capabilities
↓
Start Workers
↓
Start Event Handlers
↓
Health Check
199. Plugin Startup Failure
如果某个 Plugin 启动失败:
Core
↓
继续启动
而不是:
一个 Plugin
↓
整个 DevOS 无法启动
除非 Manifest 声明:
requiredForBoot: true
这种能力应极少使用。
200. Core Plugin
有些基础能力可以采用 Plugin 形式:
Core Plugin
例如:
devos.github
devos.docker
虽然是官方 Plugin,但仍然遵守 Plugin Runtime。
201. Core 与 Official Plugin
区别:
Core
=
系统不可缺少基础设施
Official Plugin
=
官方维护的业务能力
例如:
Auth
Task
Storage
Event
属于 Core。
GitHub
Cloudflare
Docker
可以是 Official Plugin。
202. Plugin API Stability
Plugin API 应尽可能稳定。
推荐:
apiVersion = date/version
例如:
2026-01
Breaking Change:
2027-01
而不是频繁:
2026.01.01
2026.01.02
203. Plugin Deprecation
某个 API:
Action API v1
准备删除:
deprecated
生命周期:
active
↓
deprecated
↓
removed
至少提供:
warning
migration guide
replacement
204. Plugin Action Version
Plugin Action:
seo.website.scan@1
seo.website.scan@2
不要直接破坏旧 Action。
与第 12 文档统一。
205. Plugin Event Version
事件:
seo.scan.completed@1
seo.scan.completed@2
旧事件不能因为 Plugin 升级而改变 payload 语义。
206. Plugin Skill Version
Skill:
seo.audit@1
seo.audit@2
Agent Plan 必须记录 Skill Version。
207. Plugin MCP Version
MCP Capability:
seo.mcp@1
升级时:
Capability Registry
记录:
mcpVersion
208. Reproducibility
任何 Execution 都应该可以追溯:
DevOS Version
Plugin Version
Action Version
Skill Version
MCP Version
Config Version
Provider Version
与第 12、17、18 文档统一。
209. Plugin Execution Trace
例如:
User
↓
Agent Run
↓
Skill seo.audit@2
↓
Capability seo.website.scan@3
↓
Plugin acme.seo@2.4.0
↓
Task
↓
Job
↓
Execution
↓
Provider google@1
这才是完整可追踪链。
210. Plugin API Error Model
统一:
interface PluginError {
code: string
pluginId: string
pluginVersion: string
category:
| "configuration"
| "dependency"
| "provider"
| "runtime"
| "migration"
| "permission"
| "network"
retryable: boolean
}
211. Plugin Rate Control
Plugin 可以声明:
limits: {
maxConcurrentTasks: 10,
maxRequestsPerMinute: 100,
}
最终进入:
Task Runtime
Provider Runtime
RateLimit Runtime
212. Plugin Resource Group
例如:
seo.crawler
限制:
maxConcurrent = 5
用于:
CPU
Browser
External API
Server
统一资源组机制。
213. Plugin Backpressure
当:
SEO Task
大量增加:
10000 jobs
系统应该:
Queue
↓
Backpressure
↓
Concurrency Limit
↓
Provider Rate Limit
Plugin 不自己实现队列。
214. Plugin Cleanup Worker
Plugin 可以声明 Cleanup Job:
temporary crawl data
但仍然:
Scheduler
↓
Task
↓
Job
↓
Worker
215. Plugin Retention
Plugin 可以声明:
retention: {
crawlArtifacts: "30d",
logs: "7d"
}
实际执行由:
Retention Runtime
完成。
216. Plugin Event Replay
如果 Plugin 被禁用:
Event
可以:
replay
但必须检查:
version
schema
idempotency
217. Plugin Event Subscription Lifecycle
Plugin Activate
↓
Subscribe
↓
Active
Plugin Disable
↓
Unsubscribe
Plugin Upgrade
↓
Drain
↓
Update Handler
↓
Subscribe
218. Plugin MCP Lifecycle
Activate
↓
Register MCP
↓
Capability Available
Disable
↓
MCP Unavailable
外部 Client 看到:
capability unavailable
而不是:
500 random error
219. Plugin UI Lifecycle
Plugin Activate
↓
UI Registration
Plugin Disable
↓
UI Hidden
已经打开页面:
显示 Plugin Disabled
而不是整个 SPA 崩溃。
220. Plugin Data Lifecycle
Install
↓
Create/Sync
↓
Active
↓
Disable
↓
Data retained
↓
Uninstall
↓
Data retained or deleted by explicit policy
221. Plugin Package Lifecycle
Discover
↓
Download
↓
Verify
↓
Install
↓
Activate
↓
Upgrade
↓
Disable
↓
Uninstall
222. Plugin Runtime 与 Deployment
Plugin 最终应该能通过:
DevOS Deployment Runtime
部署。
例如:
Production
↓
devos.lock
↓
Plugin Packages
↓
Install
↓
Migrate
↓
Activate
保证环境一致。
223. Plugin CI/CD
CI:
lint
typecheck
test
contract test
build
package
checksum
signature
CD:
publish
↓
compatibility
↓
canary
↓
rollout
224. Plugin Build
建议:
devos plugin build
输出:
dist/
plugin.tgz
manifest.json
checksum
225. Plugin Publish
devos plugin publish
发布前自动:
validate
test
compatibility
security
package
sign
226. Plugin Quality Gate
生产发布必须至少:
TypeScript compile
Unit tests
Integration tests
Contract tests
Migration tests
Security scan
Dependency scan
Manifest validation
Compatibility validation
227. Plugin Acceptance Test
每个 Plugin 最少测试:
Manifest
ID
Version
API
Dependency
Runtime
Install
Activate
Disable
Upgrade
Uninstall
Resource
CRUD
Query
Permission
Scope
Action
Input
Output
Error
Retry
Audit
Config
Read
Write
Environment
Secret Reference
Event
Publish
Subscribe
Retry
Idempotency
Task
Create
Execute
Cancel
Retry
228. Plugin Security Acceptance
必须测试:
Unauthorized install
Unauthorized activate
Unauthorized config
Unauthorized action
Secret leakage
SSRF
Path traversal
Package tampering
Checksum mismatch
Signature mismatch
Dependency attack
229. Plugin Upgrade Acceptance
测试:
2.3 → 2.4
2.4 → 3.0
incompatible upgrade
migration failure
rollback
dependency conflict
running task
checksum mismatch
concurrent upgrade
230. Plugin Failure Acceptance
模拟:
Provider unavailable
Database unavailable
Queue unavailable
Migration failure
UI registration failure
Worker crash
Event handler crash
系统必须:
degrade gracefully
231. Plugin Agent Acceptance
测试:
Agent finds Plugin Capability
↓
Permission filtering
↓
Skill selection
↓
Action execution
↓
Task
↓
Execution
↓
Event
↓
Observation
232. Plugin MCP Acceptance
测试:
MCP Tool discovery
Permission
Scope
Action mapping
Execution
Error
Audit
233. Plugin UI Acceptance
测试:
Install
↓
Navigation appears
Disable
↓
Navigation disappears
Enable
↓
Navigation returns
以及:
permission denied
时正确隐藏/禁止。
234. Plugin Developer Experience
目标:
一个成熟开发者应该可以在几十分钟内写出一个基本 Plugin。
最少步骤:
devos plugin create hello
cd hello
devos plugin dev
定义:
Resource
Action
Page
即可看到:
UI
API
Agent Capability
235. Plugin 代码量目标
一个简单 CRUD Plugin:
Resource Schema
Action
Manifest
约:
100~300 lines
而不是:
Controller
Service
Repository
DTO
React Page
React Table
React Form
API Client
几千行。
236. Plugin Scaffold
推荐生成:
src/
├── manifest.ts
├── resources/
├── actions/
├── skills/
├── config/
├── ui/
└── index.ts
237. Plugin SDK Example
export const website = defineResource({
id: "seo.website",
fields: {
domain: {
type: "string",
required: true,
searchable: true,
},
status: {
type: "enum",
values: [
"active",
"paused",
],
},
},
actions: {
scan: defineAction({
id: "seo.website.scan",
input: z.object({
depth: z.number().max(10),
}),
handler: async (input, ctx) => {
// domain business logic
},
}),
},
})
238. Plugin Generic UI
只要定义:
fields
relations
actions
DevOS 自动:
Table
Form
Detail
Search
Filter
Actions
239. Plugin Custom UI
复杂业务:
SEO Site Audit Graph
Backlink Graph
Deployment Console
Container Logs
允许:
Custom React Component
但是数据访问仍:
DevOS API
240. Plugin UI SDK
建议:
@devos/plugin-ui
提供:
useResource()
useQuery()
useAction()
useTask()
useEvent()
useConfig()
useCapability()
useAgent()
241. Plugin Agent UI
Plugin 可以注册:
Agent Context Widget
例如:
用户正在查看:
example.com
Agent Context:
SEO Score 83
Issues 12
Backlinks 1200
Agent 可以直接使用当前 Resource Context。
242. Plugin Context Provider
UI:
Resource Detail
↓
Plugin Widget
↓
Context
↓
Agent
例如:
Agent:
分析这个网站
自动绑定:
resourceId = seo.website:123
243. Plugin Command Palette
Plugin 可以注册:
Scan Website
Analyze Keywords
Deploy Container
Restart Server
统一进入:
Action Registry
244. Plugin Global Search Provider
Plugin 可以声明:
searchProvider: {
resources: [
"seo.website",
"seo.keyword"
]
}
Global Search 自动索引。
245. Plugin Notification
Plugin 可以触发:
Notification
例如:
SEO Audit Completed
统一:
Notification Runtime
支持:
in-app
email
webhook
push
246. Plugin Webhook
Plugin 可以提供:
Webhook Endpoint
但必须通过:
Webhook Runtime
自动获得:
signature
retry
SSRF protection
audit
event
247. Plugin External Webhook
Plugin 也可以向外部发送:
Webhook Action
同样:
Provider
Event
Task
Action
统一执行。
248. Plugin Import/Export
Plugin 可以声明:
Import schema
Export schema
使用:
Import Runtime
Export Runtime
支持:
CSV
JSON
JSONL
Excel
249. Plugin Bulk Actions
例如:
100 websites
↓
Bulk Scan
必须:
1 Task
100 Jobs
而不是:
100 Agent Runs
250. Plugin Batch API
Action:
seo.website.bulkScan
内部:
Task
↓
Job Factory
↓
100 Jobs
↓
Queue
251. Plugin Performance
Plugin 不应该:
一次加载 10000 Resources
使用:
Query
Pagination
Cursor
Search
Batch
DataLoader
252. Plugin Query Security
Plugin Query 自动经过:
Permission
Scope
Field Permission
Cost Limit
Timeout
253. Plugin Cache Security
Cache Key 必须包含:
organization
project
environment
resource
防止:
Tenant A
↓
Cache
↓
Tenant B
数据泄漏。
254. Plugin Resource Naming
统一:
<plugin>.<resource>
例如:
github.repository
github.issue
docker.container
docker.image
seo.website
seo.keyword
255. Plugin Action Naming
统一:
<plugin>.<resource>.<verb>
例如:
github.repository.create
github.repository.sync
docker.container.restart
seo.website.scan
256. Plugin Event Naming
统一:
<plugin>.<resource>.<event>
例如:
seo.website.scanned
seo.audit.completed
github.repository.synced
257. Plugin Skill Naming
<plugin>.<skill>
例如:
seo.audit
seo.content.strategy
github.issue.triage
258. Plugin Workflow Naming
<plugin>.<workflow>
例如:
seo.full_audit
github.release
docker.deploy
259. Plugin MCP Naming
<plugin>.mcp
例如:
seo.mcp
github.mcp
260. Plugin Provider Naming
<plugin>.<provider>
例如:
github.api
cloudflare.api
261. Plugin Configuration Naming
plugin.<pluginId>.<key>
例如:
plugin.seo.crawler.maxDepth
plugin.seo.content.language
262. Plugin Permission Naming
<plugin>.<resource>.<action>
例如:
seo.website.read
seo.website.scan
seo.website.delete
263. Plugin UI Route Naming
推荐:
/<plugin>
/<plugin>/<resource>
例如:
/seo
/seo/websites
/seo/keywords
不要:
/plugin/acme.seo/page1
用户看到的应该是业务路径。
264. Plugin Internal Route
如果需要内部页面:
/_plugins/<pluginId>/...
可以保留,但不作为主要用户 URL。
265. Plugin API Namespace
业务 API:
/api/actions/seo.website.scan
或者:
/api/resources/seo.website
而不是每个 Plugin 自己:
/api/seo/*
这样统一 API Runtime。
266. Plugin Graph
DevOS 可以维护:
Plugin Graph
例如:
SEO
├── GitHub
├── Browser
├── OpenAI
└── Storage
用于:
Dependency
Capability
Health
Impact
Upgrade
267. Plugin Graph UI
Plugin Detail:
Dependencies
↓
SEO
↓
Capabilities
↓
Actions / Skills / MCP
非常适合诊断。
268. Plugin Marketplace 与 Dependency
Marketplace 安装:
SEO
自动显示:
Required:
Browser
Optional:
Ahrefs
OpenAI
GitHub
然后生成:
Install Plan
269. Install Plan
interface PluginInstallPlan {
plugins: PluginPlanItem[]
dependencies: DependencyChange[]
migrations: MigrationPlan[]
configChanges: ConfigChange[]
risks: Risk[]
warnings: string[]
}
270. Plugin Upgrade Plan
与第 12 文档:
UpgradePlan
统一。
不要建立第二个完全不同的 Upgrade Plan。
271. Plugin Runtime 与 Migration Runtime
Plugin Runtime:
负责什么时候升级
Migration Runtime:
负责怎么迁移
边界:
Plugin Runtime
↓
Migration Runtime
↓
Database
272. Plugin Runtime 与 Config Runtime
Plugin Runtime:
Plugin 生命周期
Config Runtime:
Plugin 配置
Plugin 只能:
ctx.config.get(...)
273. Plugin Runtime 与 Secret Runtime
Plugin Runtime:
生命周期
Secret Runtime:
Secret
Plugin 只能:
credential reference
而不是:
secret database
274. Plugin Runtime 与 Event Runtime
Plugin:
declare event
subscribe event
publish event
Event Runtime:
delivery
retry
ordering
replay
DLQ
275. Plugin Runtime 与 Task Runtime
Plugin:
create Task
Task Runtime:
Task → Job → Queue → Worker
276. Plugin Runtime 与 Agent Runtime
Plugin:
提供 Capability / Skill
Agent Runtime:
Goal → Plan → Execute
277. Plugin Runtime 与 UI Shell
Plugin:
注册 UI
UI Shell:
渲染 UI
导航
权限
布局
278. Plugin Runtime 与 Storage
Plugin:
File / Artifact
Storage:
Blob
279. Plugin Runtime 与 Data
Plugin:
Resource Schema
Data Runtime:
Query
Repository
Provider
280. Plugin Runtime 与 Search
Plugin:
Search Definition
Search Runtime:
Index
Query
Ranking
Embedding
281. Plugin Runtime 与 Observability
Plugin:
Logger
Metric
Trace
Audit
Observability:
collection
storage
query
dashboard
alert
282. Plugin API Golden Rule
任何 Plugin 对外暴露:
Resource
Action
Event
Capability
Skill
MCP
UI
必须注册到:
DevOS Registry
不能建立自己的:
parallel registry
283. Plugin Execution Golden Rule
所有执行:
Plugin Action
Plugin Worker
Plugin Workflow
Plugin MCP
Plugin Skill
Plugin Webhook
Plugin Scheduler
最终必须进入:
Action Runtime
或者:
Task Runtime
不能绕过。
284. Plugin Data Golden Rule
所有数据:
Plugin Resource
必须通过:
Data Runtime
所有 Blob:
Storage Runtime
所有 Secret:
Secret Runtime
285. Plugin Event Golden Rule
所有事件:
Plugin Event
必须进入:
Event Runtime
所有 Notification:
Notification Runtime
286. Plugin UI Golden Rule
Plugin UI:
Plugin UI
↓
UI Shell
↓
DevOS API
↓
Runtime
禁止:
Plugin UI
↓
Direct DB
287. Plugin Agent Golden Rule
Agent
↓
Capability Registry
↓
Plugin Capability
↓
Action Runtime
不要:
Agent
↓
Plugin internals
288. Plugin Security Golden Rule
Plugin:
Permission
Scope
Policy
Approval
必须继承 DevOS Security Runtime。
289. Plugin Version Golden Rule
任何 Plugin Execution 都必须记录:
pluginVersion
apiVersion
actionVersion
skillVersion
mcpVersion
configVersion
保证:
reproducibility
auditability
rollback
290. Plugin Architecture Final Diagram
最终完整结构:
┌──────────────────────┐
│ DevOS Core │
│ │
│ Identity │
│ Permission │
│ Resource │
│ Action │
│ Capability │
│ Task / Job / Queue │
│ Data / Search │
│ Storage │
│ Event │
│ Config / Secret │
│ Provider │
│ Observability │
│ UI Shell │
└──────────┬───────────┘
│
Plugin Runtime
│
┌──────────────────────┼─────────────────────┐
│ │ │
Plugin A Plugin B Plugin C
│ │ │
┌──────┼──────┐ ┌──────┼──────┐ ┌─────┼─────┐
│ │ │ │ │ │ │ │ │
Res Action Skill Res Action MCP Res Skill UI
│ │ │ │ │ │ │
└──────┴──────┴────────┴──────┴──────┴───────┘
│
Capability Registry
│
┌───────┴────────┐
│ │
Agent Human UI
│ │
└───────┬────────┘
│
Action Runtime
│
Task / Execution
│
Event
291. Zcode 必须实现的核心模块
Zcode 必须至少新增:
packages/plugin/core
packages/plugin/runtime
packages/plugin/registry
packages/plugin/loader
packages/plugin/installer
packages/plugin/resolver
packages/plugin/sdk
packages/plugin/security
packages/plugin/ui
如果 Marketplace 当前不做:
packages/plugin/marketplace
可以先预留接口。
292. Zcode 必须实现的数据库
至少:
plugins
plugin_versions
plugin_dependencies
plugin_installations
plugin_artifacts
plugin_migrations
plugin_health
plugin_locks
如果 Capability Registry 已有持久化模型,不重复创建 Capability 表。
293. Zcode 禁止新增的重复系统
禁止 Plugin Runtime 创建:
plugin_tasks
plugin_jobs
plugin_queue
plugin_events
plugin_notifications
plugin_users
plugin_roles
plugin_secrets
plugin_storage
plugin_search
plugin_scheduler
如果业务确实需要这些概念:
使用 DevOS Runtime
294. Zcode 实现优先级
P0
必须完成:
Plugin Manifest
Plugin Registry
Plugin Lifecycle
Plugin Install
Plugin Activate
Plugin Disable
Plugin Dependency
Plugin Version
Plugin Compatibility
Plugin Resource Registration
Plugin Action Registration
Plugin Capability Registration
Plugin Config Registration
Plugin Permission Registration
P1
然后:
Plugin UI
Plugin Skill
Plugin MCP
Plugin Event
Plugin Worker
Plugin Health
Plugin Migration
Plugin Upgrade
Plugin Uninstall
P2
最后:
Marketplace
Signature
Sandbox
Canary
Private Registry
Advanced Plugin Graph
295. Zcode 第一阶段验收
执行:
devos plugin create hello
应该生成 Plugin。
然后:
devos plugin build
devos plugin validate
devos plugin install
devos plugin enable
系统应该出现:
Plugin:
Hello
Status:
Active
296. Zcode 第二阶段验收
Plugin 定义:
Resource:
hello.message
Action:
hello.message.create
hello.message.delete
安装后自动得到:
Resource UI
Action API
Permission
Audit
Search
297. Zcode 第三阶段验收
Plugin 增加:
Skill:
hello.greeting
Agent:
Goal:
创建一条 Hello Message
Agent 必须自动发现:
hello.greeting
并调用:
hello.message.create
298. Zcode 第四阶段验收
Plugin 增加:
MCP
外部 MCP Client:
discover
↓
hello.message.create
↓
Action Runtime
必须成功。
299. Zcode 第五阶段验收
Plugin 增加:
Config
Provider
Secret
Event
Task
Worker
UI
全部必须仍然使用 DevOS Runtime。
300. Zcode 最终验收
完整 Plugin:
Install
↓
Dependency
↓
Compatibility
↓
Migration
↓
Register
↓
Config
↓
Provider
↓
Resource
↓
Action
↓
Skill
↓
MCP
↓
Event
↓
Worker
↓
UI
↓
Health
↓
Active
然后:
Upgrade
↓
Migration
↓
Health
↓
Active
最后:
Disable
↓
Uninstall
↓
Data Retained
整个生命周期必须可观测、可审计、可恢复。
301. 最重要的架构原则
DevOS 最终不是:
一个巨大的 Backend
也不是:
一个巨大的 Admin Panel
更不是:
一个 AI Chatbot
而是:
DevOS
│
┌──────────┴──────────┐
│ │
Platform Plugins
│ │
Runtime / Agent Domain Logic
│ │
└──────────┬──────────┘
│
Apps
302. Plugin 的最终定义
Plugin 是 DevOS 中可以独立安装、配置、授权、升级、禁用、卸载,并向 DevOS 注册 Resource、Action、Capability、Skill、MCP、Workflow、Event、Provider 和 UI 的领域扩展单元。
303. 最终 Golden Rule
PLUGIN
│
┌──────────────┼──────────────┐
│ │ │
Resource Action Capability
│ │ │
│ ↓ │
│ Action Runtime │
│ │ │
│ Task / Job │
│ │ │
└──────────────┼──────────────┘
│
DevOS Runtime
│
┌────────────────┼────────────────┐
│ │ │
Data Event Storage
│ │ │
Search Agent Notification
│ │ │
└────────────────┼────────────────┘
│
UI Shell
最终原则:
Plugin 提供业务能力
DevOS 提供运行时能力
Plugin 定义 What
Runtime 决定 How
Plugin 不拥有基础设施
Runtime 不拥有业务领域
Agent 使用 Capability
Human 使用 UI
MCP 使用 Gateway
但最终:
所有执行 → Action Runtime
所有异步 → Task Runtime
所有数据 → Data Runtime
所有文件 → Storage Runtime
所有事件 → Event Runtime
所有配置 → Config Runtime
所有 Secret → Secret Runtime
所有权限 → Security Runtime
所有观测 → Observability Runtime