Installation command
!!MCDR plugin install games_aiAuthor
Repository
Homepage
Synced at
...
Last update
...
Latest version
Total downloads
1247
Back to catalogue
GamesAI-v0.7.1.mcdr
Version
0.7.1
Date
2026年9月11日
Size
158.52 KiB
Downloads
12
MD5
2250386f8ec1f8dfe24619b3f68db082SHA256
d6b50d6c4d29b4cf3b5ec6e7fb8865606e148190bab81ffcf19a0553efec6226Dependencies
MCDR Plugin Dependencies
| Plugin ID | Requirement |
|---|---|
| mcdreforged | >=2.15.0 |
Python Package Requirements
| Python Package | Requirement |
|---|---|
| openai | |
| requests | |
| websockets |
Python Package Installation Command
pip install openai requests websocketsRelease notes
GamesAI v0.7.1
本次更新围绕「上下文」做了一次系统性重构:不再有固定历史条数,模型窗口自动解析、按真实用量触发压缩;切换模型改为摘要转接;新增 !!ask stop 立即中止对话;全部内置工具文本英文化。
🧮 上下文自动管理(不再需要 max_history)
- 窗口自动解析:单模型
context_window覆盖 → 远程窗口表 → 版本内置表 → 保守默认值32768; - 触发条件(每次请求前后都检查):上下文达到窗口 80%,或单次请求达到 20%(捕捉超大工具结果这类突发);
- 压缩方式:最近 10 轮始终原样保留,更早的轮次合并为一条中性事实摘要(由当前模型生成、不带工具);仍不足时先截断超长消息、再丢弃最旧轮次,保证请求一定装得下;
- 用量校准:以服务商返回的
usage为准,按base_url|model校准本地估算,几轮内收敛; max_history配置已移除(旧配置文件仍可用,该键被忽略)。
📊 远程窗口表 + 内置兜底表
- 仓库维护
data/context_windows.json(249 条,覆盖 19 家厂商与各托管平台,核验日期 2026-09-11,来源见data/context_windows.sources.md); - 启动时随 24 小时更新检查一起拉取,缓存在
config/games_ai/cache/context_windows.json(24h TTL);!!gamesai check会无视 TTL 强制刷新;离线时静默回退到内置表; - 内置表移入生成式模块
games_ai/context_table_data.py(每条一行,维护脚本tools/build_context_table.py可一键重生成并校验)。
🔀 !!ask switch 改为摘要转接(社区投票方案 B1)
- 切换时立即清空原历史并保存快照,不发任何 API 请求,指令瞬间返回;
- 在你下次提问前(与自动上下文压缩同一时机)由旧模型把快照压缩成一段中性事实摘要,作为新会话的第一条 system 消息注入,并提示新模型保持自己的风格;
- 摘要失败时本轮仍正常回答,只是新对话不带旧上下文,并会告知你;
- 切换到当前模型不做任何改动;无历史时不产生额外请求;连续切换只总结一次。
🛑 新增 !!ask stop
- 一次停止你名下所有进行中的内容:运行中的对话轮(含工具调用)、
!!ask -n提问、以及你委派给自治 Bot 的任务; - 未完成的一步会被删除:末尾是工具调用组则整组删除(不留孤立 tool 消息),否则删除该轮追加的全部消息(含
-f合并进来的),停在最后一条已完成的回答之前; - 进行中的 HTTP 请求无法真正中断,因此轮次会在下一个检查点停止(最多延迟一次请求);停止后可以立刻继续提问;
- 无需任何权限,只作用于你自己的对话。
🪶 !!ask -n 无状态路径
- 单次提问不再创建(然后丢弃)一个完整的对话对象:新类
NonHistoryChatParam不保留历史、队列与上下文记账,也不产生摘要请求; - 与常规路径回答完全一致(相同的 system 消息、按权限过滤的工具、同轮工具回环、错误上报格式);
- 新增单轮超窗保险(超过窗口 80% 时截断最新消息);HTTP 客户端按
base_url+ API Key 复用,连续提问不再重复 TLS 握手。
🧰 工具
- 全部 26 个内置工具的文本英文化:schema(名称/说明/参数)与返回值(执行结果、错误、权限提示)均为英文,函数调用提示词不再中英混用;发给玩家的进度提示仍保持本地化;
modify_skills/modify_custom_tools改为编辑式:传入old_string(Python 正则)与new_string(支持\1、\g<name>),替换所有匹配而不是覆写整个文件;正则无法编译或匹配不到时退回字面替换;完全匹配不到则不写盘并明确报错;modify_skills的summary变为可选;custom_tools_management技能新增强制 Step 0:AI 必须先向你确认需求、参数、权限等级与期望返回值,才能开始写代码。
🔧 其他改进与修复
- 未映射的 HTTP 错误码改用翻译键
games_ai.error_code_map.error_unknown,跟随玩家语言; - 窗口表刷新与启动/24h 更新检查合并为同一条链路(少一个线程,且并发不再重复下载);
!!ask switch的确认文案按"下一次提问前压缩"重写,并修掉了模型名后悬挂标点的问题;- 三语 README 全面更新:请求链路流程图、无历史路径、摘要转接、停止对话等章节。
⚠️ 升级提示
max_history被忽略,可保留在旧配置里;如需限制上下文规模,请用all_ai.<id>.context_window;- 0.7.0 的"切换模型保留全部历史"已改为摘要转接;
!!ask -m/--model仍为移除状态,请用!!ask switch; - 新文件
data/、games_ai/context_table.py、games_ai/context_table_data.py、tools/需随插件一起分发。
完整对比:https://github.com/PengZixuan30/Games_AI/compare/v0.7.0...v0.7.1