返回项目列表
ArkOpsSkill

KnowledgeBaseSkill

基于ArkOps-Ai的知识库Skill

Internal Beta 2026-05-09 16:03:44

详细介绍

KnowledgeBaseSkill

适用于 ArkOps-Ai 的生产级知识库技能——使 AI 能够使用持久化知识库查询、管理并回答玩家问题。

功能特性

  • 模糊搜索——N-gram 关键词提取结合停用词过滤,支持中英文精准搜索
  • 加权评分——结果按相关性排序(标签 > 标题 > ID > 内容)
  • 数据持久化——基于 JSON 的存储,支持原子写入和防抖保存
  • 权限控制——细粒度的工具级权限(玩家 / 管理员 / 超级管理员)
  • 线程安全——使用 ConcurrentHashMap 缓存和同步文件操作
  • 分类管理——动态分类分组,无需冗余数据文件

快速开始

环境要求

  • Java 21+
  • Maven 3.6+
  • 服务器已安装 ArkOps-Ai 插件
  • Paper/Spigot 1.21.8+

构建

mvn clean package

编译后的 jar 文件将位于 target/KnowledgeBaseSkill-1.0.0.jar

安装

  1. KnowledgeBaseSkill-1.0.0.jar 复制到服务器的 plugins/ 文件夹
  2. 重启服务器
  3. 技能将自动注册到 ArkOps-Ai

数据存储位置

知识库数据存储在:

plugins/ArkOps-Ai/skills/knowledge_base/entries.json

架构

plugins/ArkOps-Ai/skills/knowledge_base/
└── entries.json          # 所有知识库条目(单一数据源)

条目结构

{
  "server_rules": {
    "title": "服务器规则",
    "content": "1. 尊重所有玩家\n2. 禁止作弊...",
    "category": "rules",
    "tags": ["rules", "guidelines", "behavior"],
    "created_at": 1710000000,
    "updated_at": 1710000000
  }
}

工具列表

工具 权限 描述
query_knowledge 玩家 使用模糊匹配搜索知识库
add_knowledge 超级管理员 添加新的知识库条目
update_knowledge 超级管理员 更新现有条目
delete_knowledge 超级管理员 通过 ID 删除条目
list_categories 玩家 列出所有可用分类
list_knowledge 玩家 列出条目,可按分类过滤

搜索算法

关键词提取

  1. 停用词过滤——移除常见词汇(如何、怎么、the、is 等)
  2. N-gram 生成——提取 2-gram 和 3-gram 子串
  3. 分词——对英文术语按空格分割

评分规则

匹配位置 权重
标签 +15
标题 +10
ID +8
内容 +5

结果按得分降序排序。

保存机制

事件 操作
添加/更新/删除 标记为脏数据并计划保存(5 秒防抖)
服务器关闭 强制立即保存
多次快速编辑 合并为单次写入

原子写入使用 .tmp 文件 + 重命名模式防止数据损坏。

使用示例

查询知识库

玩家:如何查看筑梦点?
AI: [query_knowledge] question="如何查看筑梦点"
结果:找到 1 条结果:

【筑梦点系统指令】
ID: dream_voice_commands
分类:economy
标签:筑梦点, dv, balance, pay, 经济, 货币, 转账

筑梦点是服务器的一种货币系统。查看筑梦点余额的指令是 /dv balance...

添加知识库

玩家:添加知识库 查看筑梦点到方法是/dv balance
AI: [add_knowledge] id="dream_voice_commands" title="筑梦点系统指令" content="..." category="economy" tags="筑梦点, dv, balance, pay"
结果:成功添加知识库条目:dream_voice_commands

开发指南

项目结构

KnowledgeBaseSkill/
├── pom.xml
├── SKILL_DEVELOPMENT.md          # ArkOps-Ai 技能开发文档
├── skill-template/               # 参考模板
└── src/main/java/com/arkops/
    ├── knowledgebaseskill/
    │   └── KnowledgeBaseSkill.java
    └── skill/
        ├── Skill.java             # 技能接口(存根)
        └── SkillManager.java      # 技能管理器(存根)

依赖

依赖 作用域 用途
io.papermc.paper:paper-api 提供 Bukkit API
com.google.code.gson:gson 编译(阴影) JSON 序列化

Gson 被阴影打包到最终 jar 文件中以避免冲突。

许可证

该 Skill 仍处于开发与内部测试阶段,暂未开放使用。感谢您的关注,请耐心等待后续发布。 如果你对本项目感兴趣可以联系DreamArkMC@163.com申请参加内测。

作者

DreamArk Studio

相关项目

ArkOpsSkill
NapCatQQSkill

通过 NapCatQQ 框架实现 QQ 机器人管理 Minecraft 服务器,让 AI 能够通过 QQ 执行服务器命令、管理玩家、监控状态等。

ArkOpsSkill
LogSkill

基于ArkOpsAi的玩家行为日志 Skill

ArkOpsSkill
MemorySkill

基于ArkOpsAi与阿里云向量检索服务的长期记忆Skill