Skip to content

Gcy-02/ai-chat-coach

Repository files navigation

AI Chat Coach

一个 Spring Boot 版 AI 聊天教练 MVP。它把用户粘贴的聊天记录交给大模型分析,先快速生成可直接发送的推荐回复,再在用户需要时补充关系阶段、兴趣度、风险和原因解释。

这个仓库不是原始话术资料包,也不包含私有聊天记录。公开版只保留已经整理成产品雏形的代码、轻量评测体系和少量示例知识库。

为什么做这个

很多聊天建议工具只做“帮我回一句”,结果很容易变成随机话术生成器。这个项目更关注一个小但重要的问题:让 AI 的输出结构稳定、能被前端展示、能被评测回归,并且始终保持尊重边界。

所以它不只是一个 API 调用 demo,还包含:

  • 结构化 JSON 输出
  • 快速回复与详细分析的两段式接口
  • 前端模块化展示和一键复制
  • 安全边界 prompt
  • 轻量 eval cases
  • failed cases 错题本
  • baseline 记录

功能

  • POST /api/chat/analyze/quick:快速生成回复策略、推荐回复、避免回复
  • POST /api/chat/analyze/detail:按需生成关系阶段、兴趣度、当前风险和原因解释
  • POST /api/chat/analyze:保留完整结构化分析接口,兼容旧调用
  • 内置静态 Web 页面,启动后访问 /
  • DeepSeek Chat Completions 调用封装
  • 模型返回非标准 JSON 时尝试修复
  • 邀请码校验和基础限流
  • 基于 JSON 文件的轻量知识库检索
  • PowerShell 评测脚本和 30 条示例 eval cases

快速开始

需要 Java 17 和 Maven。

cd ai-chat-coach-public

$env:DEEPSEEK_API_KEY="your-deepseek-api-key"
$env:INVITE_CODE="test2026"

mvn spring-boot:run

启动后打开:

http://localhost:8080

第一次使用页面时会提示输入邀请码。默认示例是:

test2026

生产环境请改成自己的 INVITE_CODE

Docker 运行

复制环境变量示例:

cp .env.example .env

编辑 .env 后启动:

docker compose up -d --build

API 示例

快速回复:

curl -X POST "http://localhost:8080/api/chat/analyze/quick" \
  -H "Content-Type: application/json" \
  -H "X-Invite-Code: test2026" \
  -d '{"chatRecord":"我:今天在干嘛?\n她:没干嘛,有点累。","stage":"刚认识","goal":"延续话题","style":"自然"}'

详细分析:

curl -X POST "http://localhost:8080/api/chat/analyze/detail" \
  -H "Content-Type: application/json" \
  -H "X-Invite-Code: test2026" \
  -d '{"chatRecord":"我:今天在干嘛?\n她:没干嘛,有点累。","stage":"刚认识","goal":"延续话题","style":"自然"}'

评测

项目带了一个轻量评测体系,不依赖复杂平台:

.\eval-runner.ps1 -BaseUrl "http://localhost:8080" -InviteCode "test2026" -DelaySec 15 -MaxRetries 3

相关文件:

  • eval-cases.json:30 条示例场景
  • eval-runner.ps1:批量请求接口并生成结果
  • failed-cases.json:失败案例错题本
  • failed-stats.ps1:失败类型统计
  • EVAL.md:评测流程说明
  • BASELINE.md:baseline 记录

项目结构

src/main/java/com/example/aichatcoach/
  chat/          API、请求响应 DTO、分析服务
  deepseek/      DeepSeek 调用封装
  knowledge/     JSON 知识库读取与检索
  config/        鉴权、限流、Web 配置
  common/        全局异常处理

src/main/resources/
  static/        前端页面
  system-prompt.md
  knowledge.json
  application.yml

注意事项

  • 不要把真实 API Key、邀请码、聊天记录提交到仓库
  • 页面里的推荐回复只是辅助草稿,应该由用户自己判断是否发送
  • Prompt 明确禁止操控、施压、贬低、PUA、死缠烂打等话术
  • 示例知识库只用于演示结构,不代表完整产品能力
  • 评测用关键词命中只是轻量回归方法,不等同于真实用户效果

License

MIT

About

AI 聊天教练 MVP:Spring Boot、DeepSeek、结构化输出、两段式分析和轻量评测体系。

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors