# 服务器插件 规范地址:https://xstavern.com/wiki/for-contributors/server-plugins/ 原文:https://sillytaverncn.net/for-contributors/server-plugins/ 核对日期:2026-11-03 授权迁移,保留作者、上游许可与出处。 服务器插件 # 服务器插件 服务器插件是一种扩展 SillyTavern 服务器功能的方式。它们可以添加新的 API 端点、处理程序和其他功能。 ## 创建插件 1. 在 `plugins` 目录中创建一个新目录。目录名称将成为插件的名称。 2. 在插件目录中创建一个 `index.js` 文件。这是插件的入口点。 3. 在 `index.js` 中导出一个包含以下方法的对象: ```javascript module.exports = { // 在服务器启动时调用 async init(app) { // app 是 Express 应用程序实例 // 在这里添加您的路由和中间件 }, // 在服务器关闭时调用 async stop() { // 在这里清理资源 } } ``` ## 示例插件 ```javascript const express = require('express'); module.exports = { async init(app) { // 创建一个新的路由器 const router = express.Router(); // 添加一个新的 API 端点 router.get('/hello', (req, res) => { res.json({ message: 'Hello from plugin!' }); }); // 将路由器挂载到 /api/plugins/[plugin-name] app.use('/api/plugins/example', router); }, async stop() { // 清理代码 } } ``` ## 启用插件 要启用插件,请在 `config.yaml` 中添加以下内容: ```yaml plugins: # 插件目录的名称 - example ``` ## 插件 API 插件可以访问以下 API: - `app` - Express 应用程序实例 - `express` - Express 模块 - `config` - 服务器配置对象 - `jsonwebtoken` - JWT 模块,用于身份验证 - `path` - Node.js path 模块 - `fs` - Node.js fs 模块 - `logger` - Winston 日志记录器实例 许可与致谢:https://xstavern.com/wiki/licensecredits/