🌟
插件化架构
热插拔插件系统,支持命令、组件、中间件统一管理 Web 控制台实时监控、插件管理、日志查看
# 🚀 一键创建项目(交互式)
npm create zhin-app my-bot
# 🎯 或者快速开始(跳过配置)
npm create zhin-app my-bot -- --yes
# 📁 进入项目并启动
cd my-bot && npm run dev
# 💬 在控制台输入消息立即测试!
> hello world
< 你好!欢迎使用革命性的 zhin-next 框架!
// 🌟 多重依赖自动协调
useContext('database', 'http', 'cache', (db, http, cache) => {
// 框架确保所有依赖就绪后才执行
// 支持异步初始化和循环依赖检测
})
// 🔥 Context 变更时自动重新注入
register({
name: 'my-service',
mounted: () => new MyService(),
dispose: (service) => service.cleanup() // 优雅清理
})
// 📦 统一的服务注册
register({ name: 'database', mounted: () => new Database() })
register({ name: 'cache', mounted: () => new Cache() })
// 🎯 声明式依赖使用
useContext('database', 'cache', (db, cache) => {
// 业务逻辑与框架解耦
})
{
"recommendations": [
"ms-vscode.vscode-typescript-next",
"zhinjs.vscode-extension"
]
}
访问 http://localhost:3000
体验(开发环境):
// 🚀 多平台客服机器人
useContext('database', 'telegram', 'discord', 'qq', (db, tg, dc, qq) => {
// 统一的客服逻辑,支持所有平台
const tickets = db.model('tickets')
// 跨平台消息路由
addCommand(new Command('ticket')
.action(async (msg) => {
const ticket = await tickets.create({
platform: msg.$adapter,
user: msg.$sender.id,
content: msg.raw
})
return `工单 #${ticket.id} 已创建`
}))
})
// 🎯 MMORPG 公会管理
useContext('database', 'cache', 'scheduler', (db, cache, sched) => {
const guilds = db.model('guilds')
// 定时任务
sched.cron('0 20 * * *', async () => {
const raids = await guilds.findActiveRaids()
raids.forEach(raid => notifyMembers(raid))
})
})
// 🧠 集成 ChatGPT
useContext('openai', 'database', (ai, db) => {
addCommand(new Command('ask <question>')
.action(async (msg, result) => {
const response = await ai.chat({
messages: [{ role: 'user', content: result.args.question }]
})
// 对话历史存储
await db.model('conversations').create({
user: msg.$sender.id,
question: result.args.question,
answer: response.content
})
return response.content
}))
})
💡 Tip: zhin-next 不仅仅是一个机器人框架,更是现代软件架构设计的艺术品。它将企业级的可靠性、学术级的创新性和工程级的实用性完美结合!
🎖️ zhin-next - 重新定义机器人开发标准