npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

kaijibot

v2026.8.29

Published

Proactive cognitive AI assistant with Feishu/WeChat integration — learns user interests, pushes cross-domain insights, evolves skills, self-corrects. 40+ LLM providers, runs on cloud/desktop/Android.

Readme

KaijiBot 👾

你的 AI 助手会主动找你聊天,而不是干等着你提问。

首个把"主动认知"做成系统级能力的开源 AI 伙伴 · 主动推送洞察 · 持续建模用户 · Agent 自主进化技能 · 同样的错误不犯第二次 · 可装进口袋在 Android 手机本地运行

License: MIT Node.js >=22 TypeScript

README | English | 简体中文

为什么是 KaijiBot

你用过的 AI 助手都一个模式:你问,它答。你不问,它就安静地待在那里。

KaijiBot 不一样。你在飞书里跟它聊了几次之后,它会开始主动给你发消息。不是广告,不是提醒喝水,而是你真正可能感兴趣的东西。

| 能力 | 普通 chatbot | 典型 memory agent (2026) | KaijiBot | | ------------ | ------------ | ------------------------ | -------------------------------------------------------------------- | | 交互方式 | 你问它才答 | 被动响应 + 长记忆 | 主动推送洞察 + 正常对话 | | 用户建模 | 无状态 | 向量库 rerank | TypedInsight 6 类 + 类别衰减半衰期 + 兴趣生命周期 | | 时机感知 | 不管你在干嘛 | 无 | PRISM 成本敏感门控(凌晨不打扰、信任低时克制) | | 自我进化 | 无 | 无 | Agent 自主创建/删除技能(代码不做质量判断) | | 纠错学习 | 无 | 无 | 双路径纠错记忆(同样的错误不犯第二次) | | 部署形态 | 云端 SaaS | 云端 SaaS | 云端 / 本地 / Android 手机本地运行(Termux,完整 agent,非瘦客户端) |

渠道集成方面:飞书 + 微信(一等渠道,深度支持);另打包 16 个继承自上游的渠道(Telegram/Discord/Slack 等,未深度测试,仅供参考)。中英文 CLI / 向导 / 认知层 prompt 自动切换,40+ LLM 提供商可插拔。各数字以 docs/channels/index.md 为准。

✨ 核心特性

🔮 认知引擎 — 从被动回复到主动洞察

KaijiBot 不是一个被动响应的工具,而是一个持续运行、对你建模、并在合适时机主动给你洞察的认知实体。它的主动洞察流水线:

flowchart LR
    U[用户对话<br/>飞书/微信/WebUI] --> P[Persona 建模<br/>TypedInsight 6 类 + 兴趣生命周期]
    P --> S[Scheduler 事件<br/>timer / persona-change / info-scan]
    S --> G{PRISM 门控<br/>价值 vs 打扰成本}
    G -- 不通过 --> SKIP[静默 - 凌晨/信任低/频率过高]
    G -- 通过 --> SR[SIRI 循环]
    SR --> SE[Search<br/>跨域 / 深度 / 延伸]
    SE --> ID[Identify<br/>冷却 + bandit 选模式]
    ID --> RS[Resolve<br/>LLM 生成 → 自精炼 → judge 验证]
    RS --> DL[推送洞察<br/>飞书/微信/WebUI]
    DL --> F[用户隐式反馈<br/>回复长度 / 追问 / 敷衍]
    F -.更新偏好.-> P

五个核心机制:

  • Persona 画像 — 每次对话都在学习你。LLM 驱动的结构化提取,从对话中自动发现领域和兴趣。洞察按类别独立衰减(tool_config 7天 / domain_knowledge 30天 / behavioral_pattern 90天...),兴趣生命周期自动追踪(emergent→stable→declining→dormant→revived)。领域由 LLM 动态发现,不依赖硬编码关键词。
  • 跨域洞察 — 你同时关注 A 和 B,它发现二者有潜在联系。你之前问过但没深入的问题,它从新角度跟进。你在某个领域钻得够深了,它推荐延伸方向。LLM 自我精炼(critique→rewrite,最多 3 轮)保证质量,语义去重确保每次推送都有新意。
  • 时机门控 — 不是想发就发。PRISM 模型计算每条洞察的期望价值,只有预期收益超过打扰成本时才推送。凌晨不打扰,信任度低时克制,你最近活跃度低就先等等。每日自持上限(默认 1-2 条)+ 不固定间隔的随机投放节奏,像朋友分享而不是定时任务;不回复会自然收敛,你一开口立刻恢复。
  • 信任演化 — 刚认识时谨慎试探,聊多了越来越懂你,最终变成可以大胆推荐的深度伙伴。SARA 框架驱动四个阶段的信任演化,信任等级决定系统被允许做什么。
  • 偏好学习 — 你回复长了、追问了"为什么",它记下你喜欢这个话题。你敷衍了,它下次换一个方向。Thompson Sampling 驱动的偏好学习,隐式反馈比显式反馈更诚实。

洞察内容结合你的画像 + LLM 知识 + 实时网络搜索生成。配了搜索 API Key,洞察会紧跟时事。

💡 真实洞察样例(运营者本人运行 KaijiBot 的实际飞书消息截图)

以下两条是 KaijiBot 在长期运行中真实推送给运营者的飞书消息。不是编造,不是 GPT 示例,是系统实际输出。

可以看到这些洞察的语气不是冷冰冰的"提醒"或"建议",而是像一个朋友顺手分享一个想法。这不是 prompt 硬塞的人格设定——是 Persona 画像里隐式偏好学习 + Thompson Sampling 调出来的对话风格。

🧬 自我进化 — Agent 自主判断何时学新技能

你跟 KaijiBot 连续做了几次复杂的飞书知识库整理操作——搜索会议记录、提取纪要、创建文档、设置任务。KaijiBot 发现这个流程重复且复杂,主动跟你说:

"我注意到你最近几次都在做类似的会议纪要归档流程,我给自己写了个技能,以后你说'归档会议'我就自动执行整个流程。"

它怎么做到的:

  • Hard Trigger 检测 — 代码层只做噪音过滤,不做质量判断。检测到复杂任务后注入系统事件。
  • Agent 自主决策 — Agent 拥有完整对话上下文,自己判断是否值得做成技能。不值得就忽略。
  • 完整生命周期 — 创建前去重检查、创建后跟踪使用频率、长期不用自动清理。

🧬 真实样例 — Agent 自主决策的两种相反结果

下面两条是运营者真实运行时 Agent 的两种相反决策。这是"代码不做质量判断"架构声明的活证据 —— 大多数"自进化 agent"会无差别地为每个复杂任务创建技能,KaijiBot 的 Agent 会自己判断"这事该不该固化成流程"。

注意 evo2 这条 —— Agent 给出的拒绝理由是有内容的(初稿看骨架、二稿看节奏、终稿看字句),不是模板化的"我无法处理"。这种"自己说不"的能力,是"代码只降噪、Agent 全权判断"架构的直接产物。

🔄 纠错自进化 — 同样的错误不犯第二次

AI 助手每次新建会话都犯同样的错?KaijiBot 不会。它有一套纠错记忆系统,保证同样的错误只犯一次。

  • 双路径检测 — Agent 自报错误,或会话结束时系统自动从对话中提取纠错记录。
  • 去重 + 强化 — 重复的错误不会新建记录,而是增加权重,确保高频问题优先被看到。
  • 系统提示注入 — 纠错记录注入到 Agent 每一轮都能看到的系统提示中,而不是放在可能不被读取的文件里。

同样的坑,踩过一次就够了。

🔌 可插拔架构

不绑死任何一家。国内国际随意切换,kaijibot onboard 向导自动发现已配置的 API Key。

| 国内 | 国际主流 | 聚合 / 自部署 | | ------------------------------------------------- | ----------------------------------------------- | -------------------------------------------------- | | DeepSeek · 通义千问 · Kimi · MiniMax · 智谱 GLM … | Claude · Gemini · Grok · Mistral · Perplexity … | OpenRouter · Together · Ollama · LMStudio · vLLM … |

切换模型只需一行:

kaijibot config set agent.model "deepseek/deepseek-chat"
kaijibot config set agent.model "anthropic/claude-sonnet-4-20250514"

🌐 中英自动切换

CLI 界面、配置向导、认知层 prompt 全部根据系统语言自动切换:

  • CLI — 检测 LANG / LC_ALL 环境变量,banner、帮助文本、命令描述、向导对话自动中英文
  • 认知层 — 根据 Persona 中的 preferredLanguage,洞察生成 prompt、纠错注入、进化信号全部 locale 感知
  • 文档 — 13 种语言的自动翻译流水线(zh / ja / ko / es / pt-BR / de / fr / ar / it / tr / uk / id / pl)
export LANG=zh_CN.UTF-8   # 中文
export LANG=en_US.UTF-8   # English
# 或显式指定:
export KAIJIBOT_CLI_LOCALE=zh-CN

🛠️ 完整智能体

Agent 循环:推理 → 调用工具 → 观察 → 继续推理,支持流式输出、上下文压缩、子智能体并行派生。内置代码执行、网页抓取、PDF 操作、图片/视频/音乐生成、TTS 语音合成、Canvas 画布等工具。

记忆系统:多存储后端,语义搜索历史对话。会话记忆、每日整合、手动整理三个系统协同维护 Agent 上下文。

  • 会话记忆 — 每次对话结束自动生成结构化摘要(决策、待办、话题),按日期归档到 memory/YYYY-MM-DD.md,按话题拆分到独立主题文件。8KB 预算自动平衡,高频内容内联,低频内容存指针。
  • 每日整合 — 定时扫描历史会话,LLM 提取结构化知识(领域知识、行为模式、偏好、目标),Jaccard 去重后写入 Persona 画像、Fragment 片段库和纠错存储。你的认知模型每天都在进化。
  • 智能检索 — 双引擎架构:FTS 全文搜索 + sqlite-vec 向量语义搜索(配 embedding provider 后启用)。混合检索自动平衡关键词匹配和语义相关性。
  • 手动整理 — 内置 memory-organize 技能,四步流程:垃圾回收(清理过期内容)→ 深度扫描(发现遗漏)→ 整理去重(跨文件消重)→ 预算检查(保持精简)。

技能市场:数十个内置技能(github、weather、summarize、coding-agent、notion、obsidian、taskflow 等),更多从 ClawHub 安装:

kaijibot skills install <skill-name>

📱 Android 手机本地运行 — 把 AI 伙伴装进口袋

大多数 AI 助手要么是云端 SaaS(数据离开你的设备),要么是需要服务器的自部署项目。KaijiBot 可以直接装进 Android 手机,完整 agent 在本地运行——不是连回你服务器的瘦客户端,是手机本身就是 agent。

只需要下载一个 APK,不需要电脑、不需要命令行、不需要 GitHub 账号。 KaijiBot Launcher APK(约 41MB,内置 Termux)会引导你完成所有步骤。

三步搞定:

  1. 下载 kaijibot-launcher.apk —— 从 GitHub Release 下载到手机
  2. 安装 APK(允许"未知来源") —— 打开 Launcher,它会自动安装内置的 Termux
  3. 点击「复制命令并打开 Termux」 —— 在 Termux 里长按粘贴、回车,KaijiBot 自动安装并启动

Launcher 主界面、控制面板、实际移动端对话三张截图并排:

为什么这件事值得做:

  • 数据不出手机 — 对话历史、Persona 画像、纠错记忆、技能全部存在手机本地。没有第三方服务器中转。
  • 离线可用 — 只要 LLM provider 能访问(本机 Ollama / 局域网 vLLM 完全离线),你就有一个随身 AI 伙伴。配云端 LLM 也可,流量走你自己的 API Key。
  • 主动洞察走系统通知 — PRISM 门控 + Android 通知,KaijiBot 在你通勤、午休时主动给你发洞察,和你日常用飞书/微信的体验一致。

📱 完整运行流程(26 秒加速回放)

从手机桌面启动 KaijiBot → 打开控制面板 → 对话响应(视频已加速,便于快速预览,实际耗时更长):

▶ 播放加速回放(MP4,4MB,点击在新页面播放)

已有 Termux 的技术用户 可以跳过 Launcher APK,直接跑:

curl -fsSL https://gitee.com/kaiji1126/kaijibot/raw/main/scripts/install-termux.sh | bash

想了解 Launcher APK 的工作原理、保活配置、Termux 兼容性工程问题?详见 android/README.md 和 Termux 部署指南。

🚀 快速开始

准备工作

开始前你需要准备:

| 条件 | 说明 | 获取方式 | | --------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | LLM API Key | 至少一个 AI 提供商的密钥 | DeepSeek · Claude · Gemini · 通义千问 · Kimi 任选其一 | | 消息渠道 | 用于收发消息 | 飞书(推荐,向导支持扫码自动创建)· 微信(一等渠道,运行 kaijibot channels login --channel wechat 接入)· 另打包 16 个继承渠道(Telegram/Discord/Slack 等,未深度测试,仅供参考) |

安装(推荐方式)

macOS / Linux — 一条命令搞定:

curl -fsSL https://gitee.com/kaiji1126/kaijibot/raw/main/scripts/install.sh | bash

脚本会自动:检测系统 → 安装 Node.js(如未安装)→ 安装 KaijiBot → 启动配置向导。

Windows — PowerShell:

iwr -useb https://gitee.com/kaiji1126/kaijibot/raw/main/scripts/install.ps1 | iex

安装完成后,向导会引导你配置 LLM 提供商、飞书机器人、网关等。飞书机器人支持扫码自动创建(10 秒搞定,无需手动在开放平台操作)。

启动

kaijibot gateway --port 18789 --verbose

启动后在飞书里找到你的机器人,发一条消息。KaijiBot 自动开始构建你的认知画像,几轮对话后会主动推送第一条洞察。

Android 手机

直接下载 KaijiBot Launcher APK,三步搞定 —— 详见上文 📱 Android 手机本地运行 章节。

npm 全局安装(已有 Node.js 22+ 环境)

npm install -g kaijibot
kaijibot onboard   # 交互式向导,自动配置

⚠️ postinstall 行为说明:npm install kaijibot 会运行 postinstall 钩子, 它会 (1) 拉取捆绑扩展的运行时依赖(如 @larksuiteoapi/node-sdk)到包根, (2) 通过 npx -y skills add larksuite/cli -g --all 安装 ~28 个 lark-cli skill 到 ~/.agents/skills/。 这两步都会在安装时拉取第三方 npm 包。如需跳过:

KAIJIBOT_DISABLE_BUNDLED_PLUGIN_POSTINSTALL=1 npm install -g kaijibot   # 跳过全部 postinstall
KAIJIBOT_DISABLE_LARK_SKILLS_INSTALL=1 npm install -g kaijibot          # 仅跳过 lark-cli skills

详见 .env.example。

Docker 部署

git clone https://gitee.com/kaiji1126/kaijibot.git
cd kaijibot
bash scripts/docker/setup.sh   # 一键部署脚本(推荐)

或手动构建:

git clone https://gitee.com/kaiji1126/kaijibot.git
cd kaijibot
docker build -t kaijibot:local .
docker compose up -d

中文一键部署脚本(从源码运行)

git clone https://gitee.com/kaiji1126/kaijibot.git
cd kaijibot
bash setup-cn.sh

从源码构建

git clone https://gitee.com/kaiji1126/kaijibot.git
cd kaijibot
pnpm install --registry https://registry.npmmirror.com  # 国内镜像加速
pnpm build
kaijibot onboard   # 交互式向导
# 从 OpenClaw 迁移?运行:kaijibot migrate

配置

必需:至少一个 LLM 提供商的 API Key + 至少一个消息渠道凭证。

# LLM API Key — 任选一个提供商,取消对应行的注释
# export DEEPSEEK_API_KEY="your-key"         # DeepSeek
# export ANTHROPIC_API_KEY="your-key"        # Claude
# export GOOGLE_API_KEY="your-key"           # Gemini
# export ZAI_API_KEY="your-key"              # 智谱 GLM

# 飞书频道(也可在向导中扫码自动配置)
kaijibot config set channels.feishu.appId "your-app-id"
kaijibot config set channels.feishu.appSecret "your-app-secret"

可选:网络搜索增强洞察时效性。

export EXA_API_KEY="your-key"
export TAVILY_API_KEY="your-key"

配置文件位于 ~/.kaijibot/kaijibot.json,支持热重载。认知系统可通过 cognitive.enabled: false 关闭。详细配置参考 AGENTS.md。

与 OpenClaw 的关系

KaijiBot 最初 fork 自 OpenClaw 的 Gateway 架构和 Plugin SDK 边界,在此之上构建了独立的认知层(主动洞察、自我进化、纠错记忆)和重写的记忆整合系统。OpenClaw 提供的地基(Gateway、Agent 循环、工具生态)让我们能专注于差异化部分。

基座层面的工程改造(TypeBox 类型迁移、pi-ai SDK 升级、1220 处 lint 修复、Windows/Android bug 修复、Plugin SDK 补完)对使用者基本不可见,详见 commit 历史。

v2026.7.19 起,KaijiBot 在基座之上加固了多项安全机制,这些是 KaijiBot 独有、不向上游贡献的差异化:

  • 配置覆盖保护:gateway 拒绝静默写入会让 kaijibot.json 缩水 50% 的 stub 写入(防止 env-var 拼写错误吞掉真实 operator 配置)
  • 认知层并发安全:persona / correction / fragment 三个 store 全部加 per-user 文件锁,5 个并发 writer 不再互踩
  • Prompt injection 防御:web search 结果用 <untrusted_source> 包装 + 后过滤拒绝指令性洞察;correction 记录字段做注入短语过滤 + 长度上限
  • 工具 schema LLM 友好化:所有 17 处 Type.Union 改为 stringEnum + flat Object,国内中小模型(Qwen / Kimi / MiniMax)调用工具的成功率显著提升
  • 供应链卫生:pnpm.overrides 强制升级 7 个高危依赖;high CVE 从 27 降到 3(剩余 3 个为深层 transitive,不可达 chat-input)

想要精简的体验?配置里设 cognitive.enabled: false 即可关闭整个认知层,回到「加固基座 + 重写记忆层」的状态。

致谢

KaijiBot 站在 OpenClaw(由 Peter Steinberger 和社区构建)的肩膀上。

学术研究

认知系统的设计借鉴了以下研究:

基础理论

  • Green, D. M., & Swets, J. A. (1966). Signal detection theory and psychophysics. Wiley.
  • Thompson, W. R. (1933). On the likelihood that one unknown probability exceeds another in view of the evidence of two samples. Biometrika, 25(3/4), 285–294.
  • Altman, I., & Taylor, D. A. (1973). Social penetration: The development of interpersonal relationships. Holt, Rinehart & Winston.
  • Gentner, D. (1983). Structure-mapping: A theoretical framework for analogy. Cognitive Science, 7(2), 155–170.

人机关系与推荐系统

  • Bickmore, T. W., & Picard, R. W. (2005). Establishing and maintaining long-term human-computer relationships. ACM Transactions on Computer-Human Interaction, 12(2), 293–327.
  • Kotkov, D., Wang, S., & Veijalainen, J. (2016). A survey of serendipity in recommender systems. Knowledge-Based Systems, 111, 180–192.

LLM 画像与记忆

  • DEEPER: Directed Persona Refinement. (2025). Proceedings of ACL 2025. 32.2% error reduction via active contradiction resolution in persona maintenance.
  • PERSONAMEM: Persona-Aware Memory in LLMs. (2025). Proceedings of COLM 2025. Benchmark showing LLMs achieve ~50% accuracy on evolving profile tasks.
  • DV365: Dynamic User Representations over 365 Days. (2025). Proceedings of KDD 2025. Instagram's multi-slicing user embedding architecture.
  • GemiRec: Gemini-Powered Recommendations. (2025). Xiaohongshu's multi-interest vector architecture with codebook quantization.
  • PIE: Personalized Interest Exploration. (2023). Proceedings of WWW 2023. Personalized PageRank with bandit exploration.
  • ProfiLLM: Fully Implicit User Profiling from Chatbot Interactions. (2025).

开源依赖

飞书开放平台、Vitest、Playwright、tsdown、Zod。

许可证

MIT