Skip to content
hatepoorPublic

About

开源、本地运行的情绪陪伴桌面应用:一本会陪你说话的日记(无账号、数据不出本机)

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

低落日记

低落日记

一本会陪你说话的日记 · 开源 · 本地运行 · 无账号

MIT License v0.3.1 Python 3.12 Windows


低落日记,就像它的名字一样。

我们往往有很多时候陷入到低落的情绪当中。有时睡一觉,吃点蛋糕,或者单独放松放松,这种低落的情绪就过去了。

但,我们真的有正视过这种情绪吗?我们习惯于用各种各样的事情来逃避它,却忘了解决它。大多数时候,我们没有足够的勇气去面对,于是将它耽搁起来不管不理——但它从未消失,它仍然在那里,在我们开心时那个看不到的阴暗角落中。

我想做这个项目,用来记录自己的低落情绪,记录每个时刻自己那些不开心的时候。

当然,它不是一个单纯的笔记工具。

而是一个 agent——一个接纳你所有低落情绪的 agent。你的情绪,它都读得到;在你低落的时候,陪你说说话。

功能一览(v0.3.1)

  • 日记回应(新):写完一条日记,它会在下面留一两句——像朋友在朋友圈下认真评论那样;点「聊聊」可以带着这句话跳进会话接着聊;独立开关、默认开启
  • 信号触发(新):连续两天低落、或情绪强度突然升高时,它不再等频率轮到,而是带着对你这几天的了解提前开口;时间窗、当日上限、让路、未回退避一律照旧遵守
  • 记忆按日期定位(新):可以自然地说「把 10 月 6 号记的那条记忆删了」,它会自己找到那一条(日记落库后不可删是铁规矩,历史内容的管理走长期记忆)
  • 主动陪伴:可选开启、默认关闭;开启后它像朋友一样在一天里自己找时机开口(冷淡 / 正常 / 关心三档控制频率),说的都是你日记与记忆里的事;你正在写日记或聊天时它会让路,你不回它也不会追
  • 人格模板:默认就是「朋友发微信」那套口吻;也可以在设置里写下自己的 soul.md(只存本机,上限 6000 字),改完下一条消息即生效
  • 设置:侧边栏三页——模型 / 陪伴 / 人格
  • 会话删除:历史会话里可删掉某一次对话(物理删除、不可恢复;长期记忆不受影响)
  • 托盘常驻与系统通知:关窗口收进托盘(不再退出),托盘菜单可打开/退出、可设开机自启;它主动开口时若窗口不在前台会弹系统通知
  • 记录:文字 + 图片,随时写下此刻的心情
  • 心情记录:每条日记后台自动分析,通常 1 秒内产出情绪标签、强度与一句摘要(专用生成参数,不先"想一大段");失败会显示「分析失败」,点「刷新」即可重试
  • 唤醒对话:多智能体陪伴聊天,开口前它会先读你最近写下的日子;说话像朋友发微信,不端着
  • 跨天整合:一天结束时自动把当天条目整合成一篇日记,模型分析"这一天的心情",并沉淀为长期记忆
  • 危机应对:关键词初筛 + 模型复判,先共情接住,再温和给出求助资源;不评判、不中断
  • 长期记忆:完全透明——可查看、可编辑、可删除,智能体维护与你的手写同等有效
  • 体验细节:日/夜双主题、Markdown 渲染、历史按天浏览、过去的日记锁定不可改、可拖拽分栏、首启三步引导、条目悬停反馈

下载使用

  1. 从 Releases 下载安装包(如 DownNote_0.3.1_x64-setup.exe),双击运行安装向导——选择安装位置、可选桌面快捷方式;不需要安装 Python 或 Node。从旧版本升级直接覆盖安装,日记与配置保留
  2. 安装完成自动启动,首次启动自动建库
  3. 点左侧栏「设置」——模型页配置模型(保存即生效);陪伴页可开主动陪伴、选档位,也可单独关掉「日记回应」;人格页可自定义它的说话风格

几点说明:

  • 仅支持 OpenAI 兼容服务,Base URL 填到 /v1 一层即可。OpenAI、DeepSeek、通义千问(compatible-mode)、本地 Ollama 都可以:
    https://api.openai.com/v1
    https://dashscope.aliyuncs.com/compatible-mode/v1
    http://127.0.0.1:11434/v1   (Ollama)
    
  • 关窗口 = 收进托盘(v0.2.0 起):进程继续在后台跑,它才能主动陪你;要完全退出:托盘图标右键 →「退出」
  • 未配置模型也能写日记(降级模式:记录永不失能);主动陪伴与分析会暂停,配置后自动恢复
  • 模型的温度、思考强度可在设置里调整(默认 1.1 / low),真实作用于每次调用
  • Windows 10 若窗口空白,安装一次 WebView2 Runtime(Win11 自带)
  • 未做代码签名,首次运行 SmartScreen 提示时选「更多信息 → 仍要运行」

数据与隐私

  • 日记、心情记录、长期记忆保存在本机 SQLite(Windows:%APPDATA%\down_note),不回传任何自有服务器
  • 唯一出网的调用是你对模型服务的请求:日记原文按你的配置直发你自选的模型服务,隐私权衡在你
  • API Key 只存在本机数据目录下的 .env(模板见 .env.example),永不上传、不进数据库
  • 求助热线可自定义:在数据目录放一份 hotlines.json 即可覆盖内置数据

危机应对与免责

低落日记不是医疗产品,也不能替代专业帮助。若你正处于危机之中,请优先联系专业机构或当地求助热线(应用也会在你需要时展示热线资源)。

从源码运行

环境要求:Python 3.12(推荐用 uv 管理)+ Node.js 18+

git clone https://github.com/hatepoor/DownNote.git
cd down_note
uv sync                                  # 后端依赖
cd frontend && npm install && cd ..      # 前端依赖
uv run pytest                            # 跑测试(161 个)
uv run python -m down_note.main          # 启动桌面应用
  • 开发模式:cd frontend && npm run dev,应用窗口/浏览器会自动走 Vite 热更新
  • 打包发布:uv run python scripts/build.py → 前端构建 → 后端 sidecar(PyInstaller)→ Tauri NSIS 安装包,产物为 dist/DownNote_0.3.1_x64-setup.exe

目录结构

down_note/
├─ src/down_note/     # 后端:FastAPI + LangGraph 多智能体 + SQLite(工具/提示词按域原子化)
├─ frontend/          # 前端:Vue 3(Vite + TS)+ Tauri 2 桌面壳(src-tauri/)
├─ scripts/           # 打包脚本(前端构建 / 后端 sidecar / NSIS 安装包)
├─ docs/              # ADR 决策记录、Release 说明草稿
├─ docx/              # 开发文档:需求、架构、模块 todolist、进度树
├─ front_design/      # 前端设计定稿与应用图标
└─ tests/             # pytest 测试

技术栈

Vue 3(Vite + TypeScript)· Python 3.12 · FastAPI · SQLAlchemy + SQLite · APScheduler · LangGraph · Tauri 2 · PyInstaller(后端 sidecar)

License

MIT

About

开源、本地运行的情绪陪伴桌面应用:一本会陪你说话的日记(无账号、数据不出本机)

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages