Zhin.js 是什么?
Zhin.js 是一个 TypeScript 聊天机器人框架。你可以用它:
- 写一个机器人,同时跑在 QQ、Discord、Telegram、飞书、钉钉、Slack、KOOK、邮件等 20+ 平台
- 给机器人接入 AI(OpenAI、Ollama、DeepSeek 等),让它能理解自然语言、调用工具、执行任务
- 通过插件扩展功能:命令、定时任务、数据库、Web 控制台
它能做什么?
| 场景 | 说明 |
|---|---|
| 多平台客服机器人 | 一套回复逻辑,QQ 群和 Discord 服务器同时用 |
| AI 助手 | 接入大模型,支持多轮对话、工具调用、文件分析 |
| 群管理工具 | 入群验证、关键词过滤、定时公告、签到统计 |
| 开发运维机器人 | 监控报警、CI/CD 通知、远程执行命令 |
| 个人效率工具 | RSS 推送、日程提醒、天气查询、翻译 |
和其他方案有什么不同?
| Zhin.js | Koishi | 从零写 bot | |
|---|---|---|---|
| 多平台 | 20+ 平台统一 API | 主打 QQ 生态 | 每个平台单独写 |
| AI 集成 | 内置 Agent 编排、工具调用、安全沙箱 | 需要插件 | 自己实现 |
| TypeScript | 原生 TS,完整类型推导 | JS 为主 | 看你怎么写 |
| 热重载 | 保存即生效,自动回滚 | 支持 | 自己实现 |
| 插件生态 | 官方 20 个适配器 + 工具插件 | 丰富 | 无 |
适合谁?
- 想快速做一个能跑的机器人——脚手架 7 步向导,5 分钟出成品
- 需要同时覆盖多个平台——写一次代码,所有平台通用
- 想给机器人加 AI 能力——内置 Agent 编排,不用自己对接大模型 API
- 用 TypeScript 开发——完整类型提示,IDE 补全
两个安装层级
Zhin.js 有两种安装方式,按需选择:
| 层级 | 包 | 大小 | 能力 |
|---|---|---|---|
| IM 核心 | zhin.js | <10 MB | 多平台收发消息、命令、插件、热重载 |
| AI Agent | zhin.js + @zhin.js/agent | +AI 依赖 | 多模型编排、工具调用、会话管理、安全沙箱 |
大多数场景装 IM 核心就够了。需要 AI 时再加装 Agent 层。