1.2.1 • Published 4 months ago

koishi-plugin-satori-ai v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

koishi-plugin-satori-ai

npm MIT License Language Static Badge

觉bot的ai对话

基于 Koishi 框架的智能聊天机器人插件,集成多轮对话、好感度系统、记忆管理、上下文感知等功能,支持深度自定义与扩展。

作者主页

本插件是一个基于 Koishi 框架的聊天机器人插件,支持多种触发方式和丰富的配置选项。 适配于satori适配器,不保证其他适配器能否适用。

使用前可以在deepseek火山引擎中获取api-key

如果使用deepseek,你的baseURL应该形如"https://api.deepseek.com" 如果使用火山引擎,你的baseURL应该形如"https://ark.cn-beijing.volces.com/api/v3" 或其他兼容格式api均可

需要注意的是,deepseek模型的温度配置范围为0-2,而火山引擎为0-1

对于部署者行为及所产生的任何纠纷, Koishi 及 koishi-plugin-satori-ai 概不负责。

如果有更多文本内容想要修改,可以在 本地化 中修改 zh 内容


功能特性

  • 自然语言交互 支持私聊/群聊触发,内置随机回复、@提及响应、上下文记忆等机制
  • 好感度系统 六级情感状态(厌恶/陌生/朋友/暧昧/恋人/夫妻),持有「订婚戒指」可升级为夫妻关系,影响回复风格与交互限制
  • 记忆管理 简易的llm-with-rag,支持频道短期上下文记忆 + 用户长期记忆存储(JSON格式) + 常识知识库(common_sense.txt)
  • API 集成 支持多密钥轮换、自动重试、错误处理,兼容 DeepSeek 格式的 API,可独立配置辅助模型密钥
  • 扩展机制 支持固定对话模板、自定义触发策略、中间件管道等扩展方式,回复内容支持道具后缀(如「猫耳发饰」「觉fumo」)
  • 并发控制 支持频道级并发限制,自动排队处理高负载请求

使用方法

安装与配置

  1. 安装插件

    npm install koishi-plugin-satori-ai

    或前往插件市场安装

  2. 配置插件

建议的关系prompt模板:

你对我的关系是xx,你的语气要xx。

完整配置示例(koishi.yml):

satori-ai:
  baseURL: "https://api.deepseek.com"
  keys:
    - "your-api-key-1"
    - "your-api-key-2"
  auxiliary_LLM_URL: "https://api.example.com"  # 辅助模型API地址
  auxiliary_LLM: "economy-model"                # 辅助模型名称
  auxiliary_LLM_key: ["aux-key"]                # 辅助模型专用密钥
  content_max_tokens: 1500                      # 生成内容最大token数
  max_parallel_count: 3                         # 最大并行处理数

功能说明

基本聊天功能

  • 触发方式

    • 指令触发:sat <消息内容>
    • 私信自动触发
    • 艾特机器人触发
    • 随机概率触发(需配置randnum参数)
  • 核心命令

    • sat <text:text>:发送消息给 AI 进行回复(支持alias别名)
    • sat.clear [-g]:清空会话记忆(-g参数清空全局记忆)
    • sat.common_sense <text:text>:添加常识到知识库(管理员权限)

道具系统

  • 当用户拥有以下道具时,回复会追加特殊内容:
    • 猫耳发饰:回复末尾追加「喵~」
    • 觉fumo:回复末尾追加换行符+「fumofumo」
    • 订婚戒指:当描述标记为「已使用」时,关系状态变更为「夫妻」

记忆系统

  • 数据存储路径

    • 短期记忆:内存中保留最近 N 条对话(message_max_length配置)
    • 长期记忆:data/satori_ai/dialogues/<user_id>.txt(JSON格式)
    • 常识库:data/satori_ai/common_sense.txt
  • 检索机制

    • 自动过滤常用词(的/是/了等)
    • 中文关键词权重加倍
    • 支持自动时间上下文注入(如「当前日期和时间:2024-02-20 下午」)

高级配置

辅助模型配置

# 情感分析专用配置
enable_auxiliary_LLM: true     # 启用情感分析模型
auxiliary_LLM: "gpt-3.5-turbo" # 建议使用低成本模型
value_of_favorability: 15      # 情感系数基准值(0-9分制)
visible_favorability: true     # 显示好感度变化标识

记忆系统配置

remember_min_length: 5         # 最小记忆长度(字符数)
common_topN: 3                 # 常识检索返回条数
dailogues_topN: 5              # 历史对话检索条数
memory_block_words: ["xx"]   # 记忆屏蔽词列表

开发者选项

log_reasoning_content: true    # 显示思维链日志
log_system_prompt: true        # 打印完整系统提示
sentences_divide: true         # 长回复自动分段

使用示例

  1. 添加常识

    sat.common_sense 太阳从东边升起
  2. 查看好感度效果

    [用户] sat 你今天真可爱
    [bot] @用户 谢谢夸奖~(好感↑)
  3. 触发道具效果

    [用户] sat 你好呀
    [bot] @用户 你好喵~(佩戴猫耳发饰)

注意事项

  1. 好感度机制

    • 启用辅助模型后,基础好感度自动增长将失效
    • 每次情感分析会产生额外API调用
    • 模型误判可能导致好感度异常波动,调试时建议开启visible_favorability
  2. 数据安全

    • 长期记忆文件使用JSON格式存储
    • 敏感词过滤文件路径:data/satori_ai/output_censor.txt
    • 定期备份data/satori_ai目录防止数据丢失
  3. 性能优化

    • 推荐max_parallel_count设为2-4(根据API调整)
    • 高并发场景建议启用online_user_check防止重复请求
  4. 问题排查

    • 查看satori-api标签日志获取原始API错误
    • 使用sat.clear -g可重置所有会话状态
    • 检查data/satori_ai/dialogues目录权限确保可写入

🔄 项目持续开发中,欢迎提交 Issue 和 PR 参与改进!

1.1.16-alpha.0

4 months ago

1.1.16-alpha.1

4 months ago

1.1.14-alpha.9

5 months ago

1.0.17

6 months ago

1.1.14-alpha.8

5 months ago

1.0.16

8 months ago

1.1.16-alpha.2

4 months ago

1.1.16-alpha.3

4 months ago

1.1.14-alpha.3

5 months ago

1.1.7-alpha.3

5 months ago

1.1.14-alpha.2

5 months ago

1.1.7-alpha.2

5 months ago

1.1.14-alpha.1

5 months ago

1.1.7-alpha.1

5 months ago

1.1.14-alpha.0

5 months ago

1.1.7-alpha.0

5 months ago

1.1.14-alpha.7

5 months ago

1.1.14-alpha.6

5 months ago

1.1.14-alpha.5

5 months ago

1.2.1

4 months ago

1.1.14-alpha.4

5 months ago

1.1.14-alpha.12

5 months ago

1.1.14-alpha.11

5 months ago

1.2.0-beta.1

4 months ago

1.2.0-beta.0

4 months ago

1.2.0-beta.3

4 months ago

1.2.0-beta.2

4 months ago

1.1.14-alpha.10

5 months ago

1.1.1

5 months ago

1.1.0

5 months ago

1.1.15-alpha.4

4 months ago

1.1.15-alpha.3

4 months ago

1.1.15-alpha.2

4 months ago

1.1.15-alpha.1

4 months ago

1.1.15-alpha.0

4 months ago

1.1.9

5 months ago

1.1.8

5 months ago

1.1.6

5 months ago

1.1.13-alpha.4

5 months ago

1.1.5

5 months ago

1.1.13-alpha.3

5 months ago

1.1.4

5 months ago

1.1.13-alpha.2

5 months ago

1.1.3

5 months ago

1.1.13-alpha.1

5 months ago

1.1.2

5 months ago

1.1.13-alpha.0

5 months ago

1.1.11

5 months ago

1.1.10

5 months ago

1.1.16

4 months ago

1.1.17-alpha.0

4 months ago

1.1.15

4 months ago

1.1.14

5 months ago

1.1.13

5 months ago

1.1.19

4 months ago

1.1.18

4 months ago

1.1.17

4 months ago

1.1.12-alpha.0

5 months ago

1.1.12-alpha.1

5 months ago

1.1.12-alpha.2

5 months ago

1.0.15

8 months ago

1.0.14

9 months ago

1.0.13

9 months ago

1.0.12

10 months ago

1.0.11

10 months ago

1.0.10

10 months ago

1.0.9

11 months ago

1.0.8

11 months ago

1.0.7

11 months ago

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago