← Return to Artifact Archive

ARTIFACT / ZHIYI-TONGXING

zhiyi-tongxing(智忆同行)

PROTOTYPE

失智症居家照护者的情绪支撑,按课题申请书的闭环做:先测出压力,再给对应等级的干预,再用本地知识图谱回答照护问题,最后把效果记下来。

ARTIFACT ID
zhiyi-tongxing
COMPILED
2026-10-23
STATUS / 状态
原型,可本地与单机运行

仓库:fire-disposal/zhiyi-tongxing

zhiyi-tongxing(智忆同行)

失智症居家照护者的情绪支撑,按课题申请书的闭环做:先测出压力,再给对应等级的干预,再用本地知识图谱回答照护问题,最后把效果记下来。

状态:原型,可本地与单机运行;入口:微信小程序 miniprogram/ + Web 管理台 /admin;仓库:fire-disposal/zhiyi-tongxing

本质

用 HPS、分级干预和本地知识图谱支撑失智症照护者的全栈原型。

选型

基于 Bun + Elysia 的 TypeScript 全栈原型,前端微信小程序 + Vue 管理台,后端 Elysia,数据 SQLite + Drizzle,部署单容器。

  • 前端
    • 微信小程序原生 TypeScript
    • Vue 3
      • Vue Router
      • Vite
      • Element Plus
  • 后端
    • Bun
      • Elysia
        • @elysiajs/jwt
        • @elysiajs/swagger
        • TypeBox
  • 数据
    • SQLite
      • Drizzle ORM
        • drizzle-kit
  • 分析
    • Python
      • uv
  • 部署
    • Docker
    • GitHub Actions

功能

  • 压力监测:/api/evaluate 计算 HPS = 0.5·生理 + 0.35·心理 + 0.15·上下文,默认阈值 40 / 70,结果落 stress_log
  • 干预推荐:按等级筛选方案,再按内容特征与历史完成偏好加权重排(演示级,不是真正的协同过滤);记录完成情况与干预前后 HPS
  • 知识问答:36 节点 / 33 边的 WHO iSupport 本土化图谱,/api/qa 沿三元组检索返回答案
  • 反馈:1–5 星评分 + 评论,写入 feedback,与干预记录关联
  • 社群:发帖、回复,按分区过滤
  • 生理数据:PhysioProvider 适配器(mock / stored),/api/physio/report 供设备上报,可配 DEVICE_REPORT_TOKEN
  • 管理台:仪表盘统计与三色分布、压力记录、反馈、社群、图谱浏览与问答调试、CSV 导出
  • 认证:微信 code → JWT;未配 AppID / Secret 时进入 mock(dev_<code>);refresh 轮换
  • 文档:/swagger 交互文档;docs/ 下有 SETUP / DEPLOYMENT / ARCHITECTURE / MINIPROGRAM / FEASIBILITY
  • 运维脚本:setup / start / stop / backup / docker-deploy(.ps1 与 .sh 各一套)

启动流程

bun install
bun run dev:server     # :3000,启动时自动建表并幂等写种子
bun run dev:web        # :5173,/api 代理到 3000

小程序:微信开发者工具导入 miniprogram/。生产形态:

bun run build:web && bun run start    # :3000 同时服务 API 与前端
bun run typecheck && bun run typecheck:mp && bun run test

管理台口令由 ADMIN_PASSWORD 设置,部署前必须改密;生产还要配 JWT_SECRET。

边界与已知问题

  • 语音交互未实现,申请书中要求的部分目前只有文本入口。
  • 知识问答不是大模型:图谱三元组加关键词匹配,答案覆盖取决于 36 个种子节点。
  • 生理数据默认走 mock 适配器或客户端上报,没有真实设备接入;演示数据不能当成采集数据。
  • 管理台是演示级鉴权:口令校验后返回固定字符串 admin-session,后续请求没有会话校验,不能直接对外。
  • SQLite 单写、单机运行;没有多副本方案,规模上限由课题场景决定。
  • README 写“领域层 26 个单测”,实际是 5 个测试文件、40 多个用例,以 bun test 输出为准。
  • 小程序请求域名需 HTTPS 并加入微信后台白名单;本地用开发者工具的“不校验合法域名”。
  • 部署脚本以 Windows PowerShell 为主,Linux 用对应的 .sh,变量来自同一份 .env。

文档索引