🤖 前言
XiaoMATE 项目一开始的初衷:
每个人的内心深处都渴望被真正理解。小落同学诞生的初衷很简单------复刻一个虚拟的自己。
你可以把TA当作一个永远不会厌倦的树洞:
每天或每隔一段时间,把想说的话、想记录的事都告诉TA
开心时分享喜悦,低落时倾诉烦恼
当某一天你需要咨询一件事情时,去问问TA的看法
随着对话数据的积累、记忆的沉淀、反思的迭代,小落同学会逐步形成对你越来越深的理解。最终的目标只有一个:让TA比你更懂你。
而 心情札记 功能就是负责将自己每天(实际上通常是有感想的时候才记一下)的心情,开心的事,不开心的事,一点点的记录到XiaoMate系统里进去。支持用户每天记录生活点滴,包括文字、图片、音频、视频、PDF、ZIP等多种格式。系统会自动提取札记中提及的人物,并建立人物关系图谱,为未来构建"数字虚拟自己"奠定基础,最终的目标是希望最后成为一个数字版本的自己,哪怕有一天自己挂了,这个数字版本也可以替代自己在数字世界里继续存在,或者是某一位亲人离开了,只要有TA一些文字、画面、声音、思想、认知、偏好,我们依然可以在 XiaoMate上面看到TA,跟TA对话,寻求TA的意见与看法。
✨ 快速开始
前端:
- 绿色安装包:
https://github.com/oddmeta/xiaomate-desktop/releases/download/v2.4.4/xiaomate-desktop-windows-v2.4.4.zip - npm安装:
npm install -g xiaomate-desktop
后端:
- 绿色安装包:
https://github.com/oddmeta/xiaomate/releases/download/v2.4.4/xiaomate-portable-windows-v2.4.4.zip
两个都是绿色便携包,解压后,点击目录中的 start.bat 即可运行。
仓库:
核心功能
1. 📝 札记管理

创建札记
- 标题: 可选,为札记命名
- 心情: 10种心情标签(开心、平静、难过、兴奋、焦虑、愤怒、疲惫、感恩、爱意、其他)
- 日期: 记录日期,默认为当天
- 内容: 详细的文字记录
- 附件: 支持JPG/PNG图片、PDF文档、ZIP压缩包

查看札记
- 卡片式网格布局,美观直观
- 显示心情标签、附件数量、人物数量
- 分页浏览,支持上下页导航

日历视图:

编辑/删除
- 点击卡片查看详情
- 支持编辑修改
- 支持软删除(不真正删除数据)
2. 📎 附件管理
支持的格式
- 图片: JPG/JPEG/PNG (单文件≤10MB)
- 音频:WAV/MP3 (单文件≤50MB)
- 视频:MP4 (单文件≤50MB)
- 文档: PDF (单文件≤20MB)
- 压缩: ZIP (单文件≤50MB)
上传方式
- 点击上传区域选择文件
- 拖拽文件到上传区域
- 支持多文件同时上传
附件展示
- 图片附件直接预览
- 图片附件直接预览
- PDF/ZIP显示图标和文件名
- 点击可下载/查看
3. 👥 人物关系管理
自动提取
- AI智能识别札记中提到的人物
- 自动计算置信度
- 统计提及次数

人工确认
- 显示待确认人物列表
- 可设置关系描述(如"同事"、"朋友"、"家人")
- 可添加备注信息
- 确认后纳入关系图谱
关系图谱(规划中)
- 可视化展示人物关系
- 显示关系强度
- 支持交互式探索
4. 😊 心情统计(规划中)
- 心情趋势分析
- 情绪变化图表
- 高频词汇统计
- 时间分布热图
使用流程
1. 访问入口
方式一: 桌宠圆盘菜单
- 右键点击桌宠
- 点击"📔 心情札记"
- 无框窗口在屏幕居中打开
方式二: 浏览器访问
- 打开浏览器
- 访问
http://127.0.0.1:8000/admin/journal/ - 需要登录
2. 创建第一条札记
- 点击右上角"✏️ 新增札记"
- 填写表单:
- 标题: "我的第一条札记"(可选)
- 心情: 选择😊开心
- 日期: 保持默认(今天)
- 内容: "今天心情不错,完成了新功能!"
- 附件: 拖拽或点击上传图片
- 点击"💾 保存札记"
3. 查看和管理
- 列表浏览: 卡片式展示,一目了然
- 查看详情: 点击卡片进入详情
- 编辑修改: 点击"✏️ 编辑"按钮
- 删除札记: 点击"🗑️ 删除"按钮(需确认)
4. 人物关系管理
- 点击右上角"👥 人物关系"
- 查看AI提取的人物列表
- 点击"确认"按钮确认人物
- 可编辑关系描述和备注
- 未来可查看关系图谱
设计亮点
1. 现代化UI
- 渐变紫色主题背景
- 毛玻璃效果卡片
- CSS Grid响应式布局
- 流畅的动画效果
2. 用户体验
- 拖拽上传,操作便捷
- 心情emoji选择器,直观有趣
- 卡片式列表,信息密度高
- 分页浏览,性能优化
3. 技术特性
- 本地HTML文件,快速加载
- Cookie自动注入,无感认证
- 文件类型自动识别
- 软删除保护数据
4. 扩展性
- API设计RESTful
- 前后端分离架构
- 支持多端访问(桌面/Web/移动)
- 预留AI集成接口
未来规划
Phase 2 - 数据增强
- AI人物提取(集成LLM):已支持。
- 日历视图(按月查看):已支持。
- 心情统计图表
- 全文搜索功能:已支持。
- 标签系统:已支持。
Phase 3 - 关系图谱
- D3.js可视化关系图
- 人物聚类分析
- 时间线展示:已支持。
- 关系强度计算:已支持。
Phase 4 - 数字虚拟自己
- 数据导出(JSON/Markdown):已支持。
- 数据导出(Neo4J): 已支持。
- Cypher 模式:journal_graph.cypher --- 纯文本,复制到 Neo4j Browser 直接执行
- CSV 模式:nodes.csv + relationships.csv --- 标准 neo4j-admin import 格式
- 性格特征分析
- 行为模式识别
- AI对话训练数据
技术栈
前端
- HTML5 - 语义化标签
- CSS3 - Grid/Flexbox/渐变/动画/毛玻璃
- JavaScript ES6+ - async/await/Fetch API
- 无框架依赖 - 纯原生实现
后端
- Python 3.10+
- Django 6.1.2
- SQLite - 默认数据库
- Daphne - ASGI服务器
Electron
- Electron - 桌面应用框架
- BrowserWindow - 无框窗口
- session - Cookie共享
- IPC通信 - 进程间通信
注意事项
开发调试
- 修改前端HTML后,刷新窗口即可生效
- 修改后端代码后,需重启Django服务
- 控制台日志以
[API]、[心情札记]开头
登录要求
- 必须先登录桌宠或Django后台
- 未登录会提示"未登录或登录已过期"
文件大小
- 图片≤10MB
- PDF≤20MB
- ZIP≤50MB
- 超限会提示上传失败
总结
心情札记是XiaoMATE 项目用于复刻数字版本的"我"的核心功能。原先只在django的Web上可用,现在我把它加到的桌宠上了。原先最大的问题是每次要记录心情札记太麻烦,现在的桌宠版本电脑开机就自动运行在桌面上,记录起来就方便、便捷了很多。未来将通过AI技术深度挖掘数据价值,最终实现"数字虚拟自己"的愿景。
同时,记录在心情札记里的记录可用于在Web前端、桌宠前端中与XiaoMATE进行对话。
不过,目前有个很大的问题:
记录在里面的信息,有的是可以公开的 、还有许多是一些私人的 、私密的 信息,而我一直没找到一个好的权限的控制方法 ,什么信息可以在回答中带给什么样的人,所以目前这些记录都统一只会在我自己(用户自己)问答的时候,才会带入这些信息。
这个信息数据隐私的问题目前我还没想出来什么比较靠谱的思路,如果哪位大佬有这方面的经验,还请帮忙多多指点指点。
- 前端仓库:https://github.com/oddmeta/xiaomate-desktop
- 后端仓库:https://github.com/oddmeta/xiaomate
- 版本: v2.4.4