聊天功能概述
AmritaBot 的聊天功能以 AmritaCore 作为 Agent 引擎,提供了从基础对话到高级工具调用和 MCP 集成的完整能力。
核心设计
- 会话上下文隔离:每个私聊/群聊拥有独立且互不干扰的上下文(Session),多轮对话自动维护上下文窗口
- 流式输出:所有 LLM 响应均为流式输出(可在
llm.stream中关闭),实时逐字呈现 - 厂商无关适配器:支持 OpenAI、Anthropic 等协议,以及任意兼容 OpenAI API 的模型
- 会话超时归档:启用
session.session_control后,会话在设定时间内无活动即自动归档,可通过"继续"恢复历史上下文 - 模型预设系统:通过 JSON 预设文件管理多套模型配置,支持运行时切换与测试,主模型不可用时自动切换备份预设
- 内容安全:内置内容审查(可配置严格程度)、提示词 Cookie 反注入检测、额度限制
- 并发控制:支持单队列/排队等多种会话处理模式,避免多请求互相干扰
功能特性
基础对话
- 多轮对话上下文管理(文字、@、合并转发消息段解析)
- 对话历史记忆与自动压缩
- 个性化提示词与模型预设
- 私聊与群聊独立开关、群聊开关指令
高级对话
- 上下文感知对话与 Cookie 反注入安全检测
- 会话归档与恢复(Session)、上下文摘要压缩
- 多模态输入支持
- 概率性自动回复与切句回复(拟人化)
管理指令
| 指令 | 权限 | 用途 |
|---|---|---|
/model | lp.admin | 查看、切换、测试模型预设 |
/prompt | 群管理 | 设置自定义提示词、切换模板 |
/session | 群管理 | 会话信息、历史、压缩与记忆管理 |
/chat | 群管理 | 开启/关闭聊天与自动回复 |
/debug | lp.admin | 调试模式开关 |
/insights | 所有用户 | 查看今日 AI 用量统计 |
/mcp | lp.admin | 管理 MCP 服务器 |
/chatobj | 群管理 | 查看/终止会话进程 |
工具调用 (Agent & Tools)
- 自动工具发现与注册
- Agent 模式(循环推理-行动-观察,支持
react普通循环与step-reactStep 驱动循环两种工作流) - 权限控制集成
- MCP(Model Context Protocol)客户端支持
- Skills 技能接入(faskill,Anthropic Agent Skills 兼容)
事件交互
- 戳一戳回复
- 撤回消息后的随机回复
- 入群欢迎消息
使用场景
- 客服机器人: 自动回答常见问题,转接复杂问题给人工
- 技术支持: 系统状态查询、故障诊断、自动化修复
- 个人助理: 日程管理、信息查询、任务执行
- 教育助手: 知识问答、学习指导、练习批改
