Skip to content

QingMXL/AI-copilot

Repository files navigation

Loadout Copilot · 战备副官

语言 / Language: 中文 · English

用 AI 重构撤离射击的战前资源管理 — 一个嵌进玩家决策路径的副官,而不是 ChatGPT 套壳。

🌐 线上演示: https://copilot.mxltime.xyz/

三个 AI 时刻

副官的不可替代价值,必须在三个具体瞬间得到证明:

# 名称 触发 副官输出 ChatGPT 套壳做不到
理解模糊意图 玩家说「我比较菜」 翻译为:压低装备总价 / 偏保守打法 / 不带高级武器 会先反问「什么叫菜?」
解释代价 把 AKM 换成 MP5 0.7 秒返回 verdict + delta + 场景化推理 只会泛泛说「MP5 更轻」
情境推理 同一玩家,换一张地图 推荐方案从骨架到细节完全不同 查表 + 模板做不到

快速开始

git clone https://github.com/<YOUR_USERNAME>/loadout-copilot.git
cd loadout-copilot
npm install
npm run dev

打开 https://copilot.mxltime.xyz/ 即可。本地开发环境默认在 http://localhost:3000 启动。

默认是 Mock 模式 —— 不需要任何 API key。三个端点 (/api/recommend /api/cost /api/chat) 都返回内置模拟数据,可以演示三个 AI 时刻的完整体验。

要接真 OpenAI:把 .env.local.example 复制为 .env.local,填入 OPENAI_API_KEY,然后在 app/api/*/route.ts 里取消注释 generateObject / generateText 部分(目前调用已被注释,改用 mock)。

自动演示

页面打开会弹一个启动 splash —— 点 ▶ 开始语音演示 自动跑完 16 个场景(~3 分钟,带 TTS 旁白)。其余你可以:

  • 自己挑地图 + 输意图(比如 "今晚想去核心污染区刷点钛合金,我比较菜")→ 点请求方案
  • 点装备槽位调整,看 verdict + delta 解释
  • 切到不同地图重新提交,看跨情境推理
  • 右下角浮动副官-薇可以直接问她问题(命中"夜视/护甲/地图/撤离/推荐"等关键词)

技术栈

  • Next.js 16 (Turbopack) + TypeScript + React 19
  • Tailwind CSS 4 — 自定义 design token(深黑 + 琥珀金 + advisor 蓝)
  • Vercel AI SDK + Zod schema(用于真 LLM 模式;mock 模式下沿用类型不调外网)
  • 无任何后端,纯前端 + Edge API routes

架构概览

app/
├── app/                     # Next.js App Router
│   ├── page.tsx             # 主仪表盘 (top nav + 3 列 + 底部状态栏)
│   ├── globals.css          # design token + HUD 工具类
│   └── api/
│       ├── recommend/       # 完整 loadout 推荐(mock)
│       ├── cost/            # 换装代价评估(mock)
│       ├── chat/            # 副官问答(mock)
│       └── tts/             # TTS 缓存(真 OpenAI,可选)
├── components/
│   ├── TacticalCard.tsx     # AI 推荐卡(7 槽位 + 属性 + 风险/缺口/备选)
│   ├── AdjustPanel.tsx      # 换装代价面板
│   ├── MissionConfirmation.tsx  # 出战确认弹窗(最后一道容错关)
│   ├── Companion.tsx        # 右下角浮动副官(语音 + 聊天)
│   ├── DemoController.tsx   # 启动 splash + 自动演示控制台
│   └── HowItWorks.tsx       # 方法论说明
├── lib/
│   ├── mock-data.ts         # 玩家档案 / 装备清单 / 地图定义
│   ├── mock-responses.ts    # 三端点的模拟生成器(按地图 + 意图分支)
│   ├── icons.tsx            # 装备槽位 / UI 内联 SVG
│   ├── map-art.tsx          # 地图卫星图 SVG(按 map 不同配色)
│   ├── types.ts             # 共享类型
│   ├── schemas.ts           # Zod 输出校验
│   ├── prompts.ts           # System prompt + context builder
│   └── cost.ts              # CostAnalysis 类型 + payload
└── public/demo-audio/       # TTS 预制语音(16 个场景)

产品护栏

刻意不做的事(防止 AI 越权,保留品类核心乐趣):

  • 不自动消耗资源 — 所有权感是核心乐趣
  • 不替玩家拍板 — 体现 Copilot,而不是 Autopilot
  • 不演 NPC — 评审会视作"游戏化套壳"
  • 不推荐玩家没有的装备 — 不变成购物清单

License

All third-party assets used are either MIT-licensed or generated procedurally. The Black Tide universe is fictional and made for this project.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors