FancyHelper – 服务器智能管理插件 | CLI沉浸对话 | 自动指令生成 | 多AI支持 | 防死循环 |  实时状态 | TODO系统

原创 开源 工具 娱乐 FancyHelper – 服务器智能管理插件 | CLI沉浸对话 | 自动指令生成 | 多AI支持 | 防死循环 | 实时状态 | TODO系统 v4.3.4

请登录后获取

此版本以后FancyHelper在MineBBS的发布速度会减缓

如果你需要收到最新版本的推送,可以在配置文件中打开自动更新,Fancy会在合适的时候完成下载、更新、热重载
或者手动在Github Release下载

Overview​

  • 新增 CLI 模式玩家检测方法,提升指令交互判断
  • 重构聊天处理并修复前缀逻辑,CLI 模式下忽略 “!”/“!” 开头消息
  • 引入风险命令列表并优化高亮渲染,增强安全提示
  • 过滤玩家聊天消息避免上下文混淆,提升数据捕获准确性

What's Changed​

  • fix(PacketCaptureManager): 过滤玩家聊天消息避免上下文混淆 by @baicaizhale in #90
  • feat(config,cli): 添加风险命令列表并重写高亮处理逻辑 by @baicaizhale in #91
  • refactor(util): 移除未使用的自定义颜色转换方法 by @baicaizhale in #92
  • fix(cli): 使用!开头在cli外发送消息 by @baicaizhale in #94
  • refactor: 将workflow中生成overview的部分迁移为shell脚本 by @zip8919 in #95
  • Revert "refactor: 将workflow中生成overview的部分迁移为shell脚本" by @zip8919 in #96
  • refactor(cli): 重构聊天消息处理逻辑,改进CLI模式下特殊前缀消息处理 by @baicaizhale in #97
  • fix:修复不在cli下吃感叹号的问题 by @baicaizhale in #98
Full Changelog: v3.5.3...v3.5.5
[MD]# v2.5.3 到 v3.2.0 更新内容 --- ## v2.5.4 - **feat(CLI)**: 添加生成状态可视化与实时反馈 - **feat**: 使用 jtokkit 实现精确的 token 计算 - **feat(manager)**: 添加 AI 生成状态显示任务 - **fix(CLIManager)**: 添加错误状态处理并修复异常状态显示 - **refactor(CLIManager)**: 移除生成状态跟踪中的冗余状态设置 - **fix**: 将 ProtocolLib 依赖改为可选并添加空值检查 --- ## v2.5.5 - **feat(配置管理)**: 改进配置文件版本更新时的迁移逻辑 - **fix**: 改进工具调用提取逻辑并优化 #diff 命令的使用说明 - **feat**: 添加防死循环检测机制 - **fix(防循环)**: 修复重复操作检测后仍会计入调用历史的问题 - **feat(防循环)**: 为对话会话添加防循环检测豁免功能 --- ## v2.6.0 - **fix(CloudFlareAI)**: 为 gpt-oss 模型切换至 responses API - **fix(CloudFlareAI)**: 修复响应解析逻辑并添加推理模型参数 - **fix(CLIManager)**: 修复 feedbackToAI 中错误处理时计时器不停止的问题 - **feat**: 微调预设文件并改进消息捕获及处理 --- ## v3.0.0 - **feat(CLIManager)**: 添加工具调用中断恢复功能 - **feat**: 在 YOLO 模式下为风险命令添加手动确认机制 - **feat**: 添加 OpenAI 兼容 API 支持和可配置超时 - **fix(CLIManager)**: 改进 #diff 命令的参数解析和显示 - **fix(CLIManager)**: 美化 diff 操作 - **fix(CLIManager)**: 优化循环检测提示和确认消息的显示 - **fix**: 微调提示词 - **fix**: 微调工具调用规则描述中的措辞错误 - **style(config)**: 移除配置文件中多余的空行以提升可读性 - **refactor(CLIManager)**: 将 YOLO 模式提示信息中的中文替换为英文 - **style(CLIManager)**: 修正 YOLO 模式消息发送行的缩进 - **fix**: 调整防循环阈值以平衡安全性与灵活性 - **chore**: 将日志和提示信息翻译为中文 --- ## v3.0.1 - **docs**: 更新项目文档和图片资源 --- ## v3.1.0 - **fix(CLIManager)**: 修复空消息内容导致的 NPE 问题 - **fix(api)**: 强制使用 HTTP/1.1 并自动补全阿里云 API 路径 - **docs**: 将工具 #get 重命名为 #getpreset 并更新相关文档 - **docs**: 添加 README 图片资源 - **docs**: 更新 README 图片资源 - **fix(解析)**: 放宽工具调用的行首限制并更新提示 - **feat**: 添加玩家退出时清理 CLI 状态的监听器 - **docs(preset)**: 更新房屋建造预设并优化提示说明 - **fix(CLI)**: 退出前自动取消待处理的操作 --- ## v3.2.0 - **feat(notice)**: 添加公告功能 - **fix(api)**: 为 CloudFlare AI 请求添加重试机制 - **feat**: 添加状态显示位置切换功能 - **feat(命令)**: 为 /cli 命令添加 display 子命令支持 --- ## 主要功能亮点 ### 安全性增强 - 添加防死循环检测机制,防止 AI 陷入重复操作 - YOLO 模式下风险命令仍需手动确认 - 工具调用中断恢复功能 ### API 支持 - 新增 OpenAI 兼容 API 支持(支持 DeepSeek、Ollama、阿里云通义千问等) - 为 gpt-oss 模型切换至 responses API - CloudFlare AI 请求添加重试机制 ### 可视化改进 - 添加生成状态可视化与实时反馈(动作栏显示) - 使用 jtokkit 实现精确的 token 计算 - 状态显示位置可切换 ### 体验优化 - 玩家退出时自动清理 CLI 状态 - 改进 #diff 命令的参数解析和显示 - 配置文件版本更新时的自动迁移 - 日志和提示信息中文化[/MD]

What's Changed​

  • 修复已知部分bug,优化config.yml格式,自动禁用聊天举报,优化预设提示词 by @baicaizhale in #27
  • refactor: 将 OkHttp 替换为 Java 标准库 HttpClient by @zip8919 in #28
  • 优化命令输出拦截 + 合并更改 by @baicaizhale in #29

New Contributors​

Full Changelog: v2.5.2...v2.5.3

What's Changed​

Full Changelog: v2.2.0...v2.3.0

总结:修改插件名称+优化​

What's Changed​

  • refactor: 重命名为FancyHelper并且修改由此而来的一系列东西 by @baicaizhale in #8
  • ci: 提前创建Git标签以避免自动创建失败 by @baicaizhale in #9
  • 提示词优化+问候+拓宽上下文 by @baicaizhale in #10
Full Changelog: v1.1.8...v2.0.1
相较于v1.1.6(1.1.7没在minebbs发)更改如下:
1. 结束时显示token输出量以及持续时间
2. 启动插件时打印MineAgent
均为观赏性变动

更改​

  • 修复:CloudFlare AI invalid_prompt (NoneType.startswith)
    • 增加多处防御性空值检查:在 CloudFlareAI.chat() 中对 system、role、content 做严格 null/trim 校验并跳过非法项。
    • 在构建 input 前复制会话历史 (new ArrayList<>(session.getHistory())) 以避免并发修改。
    • 在序列化前验证最终 payload,不再向 CF 发送包含 "content":null 或 "role":null 的 JSON。
    • 详尽日志:记录 system prompt、每条消息的 role/长度、消息总数和完整 payload,便于定位问题。
    • 增加回退重试:当首次请求返回包含 'startswith' NoneType 错误(400)时,使用更简单的 payload(短 system prompt + 最近一条 user 消息)重试一次并解析其响应。
  • 改进:更强的响应解析健壮性
    • 解析 CF output / result 多种格式时增加 null 检查与容错逻辑,避免将 null 写入会话历史或导致后续请求异常。
  • 修复:插件卸载/重载时的 OkHttp 线程错误(zip file closed)
    • 在 CloudFlareAI.shutdown() 中优雅关闭 OkHttp:先 shutdown() dispatcher 的 executor service,等待(最多 5s)然后 shutdownNow();evict 连接池并关闭缓存。记录关闭日志。
    • 在 CLIManager.shutdown() 中彻底清理会话与状态并调用 AI 的 shutdown。
    • 在 MineAgent.onDisable() 中调用 shutdown 并短暂等待(500ms),确保后台任务在 ClassLoader 卸载前停止,避免 zip file closed / 类加载异常。
  • 改进:避免主线程阻塞
    • 将工作区索引器 WorkspaceIndexer.indexAll() 移到异步任务启动(Bukkit.getScheduler().runTaskAsynchronously(...)),插件启用时不再阻塞主线程,减少 “Can't keep up!” 警告。
  • 提示词 / 使用规范加强
    • 在 PromptManager.getBaseSystemPrompt() 中明确且严格地要求:工具调用必须为最后一行、单独成行、每次最多一个工具调用;并示例说明格式(如 #get: coreprotect.txt)。这可降低模型输出工具调用格式不合规的概率。
  • 小修与防护
    • DialogueSession.Message 构造器与使用地做空值防护,确保 role/content 不为 null(使用默认或空字符串)。
    • 若 payload 包含空字符串 content,会在日志中给出警告,帮助排查 “空消息” 情形。

升级建议 / 测试步骤​

  • 在服务器上替换插件并加载插件。
本次更新主要集中在 搜索引擎接口迁移 与 CloudFlare AI 服务的深度适配 ,大幅提升了插件在网络请求方面的稳定性与兼容性。

✨ 新特性 (New Features)​

  • 搜索引擎迁移至 UAPI :
    • 将公开搜索接口从 DuckDuckGo 迁移至 UAPI 聚合搜索 ( uapis.cn ),提供了更稳定的中文搜索结果支持。
    • CLIManager.java
  • GPT-OSS 模型专属优化 :
    • 针对 @cf/openai/gpt-oss-120b 模型增加了 reasoning 参数支持(默认 effort: medium ),以获得更好的推理效果。
    • CloudFlareAI.java

⚡ 改进与优化 (Improvements)​

  • 网络稳定性增强 :
    • 大幅增加了 CloudFlare AI 请求的超时时间:
      • 连接超时:30s → 60s
      • 读取/写入超时:60s → 90s
    • CloudFlareAI.java
  • Prompt 传递机制调整 :
    • 弃用了 instructions 字段,改为将系统提示词(System Prompt)构建为标准的 system 角色消息放入 messages 数组中,解决了部分模型的兼容性问题。
    • CloudFlareAI.java
  • 响应格式适配 :
    • 适配了 CloudFlare AI 新版 API ( /ai/v1/responses ) 的响应结构,支持解析嵌套的 output 数组格式。
    • CloudFlareAI.java

🐛 修复 (Bug Fixes)​

  • 配置校验 : 修复了在配置文件中未设置 cf_key 或 model 时可能导致的空指针异常,增加了明确的错误提示与默认值回退机制。
  • API 错误处理 : 优化了 API 调用失败时的错误日志记录,现在会输出完整的响应体以便于排查问题。
Full Changelog: v1.1.3...v1.1.5
后退
顶部 底部