来提交你的插件吧!
有疑问?来看看呗!

插件详情

astrbot_plugin_dzmm

DZMM聊天插件,适配了DZMM返回的格式,并避免与AstrBot的模型混用,可用特别命令唤起DZMM的模型进行"有趣生动"的互动聊天。

版本v1.1.0
作者VincentHo
Star16
更新2025/12/26

插件说明

:name

astrbot_plugin_dzmm

DZMM聊天插件,支持上下文对话和自定义配置。默认使用dzmm的免费试用模型nalang-turbo-v23,能每天50条消息。

DZMM是什么?

DZMM(网址:dzmm.ai)是一个中文AI角色扮演平台,融合先进AI技术与创意写作,旨在为用户提供沉浸式的角色互动体验。

它旗下所自研的模型:Nalang针对角色扮演进行优化,有如下优点:

  • ✅ 中文优化好:对中文语境理解优于多数开源模型,适合角色扮演类场景。
  • ✅ 长记忆能力:支持较长上下文对话,保持人设稳定。
  • ✅ 情绪表达自然:角色语气丰富,情绪细腻,适合沉浸式对话。
  • ✅ 训练在国内语料上:对网络流行语、常见角色设定接受度高。
  • ✅ 可以进行一些不可描述的互动(你懂的)。

🔔 它旗下的 nalang-turbo-v23(已经作废) nalang-turbo-0826 模型有每天免费额度,可以每天50条消息。

使用效果图:

使用效果图

功能特点

  • 🤖 支持与AI进行自然对话
  • 💬 维持聊天上下文,支持连续对话
  • 👥 智能用户隔离,支持群聊共享上下文和私聊独立上下文
  • 🏷️ 昵称识别,在群聊中显示用户昵称,帮助AI区分不同用户
  • 🎭 多角色支持,可配置多个系统提示词并随时切换
  • 🔑 多API密钥支持,可配置多个API密钥并随时切换
  • 🔄 自动密钥切换,当API密钥使用次数超限时自动切换到其他可用密钥
  • ⚙️ 丰富的配置选项,支持自定义系统提示词
  • 🔧 支持多种AI模型和参数调节

配置说明

必须配置 (重要)

API密钥配置 (api_keys)

api_key是用于访问DZMM模型的重要配置,支持多个key配置,采用json格式配置,例子如下:

{
  "default": "your-primary-key-here",
  "backup": "your-backup-key-here",
  "premium": "your-premium-key-here"
}

🔔 注意:key请在DZMM官网获取,获取界面在“充值”-“API”中

多角色配置 (personas)

在astrbot配置界面中,personas字段应该填入JSON字符串:

{
  "default": "你是一个有帮助的AI助手。",
  "programmer": "你是一个专业的程序员,擅长解决编程问题和代码优化。",
  "teacher": "你是一个耐心的老师,善于用简单易懂的方式解释复杂概念。",
  "translator": "你是一个专业的翻译,能够准确翻译各种语言。",
  "creative": "你是一个富有创意的作家,善于创作故事和文案。"
}

🔔 可以参考项目中的sample_persona.json,里面有我写好的一些角色卡,感兴趣的可以直接拿来用。

可选配置

  • system_prompt: 系统提示词,默认为"你是一个有帮助的AI助手。"
  • context_length: 上下文消息数量,默认为10条
  • api_url: API接口地址,默认为gpt4novel接口
  • model: 使用的模型,默认为"nalang-turbo-v23"
  • temperature: 温度参数(0-1),控制回复的随机性,默认0.7
  • max_tokens: 最大token数,默认800
  • top_p: Top-p参数(0-1),默认0.35
  • repetition_penalty: 重复惩罚系数,默认1.05
  • show_nickname: 在群聊中发送给AI时显示用户昵称,默认true
  • group_shared_context: 群聊共享上下文,默认true
  • max_failures_before_switch: 自动切换API密钥的失败阈值,默认3次
  • max_failures_before_switch: 自动切换API密钥的失败阈值,默认3次

主动消息配置(仅支持私聊)

插件支持主动回复功能,当你超过一定时间一直没有找你的AI男/女友后,ta就会主动发信息找你。

配置项

  • enable_auto_trigger: 是否启用主动回复功能,默认为false
  • auto_trigger_interval: 主动回复的时间间隔,默认为1440分钟(即24小时)
  • auto_trigger_message: 自动触发时发送给ai的消息,默认为"(注:由于我很久没跟你说话,你开始寂寞,你主动找我...)"
  • auto_trigger_whitelist: 自动触发时的白名单,默认为空列表(仅支持私聊)

使用方法

基本命令

  • /dzmm [内容] - 与AI聊天
  • /dzmm help - 显示帮助信息
  • /dzmm clear - 清除当前用户的聊天上下文

角色管理命令

  • /dzmm_personas - 列出所有可用角色
  • /dzmm_persona [角色名] - 切换到指定角色
  • /dzmm_status - 显示当前使用的角色和API密钥状态

API密钥管理命令

  • /dzmm_keyls - 列出所有API密钥及其使用状态
  • /dzmm_key [密钥名] - 切换到指定的API密钥
  • /dzmm_resetkeys - 重置所有API密钥的失败计数
  • /dzmm_clear - 清除聊天上下文(与 /dzmm clear 相同)

使用示例

# 基本聊天
/dzmm 你好,请介绍一下自己
/dzmm 刚才我们聊了什么?

# 角色切换
/dzmm_personas                    # 查看所有角色
/dzmm_persona programmer          # 切换到程序员角色
/dzmm 帮我写一个Python函数

# API密钥切换
/dzmm_keyls                       # 查看所有API密钥及状态
/dzmm_key backup                  # 切换到备用密钥
/dzmm_resetkeys                   # 重置密钥失败计数

# 状态查看和清理
/dzmm_status                      # 查看当前状态
/dzmm_clear                       # 清除聊天上下文

特性说明

多角色支持

  • 支持配置多个命名的系统提示词(角色)
  • 每个用户可以独立切换使用的角色
  • 切换角色时会自动清除聊天上下文,避免角色混乱

多API密钥支持

  • 支持配置多个命名的API密钥
  • 每个用户可以独立切换使用的API密钥
  • 支持在不同密钥之间无缝切换
  • 自动故障转移:当API密钥使用次数超限或出现错误时,自动切换到下一个可用密钥
  • 智能重试机制:系统会自动检测密钥状态,避免重复使用失效的密钥
  • 透明切换:自动切换过程对用户完全透明,无需手动干预
  • 定时重置:每天凌晨1点自动重置所有密钥的失败计数,确保系统长期稳定运行

智能用户隔离

插件支持两种上下文管理模式:

群聊模式

  • 共享上下文(默认):群内所有成员共享同一个聊天上下文,AI能够理解群聊的完整对话流程
  • 独立上下文:每个群成员都有独立的上下文,适合需要隐私保护的场景
  • 昵称识别:AI能够通过 [昵称]: 消息内容 的格式区分不同的发言者

私聊模式

  • 每个用户都有完全独立的聊天上下文
  • 不显示昵称信息,保持简洁的对话体验

配置选项

  • group_shared_context: 控制群聊是否共享上下文(默认true)
  • show_nickname: 控制是否在群聊中发送给AI时显示用户昵称(默认true)

上下文管理

  • 自动维护指定数量的历史消息
  • 超出限制时自动清理最旧的消息
  • 支持手动清除上下文

错误处理

  • API密钥未配置时会给出明确提示
  • 智能错误检测:自动识别API密钥相关错误(使用次数超限、认证失败等)
  • 自动故障转移:检测到密钥错误时自动切换到下一个可用密钥
  • 失败计数管理:跟踪每个密钥的失败次数,避免重复使用失效密钥
  • 定时重置机制:每天凌晨1点自动重置所有密钥的失败计数
  • 网络错误时会自动重试
  • 详细的错误日志记录

安装说明

手动安装

  1. 将插件文件放置到astrbot的插件目录
  2. 在astrbot配置中启用插件
  3. 配置API密钥和其他参数
  4. 重启astrbot

界面安装

在astrbot的Web管理界面中,进入"插件市场"页面,搜索"astrbot_plugin_dzmm",点击安装按钮即可完成安装。

快速配置

  • api_keys: {"default": "你的主要密钥", "backup": "你的备用密钥"}
  • personas: {"default": "你是一个有帮助的AI助手。", "programmer": "你是一个专业的程序员。"}

💡 提示:可以使用 config_helper.py 工具生成正确的JSON配置字符串

注意事项

  • 请确保API密钥有效且有足够的额度
  • 上下文长度设置过大可能会增加API调用成本
  • 建议根据实际需求调整温度和其他参数
  • 插件已包含command装饰器的兼容性处理,支持不同版本的astrbot

版本历史

  • v1.1.0: 新增主动回复功能
    • 🤖 当你超过一定时间一直没有找你的AI男/女友后,ta就会主动发信息找你
  • v1.0.4: 新增持久化功能
    • 💾 增加对聊天上下文持久化的功能,可以确保机器重启或者插件重新加载时不丢失原有聊天上下文
  • v1.0.3: 新增自动API密钥切换功能
    • 🔄 智能检测API密钥使用次数超限和认证错误
    • 🔀 自动切换到下一个可用的API密钥,对用户透明
    • 📊 增强 /dzmm_keyls 命令,显示密钥状态和失败次数
    • 🔧 新增密钥失败计数重置命令 /dzmm_resetkeys
    • ⏰ 新增定时任务,每天凌晨1点自动重置失败计数
    • ⚙️ 可配置自动切换的失败阈值
    • 🛡️ 增强错误处理和故障转移机制
  • v1.0.2: 新增智能用户隔离和昵称识别功能
    • 👥 支持群聊共享上下文和私聊独立上下文
    • 🏷️ 在群聊中显示用户昵称,帮助AI区分不同用户
    • ⚙️ 新增配置选项控制群聊模式和昵称显示
    • 📊 增强状态显示,显示聊天模式和昵称状态
  • v1.0.1: 新增多角色和多API密钥支持
    • ✨ 支持多个系统提示词配置,可随时切换角色
    • 🔑 支持多个API密钥配置,可随时切换密钥
    • 📋 新增状态查看命令,显示当前使用的角色和密钥
    • 🔄 保持向后兼容,支持旧版本配置格式
  • v1.0.0: 初始版本,支持基本聊天和上下文管理

许可证

MIT License

AstrBot LogoAstrBot 插件市场社区

AstrBot 插件市场 是一个开放的插件分享平台,欢迎开发者们贡献优质插件。本站致力于为 AstrBot 用户提供高质量扩展,帮助您快速找到喜欢的插件,并鼓励社区伙伴分享使用心得、提出改进建议。

相关链接

官方项目主站 官方插件市场 官方项目仓库 侧边展示主站

开发相关

插件开发文档 快速提交插件 官方项目文档

© 2026 AstrBot 插件市场 Made with by Community