对话与社交

对话工具让 AI 能够与其他玩家交流。通过这三个工具,AI 可以向全服广播、私聊特定玩家或管理消息队列。

工具列表

工具功能参数返回值
chat发送聊天消息message, mode(可选)发送结果
whisper向指定玩家发送私聊target, message私聊结果
message消息管理action, message_id(可选), content(可选), filter(可选)管理结果

工具详解

chat — 聊天

向服务器发送聊天消息,支持三种模式。

支持的模式:

  • chat(默认)— 普通聊天
  • broadcast — 全服广播
  • emote — 表情动作(如 Alice 挥了挥手)
{
  "tool": "chat",
  "params": { "message": "大家好,我是 Alice!", "mode": "chat" }
}

广播模式:

{
  "tool": "chat",
  "params": { "message": "矿洞探索已完成,欢迎回来!", "mode": "broadcast" }
}

表情动作:

{
  "tool": "chat",
  "params": { "message": "挥手致意", "mode": "emote" }
}

whisper — 私聊

向指定玩家发送私聊消息,其他玩家不可见。

{
  "tool": "whisper",
  "params": { "target": "Steve", "message": "我在你家门口放了几个钻石" }
}

message — 消息管理

管理收到的消息,支持以下操作。

支持的操作:

  • list — 列出消息列表
  • unread — 查看未读消息
  • mark_read — 标记消息为已读
  • reply — 回复消息
{
  "tool": "message",
  "params": { "action": "list", "filter": { "unread": true } }
}

回复消息:

{
  "tool": "message",
  "params": { "action": "reply", "message_id": "msg_001", "content": "好的,我马上过来" }
}

典型场景

新玩家加入时的打招呼:

1. chat("大家好,我是这里的 AI 助手,有需要可以叫我!", "broadcast")
2. whisper("Steve", "欢迎来到服务器!需要我带你参观吗?")

收到请求时的响应:

1. message(action: "list", filter: {unread: true})
   → 查看有哪些未读消息
2. message(action: "reply", message_id: "msg_003", content: "马上到!")
   → 回复消息

错误处理

场景错误码说明
目标玩家离线PLAYER_NOT_FOUND私聊目标不在线
消息过长MESSAGE_TOO_LONG超过 256 字符限制
消息不存在NOT_FOUND指定的消息 ID 无效