活动追踪 (allay)
allay 扩展包提供一个心跳驱动的 AI 助手——小悦(Allay),她会定期观察服务器动态,主动发起庆祝、挑战、氛围互动等活动,让服务器充满活力。
扩展包
allay 是内置扩展包,需要将 arkpilot-allay.jar 放入 plugins/ArkPilot/expansions/ 目录。
工作原理
心跳系统
小悦通过心跳机制运作:每隔固定时间自动唤醒,执行以下流程:
心跳触发 → 检查在线玩家 → 查询活动数据 → LLM 决策 → 执行互动(或保持沉默)每次心跳的决策流程:
- 信息收集:调用工具查看在线玩家和活动数据
- 决策:根据活动数据选择行动或保持沉默
- 执行:通过广播、私聊、命令等方式与玩家互动
- 记忆:记录本次行为,避免重复
平衡设计
约 60% 的心跳会产生行动,40% 保持沉默。小悦会根据在线玩家数量自适应调整行为强度。
活动追踪
扩展包会监听以下游戏事件,实时记录玩家活动:
| 事件类型 | 说明 |
|---|---|
| 方块破坏/放置 | 统计破坏和放置的方块数量 |
| 聊天消息 | 统计发送的消息数量 |
| 玩家死亡 | 记录死亡原因 |
| 成就完成 | 记录获得的成就(排除配方) |
| 加入/离开 | 记录在线时长 |
| 击杀生物 | 记录击杀的生物类型 |
活动数据保留在内存中,滑动窗口为 1 小时,每 5 分钟自动清理过期数据。
事件类型
小悦可能发起的互动类型:
| 类型 | 触发条件 | 举例 |
|---|---|---|
| 庆祝 | 玩家获得成就、击杀连胜 | 广播祝贺、烟火音效、粒子特效 |
| 挑战 | 多玩家在线、近期无活动 | "第一个找到钻石的人赢得吹嘘权!" |
| 氛围 | 时间/天气变化 | 环境评论、天气特效 |
| 私人关怀 | 玩家离线后回归、死亡连胜 | 私聊欢迎、鼓励 |
| 惊喜 | 随机(低概率) | 鸡雨、粒子秀 |
助手配置
助手配置位于 plugins/ArkPilot/expansions/allay/assistants/allay/config.yml(首次加载自动生成):
yaml
enabled: true
id: allay
name: "小悦"
description: "悦灵,通过心跳定期观察服务器动态,主动发起活动"
model:
primary: "" # 使用全局默认模型
temperature: 0.9 # 较高创意度
heartbeat:
enabled: true # 启用心跳
intervalSeconds: 300 # 心跳间隔(秒),默认 5 分钟
tools:
load:
- execute-command
- broadcast-message
- send-player-message
- list-online-players
- query-player-activity # allay 扩展包提供
- query-server-activity # allay 扩展包提供参数调优
| 参数 | 建议 | 说明 |
|---|---|---|
heartbeat.intervalSeconds | 180-600 | 值越小互动越频繁,300 是推荐值 |
model.temperature | 0.7-1.0 | 值越高回复越有创意 |
命令白名单
小悦的 execute_command 限制在装饰性命令:
yaml
executeCommand:
whitelist:
- effect # 状态效果
- title # 标题显示
- playsound # 播放音效
- weather # 天气控制
- time # 时间控制
- particle # 粒子效果
- summon # 召唤生物
blockChaining: true工具列表
allay 扩展包注册了两个工具,可供任何助手使用:
query_player_activity
查询指定玩家的近期活动。
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
player_name | string | 是 | 玩家名 |
period_minutes | integer | 否 | 时间窗口(分钟),默认 30,最大 60 |
query_server_activity
查询全服活动概览,显示所有有活动的玩家及其近期行为。
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
period_minutes | integer | 否 | 时间窗口(分钟),默认 30,最大 60 |
上下文注入
扩展包还会向玩家对话自动注入近 30 分钟的活动摘要(activity-summary),让其他助手也能了解玩家的近期活动。
自定义人设
小悦的行为和人格可通过编辑引导文件自定义:
| 文件 | 作用 |
|---|---|
assistants/allay/SOUL.md | 核心原则与行为边界 |
assistants/allay/IDENTITY.md | 身份、名称、语气 |
assistants/allay/HEARTBEAT.md | 心跳决策流程 |
这些文件位于 plugins/ArkPilot/expansions/allay/ 目录,首次加载自动生成,可自由编辑。
启用方式
- 将
arkpilot-allay.jar放入plugins/ArkPilot/expansions/ - 重启服务器或执行
/ark reload - 小悦会自动开始心跳,无需额外配置
如需禁用,修改助手配置中的 enabled: false 或 heartbeat.enabled: false。