Skip to content

Zhin.js跨平台 IM 机器人框架

TypeScript 原生 · 插件热重载 · 20+ 平台一套代码 · 可选 AI Agent(<10MB IM 核心)

Zhin

为什么选择 Zhin.js?

对标 KarinKoishiNapCatQQ 等成熟方案,Zhin.js 的文档与产品叙事同样遵循 先价值、后细节

叙事层次成熟产品常见做法Zhin.js 对应
首屏一句话定位 + 主 CTA本页 Hero:跨平台框架 +「5 分钟上手」
第二屏3~6 个利益点卡片上方 Features:多端、热重载、体积、AI、Console、Harness
第三屏可复制的一条命令下方「快速开始」代码块
深入阅读分路径文档,不一次倾倒学习路径 L1→L4

若你只想 先跑起来:跟 快速开始 走到底即可,不必先读架构。若你要 接 QQ / NapCat:见 平台适配器生态


快速开始

bash
npm create zhin-app my-bot -y
cd my-bot && pnpm dev

启动后打开 console.zhin.dev,API Base 填 http://127.0.0.1:8086,Token 与 .envHTTP_TOKEN 一致,在 Sandbox 发送 hello

入口适合谁下一步
demo.zhin.dev零安装体验直接发 hello / card
npm create zhin-app独立项目5 分钟首跑
minimal-bot贡献者调试monorepo 内 pnpm dev

三步上手

1 · 创建

脚手架生成 IM-only 黄金路径:Sandbox + Host API + Remote Console,默认不要求 云模型 Key。

2 · 连接 Console

Host 监听 8086(仅 API,无内置网页 UI)。Remote Console 负责聊天预览与配置。

3 · 发出第一条消息

Sandbox 发送 hello 收到回复即成功;再试 card 查看 JSX 卡片示例。

继续:安装与首条插件 →


10 行代码,一个能用的机器人

typescript
import { usePlugin, MessageCommand } from 'zhin.js'

const { addCommand } = usePlugin()

addCommand(
  new MessageCommand('hello').desc('打招呼').action(() => '你好!我是 Zhin.js 机器人 🤖'),
)

保存后热重载生效。在 Sandbox 或已接入的平台发送 hello 即可收到回复。完整插件流程见 插件开发


专为开发者打造

说明文档
TypeScript 原生命令参数、Adapter、AI 工具有完整类型提示核心概念
消息链路单一出口出站统一经 Message.$reply / Adapter.sendMessage消息如何流转
分层安装IM / AI / Provider / MCP 分档,控制 node_modules 体积Install tiers
可观测与排错zhin doctor、内容链 stage 日志、L4 验收脚本疑难排查

平台与生态

IM 平台Sandbox · ICQQ / QQ · NapCat · Discord · Telegram · 飞书 · 全部适配器 →

工具与扩展插件市场 · CLI 参考 · Remote Console · 演练场

框架贡献贡献指南 · 架构深读 · ADR 索引