Plugin
插件
什么是 Downcity 插件,以及它如何扩展 Agent 能力
插件
插件(Plugin) 是在 Agent 运行时扩展其能力的模块。插件让 Agent SDK 无需修改核心执行引擎,就能接入外部系统、工具、渠道和工作流。
插件能做什么
- 向 Agent 暴露可调用的工具
- 接入 Agent 生命周期(启动、停止、会话事件)
- 管理自己的状态、连接和后台任务
- 在 Agent 进程边界内运行,不作为独立服务
内置插件
Downcity 内置了多个插件,覆盖常见的 Agent 需求:
- Chat — 连接聊天渠道(Telegram、飞书、QQ 等)
- Task — 调度和运行后台任务
- Memory — 持久化会话历史和上下文
- Contact — 管理用户联系人列表
- Shell — 在沙箱环境中执行本地命令
- Schedule — 类 Cron 的作业调度
- Web — 浏览网页并提取内容
- Skill — 组合可复用的工具链
编写插件
插件是实现了 Plugin API 的普通 TypeScript 类:
import { definePlugin } from "@downcity/agent-plugin";
export default definePlugin({
id: "my-plugin",
name: "My Plugin",
version: "1.0.0",
async init(context) {
// 生命周期钩子:Agent 启动时调用
},
async destroy(context) {
// 生命周期钩子:Agent 停止时调用
},
tools: [
{
id: "myTool",
description: "做一件有用的事",
async handler(args) {
return { result: "done" };
},
},
],
});继续阅读
- Agent Plugins Docs — 内置插件手册和示例
- Agent SDK — 如何在代码中注册和使用插件