Skip to content

智能体 ​

服务信息 ​

  • 服务名:agent
  • 说明:为ATRI-LK项目专门设计的智能体系统,提供AI聊天、记忆管理、用户画像、功能调用、技能查阅等能力
  • 限定权限:主人(MASTER)

命令列表 ​

  • /agent.reload:重新加载agent配置(主人)
  • /agent.总结记忆:总结所有用户的记忆(主人)

功能说明 ​

核心能力 ​

智能体系统为聊天插件(lkchat)提供底层AI能力支持:

  • 长期记忆:自动记住与用户的对话内容和重要信息
  • 用户画像:根据交互自动构建用户兴趣和偏好
  • 词语解释:支持自定义词语解释,AI聊天时会参考
  • 功能调用:支持网络搜索、图片识别、日程管理等功能
  • 技能:让智能体按需查阅玩法/操作说明文档
  • Token统计:统计模型调用的Token消耗,并给出缓存命中率与按计费配置估算的费用

记忆系统 ​

智能体具备长期记忆能力,可以记住与用户的对话内容和重要信息。记忆会自动总结并存储,在后续对话中可能会被引用。

  • 记忆会自动遗忘过旧的内容
  • 可以通过命令查看、删除或清空记忆
  • 记忆与用户ID绑定,不同用户的记忆相互独立
  • 使用 /agent.总结记忆 可以手动触发记忆总结任务

用户画像 ​

智能体会根据与用户的交互自动构建用户画像,包括用户的兴趣、偏好、性格特征等。

  • 画像会随着对话自动更新
  • 可以通过命令查看或重置画像
  • 画像用于个性化回复风格

功能调用 ​

智能体支持多种功能调用,包括:

  • 网络搜索:搜索实时信息
  • 图片识别:识别图片内容
  • 日程管理:管理亚托莉的日程安排
  • 表情发送:发送亚托莉表情包
  • 词语解释:解释特定词语或概念
  • 技能查询:列出可用技能并读取其正文

功能调用可以在 WebUI 的 智能体 →「功能调用」标签页里逐个开关,并查看每个功能的"环境可用性"(例如是否缺少 tool 类型模型)。详见 技能与功能调用配置。

其中 stop_thinking(结束本次思考)与 send_message(发送消息)是核心功能:它们维持对话闭环,标记为「核心」且开关恒为开、不可关闭。若在 agent_config.json 里手写把它们加进禁用列表,重载后会被自动剔除。

功能插件 ​

功能插件把若干技能与功能调用打包成一个整体,在 WebUI 的 智能体 →「功能插件」标签页里一键开关:

  • 插件关掉时,它名下的技能与功能调用同时失效(技能自己开着也没用);
  • 插件内的技能只能开关,不能新建、编辑、删除或设置内嵌;
  • 插件内的技能与功能调用不会出现在「技能」「功能调用」页,各自在插件页有独立的「启用」开关;
  • 插件内的功能调用可以单独关掉(不常用功能关掉后会从 call 的清单里消失);
  • 插件可以声明不常用功能调用:这类功能不进提示词,由智能体通过 call 按需调用,用法通常写在技能正文里。

内置插件目前只有 file_ops 一个:

插件技能功能调用
file_opsfile_ops(插件提供)get_dir_tree、read_file(均为不常用)

file_ops 是典型的"自查类"插件:查目录树与读文件只在智能体需要读代码/配置时用得上,平时不该占用每轮提示词,所以全部标为不常用,由 call 按需触发。关掉这个插件,两个功能与它的技能会一起停用。

它的技能正文放在插件自有目录 res/data/agent/function_plugins/file_ops/,不在通用技能目录里,因此技能页看不到它——完全由插件管理。

其它玩法说明(farm、fishing、checkin、chat_group)是普通内置技能,放在 res/data/agent/skills/,由技能系统直接扫描,在技能页可见、可开关,并不属于任何功能插件。

技能 ​

技能是给智能体查阅的玩法/操作说明文档(Markdown),避免把长说明塞进每轮提示词。

  • 内置技能随机器人分发,位于 res/data/agent/skills/,只读、不可删除;
  • 用户技能可通过 WebUI 新建,位于 data/plugins/agent/skills/;
  • 同名用户文件会覆盖内置,列表显示为"内置(已修改)",删除该用户文件即恢复内置正文;
  • 每个技能有两个独立开关:启用(决定能否被发现/查询)与内嵌(正文直接进入每轮提示词,且不可被查询)。

在 WebUI 的 智能体 →「技能」标签页可以完成查看、新建、编辑、恢复内置、删除与开关操作。详见 技能与功能调用配置。

模型管理 ​

智能体支持多个AI模型,可以根据需要切换:

  • 支持OpenAI兼容接口
  • 支持Gemini接口
  • 支持自定义模型提供商
  • 可以为不同任务配置不同模型(chat/tool/image/embedding/tts)
  • 可以为模型配置计费单价(pricing,元/1M tokens),用于 Token 用量页的费用估算
  • 模型输入输出会单独记录在 data/logs/llm,日志文件直接放在该目录下,每次启动新建一份,滚动保留最近 3 次启动的日志,单文件最大 10MB

配置说明 ​

智能体的配置文件位于 data/config/plugins/agent_config.json:

  • max_history:最大历史消息数(默认30,包含Agent自己发送的消息)
  • max_thinking_times:最大思考次数(默认20)
  • search:网络搜索配置
    • enable:是否启用搜索
    • provider:搜索提供商(如tavily)
    • api_key:搜索API密钥
  • function_calling_disable:被禁用的功能调用名列表(建议用 WebUI 操作;stop_thinking / send_message 写进去也会被自动剔除)
  • function_plugin_disable:被禁用的功能插件名列表(建议用 WebUI 操作)
  • skills_disable:被禁用的技能名列表(建议用 WebUI 操作)
  • skills_embed:内嵌进提示词的技能名列表(建议用 WebUI 操作)

后四项只记录例外(关闭的功能插件/功能/技能、内嵌的技能),清空即恢复默认。开关状态重启后依然生效。

模型配置位于 data/config/system/provider.yml,可以配置多个模型提供商和模型。

注意事项 ​

  • 智能体需要配置至少一个可用的聊天模型才能正常工作
  • 记忆和画像功能会消耗额外的API调用
  • 功能调用需要相应的模型支持(如工具调用模型)
  • 建议根据实际需求调整记忆保留数量,过多会增加上下文长度
  • 模型输入输出日志位于 data/logs/llm,包含完整的提示词与回复,注意不要随意外发
  • 关闭 list_skills 会让智能体无法得知任何非内嵌技能,除有意外请保持开启
  • 内嵌技能会让正文每轮进入提示词,只适合短小的强制规范类内容

Released under the CC-BY-SA-4.0 License.