2 releases
Uses new Rust 2024
| new 0.1.1 | Nov 29, 2025 |
|---|---|
| 0.1.0 | Nov 29, 2025 |
#107 in Simulation
130KB
3K
SLoC
kovi-plugin-mimicry
Kovi 的拟人化潜伏智能体插件 (Project Ghost)。 它不是一个只会回答问题的助手,而是一个拥有独立人格、记忆、情绪和生物钟的"群友"。
特性
- 🧠 海马体记忆系统 - 基于 SQLite Vector 的 RAG 长期记忆,铭记交互细节与梗
- 💓 生物稳态系统 - 模拟生物钟、精力值与情绪惯性,会睡觉、会累、会摸鱼
- ⚡ 决策中枢 - 综合关系、兴趣、提及度决定是否回复,拒绝做一个由问必答的机器人
- 🗣️ 拟人化表达 - 自动注入瑕疵(错别字)、口癖,去除 AI 味,支持分段发送
- 👁️ 洞察分析 - 每日夜间自动分析群聊记录,生成记忆并更新用户画像
- 🛡️ 安全与伪装 - 自动检测复读、Bot 识别回避、敏感话题过滤
前置
- 创建 Kovi 项目
- 执行
cargo kovi add mimicry - 强烈建议 安装
kovi-plugin-msg-logger以启用每日群聊分析与日报生成功能
快速开始
- 运行插件,生成默认配置文件
data/kovi-plugin-mimicry/config.toml - 编辑配置文件,设置
api_key和identity(人设) - 重启 Bot,它将开始在群内潜伏,积累记忆并在适当时候发言
⚠️ 注意:Mimicry 默认设计为"潜伏者",它可能不会立即回复你的每一句话,除非你提及它或触发了它感兴趣的话题。
核心机制
记忆与学习
- 短期记忆:基于 Token 窗口的上下文
- 长期记忆:通过 Embedding 存入向量数据库,包含事实、观点和经历
- 梗学习:自动识别群内复读的梗并记录,适当时候会使用
决策逻辑
不是所有的消息都会触发回复。Bot 会计算一个 Score:
Score = 提及权重 + 话题兴趣 + 关系亲密度 + 随机冲动 + 情绪状态
只有分数超过阈值时,它才会开口。
生物节律
Bot 拥有作息时间。
- 睡眠状态:几乎不回复,只会偶尔被吵醒
- 活跃状态:回复率提升,主动性提升
- 疲劳状态:回复简短,不想说话
配置
资源目录:data/kovi-plugin-mimicry/config.toml
config.toml - 核心配置
[identity]
name = "小兰"
age = "大学生"
occupation = "摸鱼达人"
self_perception = "我是一个普通群友,说话随意,不喜欢长篇大论"
[personality]
traits = ["话少", "毒舌", "宅"]
interests = ["游戏", "动漫", "编程"]
verbal_tics = ["确实", "草", "6"]
max_chunk_length = 35 # 模拟短句发送
[llm]
api_base = "https://api.openai.com/v1"
api_key = "sk-xxxx"
primary_model = "gpt-4o"
embedding_model = "text-embedding-3-small"
[strategies]
# FriendsOnly: 仅回复好友 / Normal: 回复所有人 / Ignore: 不回私聊
private_chat_mode = "FriendsOnly"
active_speech_rate = 0.08 # 主动发言频率
常见问题
Q: 为什么艾特它不回话?
A: 可能它在"睡觉",或者对你的话题不感兴趣,亦或是"社交能量"耗尽了。检查日志可以看到 Decision: Score=... 的判定过程。
Q: 如何让它更活跃?
A: 在配置文件中提高 active_speech_rate,或降低 decision 部分的 reply_threshold。
致谢
- Kovi
- Rig (LLM Framework)
- sqlite-vec
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~75MB
~1M SLoC