Skip to content

leekHotline/accompany

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 老人陪伴助手 (Elderly Voice Companion AI)

基于 llm + 科大讯飞 STT + MiniMax TTS 打造的适老化温情智能语音陪伴助手

Next.js TypeScript Tailwind CSS Framer Motion

如果这个项目对您有帮助,请在右上角给我点个 ⭐ Star 吧!您的支持是我持续更新的最大动力!


📖 项目简介 (Introduction)

项目旨在为老年群体提供一个极简、温暖、零门槛的智能语音对话陪伴平台。结合当下最先进的生成式 AI 与语音识别/合成技术,该端到端全全栈项目(前后端分离)通过三端适配:老人陪伴端家属关怀看板系统后台运营端,全方位守护老年人的身心健康。

SEO 索引关键词: AI老人陪伴, DeepSeek 接入, 离线语音转写, 在线实时 STT, TTS 语音合成, 适老化设计 UI, Next.js 语音项目开源, WebSocket 实时流通信


🛠️ 核心交互链路 (Core Architecture)

本项目的语音交互流 (Voice Chat),通过融合业内强悍大模型服务实现了极速丝滑的交流体验:

  • STT (语音转文字) - 科大讯飞 WebSocket: 麦克风实时采集并处理音频帧转 Base64,建立流式连接极低延迟上屏。
  • LLM (大语言模型) - DeepSeek 接口: 针对语境优化 System Prompt 提供“简短、口语化、接地气”的老人陪聊对话能力。
  • TTS (文字转语音) - MiniMax: 极高拟真度声学大模型合成陪伴角色声音。
sequenceDiagram
    participant Elder as 👴 老人用户
    participant Front as 📱 前端 (Next.js)
    participant STT as 👂 语音识别 (科大讯飞)
    participant LLM as 🧠 语言模型 (DeepSeek)
    participant TTS as 🗣️ 语音合成 (MiniMax)

    Elder->>Front: 点击屏幕说话 (麦克风音频流)
    Front->>STT: WebSocket 实时传输音频帧 (Base64)
    STT-->>Front: 极速返回转写文本 (流式上屏)
    Front->>LLM: 提交完整用户提问+对话上下文
    LLM-->>Front: SSE 返回思考内容与文本
    Front->>TTS: 提交流式/拼接后文本文字进行合成
    TTS-->>Front: 返回整段/切片音频流 (Audio URL/Buffer)
    Front->>Elder: 自动播放极具人情味的 AI 回复
Loading

(注:目前的交互机制主要为“实时发送语音、回合制聚合语音下发”,进一步保证老年人听清成句表述。)


✨ 已实现业务覆盖

👵 老人端 (Elder UI)

  • 适老化入口页面:超大字号、高对比度、简单引导。
  • 语音陪伴全屏互动页:沉浸式拟物语音拨浪鼓动画,情绪化光影反馈 (支持手动打断/继续)。
  • 生活防忘提醒:药物提醒、吃穿住日常打卡CRUD操作与稍后提醒设计。
  • 紧急求助防线:一键求助按钮设计、风险词语识别 (结合风控服务)。
  • 个人档案管理:简化的授权处理流程。

👨‍👩‍👧‍👦 家属端 (Family Dashboard)

  • 多维概览看板:直观看到今日老人的情绪状态与交互频次。
  • 智能提醒追踪:查阅用药漏服情况并代为设定新提醒。
  • 高风险事件追踪:监控老人对话中提及的不适合或求救意图信息。
  • 联络亲人矩阵:紧急联系人维护地图。 (暂处概念/MVP层演示)

💻 运营后台 (Admin Console)

  • 完整的数据指标概览、用户注册维系、风险事件留存、策略管控。

🚀 快速启动 (Getting Started)

确保您的本地环境包含 Node.js >= 18pnpm

# 1. 克隆代码仓库
git clone https://gitee.com/leekHotline/accompany.git

# 2. 安装依赖
cd accompany
pnpm install

# 3. 复制环境变量 (请根据自己申请的 API Key 进行填充)
cp .env.example .env.local

# 4. 启动本地开发服务!
pnpm dev

🎉 启动成功后,浏览器打开 http://localhost:3000 即可进行页面体验。

mobile web desktop web

📂 目录结构 (Directory Structure)

accompany/
├── docs/                 # 项目相关的设计方案、需求文档 (PRD & 里程碑)
├── public/               # 公共静态资源 (图标, 媒体文件)
├── src/
│   ├── app/              # Next.js 14+ App Router 主路由映射
│   │   ├── (elder)/      # 核心重点:老人端路由组 (包含 chat)
│   │   ├── family/       # 家属端
│   │   ├── admin/        # 管理后台
│   │   └── api/          # 供三端能力调用的 Node Serverless APIs
│   ├── components/       # 全局复用组件库
│   ├── features/         # 依照业务能力划分的模块与视图块
│   ├── lib/              # 核心业务逻辑(风控、声音配置、数据库配置等工具集)
│   ├── store/            # 全局状态管理 (Zustand)
│   └── types/            # TypeScript Interface 定义
└── package.json

📝 待办与约束 (Current Constraints)

  • MVP演示阶段:代码目前默认含有 Mock LLM/STT/TTS 适配层可用于快速跑通展示。部分第三方API(深次模型/讯飞/MiniMax)需要您在 .env.local 接入真实鉴权密钥。
  • 数据存储:出于演示考虑,数据持久化使用了本地存储。如需上生产建议对接 PostgreSQL / MongoDB 等成熟持久层方案。
  • 用户登录认证:演示环境暂未接入强身份验证鉴权。

🙋🤝 讨论与贡献 (Contributing)

发现 bug?有更好的想法点子?欢迎您提交 [Issue] 或 [Pull Request] 👏 如果我们的思路能够给您带来小小的启发,请随时随地点击右上角的 Star ⭐ 这是对我开发路上最大的激励!谢谢!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors