FreeTodo — 智能待办管理
AI 驱动的智能待办管理应用,帮你自动分解任务、整理上下文,让目标落地。
证据显示:仓库未提供权限模型、用户确认机制、数据流说明或敏感数据处理细节。依赖列表包含多个第三方包,但无安全审计或漏洞扫描证据。外部效果(如网络请求、文件系统访问)未明确说明。回滚机制未提及。来源归属仅通过README中的贡献者徽章和社区链接体现,但发布者身份未验证。因此所有信任标准均得0分。
证据显示:README和pyproject.toml中的项目描述不一致(README称FreeTodo,pyproject称LifeTrace),但代码结构基本一致。依赖锁定文件uv.lock存在,但未验证其完整性。失败消息未在文档中说明。因此自一致性得1分,依赖可用性得1分,失败消息得0分。
证据显示:README描述了目标用户(个人用户)和多种使用场景(任务管理、日历、AI助手)。能力边界在README中部分说明(如AI任务分解、多视图日历)。触发精度未明确(如AI何时触发任务提取)。环境适配方面,README提供了Windows/macOS/Linux的安装说明,但未提及特定环境限制。因此各得1分。
证据显示:README提供了清晰的项目结构、安装步骤和快速开始指南。命名基本稳定(如lifetrace、free-todo-frontend)。示例和FAQ部分缺失。已知限制未明确列出。许可证为FreeU Community License,但未提供完整文本。版本号在pyproject.toml中为0.1.2,但无变更日志。维护责任通过贡献指南和社区链接体现。因此信息架构得2分,安装说明得2分,其余各得1分。
证据显示:输出可用性方面,README描述了功能,但未提供实际输出示例。边际价值方面,AI任务分解和日历集成可能提供额外价值,但未量化。成本效益方面,依赖较多,但未提供性能或资源消耗数据。因此各得1分。
证据显示:README中的功能声明未提供具体实现细节或测试证据。测试文件存在,但仅覆盖部分功能,且未提供测试结果。跨来源验证不足,仅依赖单一仓库。事实与推断分离方面,README区分了已完成和计划功能,但未明确标注推断。因此各得1分。
- 发布者身份未验证,请谨慎使用。
- README与pyproject.toml描述不一致,可能影响项目理解。
- 依赖众多且未提供安全审计,存在供应链风险。
- 未提供数据流和权限说明,可能涉及隐私问题。
这个 Agent 能做什么,适合哪些场景?
FreeTodo 是一款 AI 驱动的智能待办管理应用,采用前后端分离架构:后端为 FastAPI(Python),前端为 Next.js(React + TypeScript),并支持 Electron 桌面封装。它通过对话式 AI 交互,能自动将复杂任务分解为可执行的子任务,并从对话中提取待办事项。核心功能包括层级任务、优先级、标签、截止日期、多视图日历(日/周/月)以及拖拽排期。界面支持多面板布局、深色/浅色主题,并完整支持中英文。数据存储使用 SQLite 和 ChromaDB(向量数据库)。该项目是 FreeU 项目的一部分,当前重点在输入层,收集用户日常信息并转化为待办事项。
FreeTodo 提供 RESTful API 服务,位于 lifetrace/ 目录,启动命令为 python -m lifetrace.server,默认端口 8001。前端开发服务器位于 free-todo-frontend/,使用 pnpm 安装依赖并运行 pnpm dev,自动检测后端端口。AI 功能:通过引导式问卷自动分解任务;从聊天响应中提取待办;根据当前待办上下文提供建议。日历支持拖拽排期和快速创建。数据层使用 SQLite(lifetrace.db)存储元数据,ChromaDB 存储向量用于 AI 功能。还包含 Electron 桌面应用,支持系统通知和托盘。
- 个人用户希望将一个大项目(如'学习新语言')自动分解为每日可执行的小任务,并通过对话式引导逐步完成。
- 自由职业者使用日历视图进行周计划,拖拽待办事项到具体时间段,直观安排工作日程。
- 团队项目成员通过 AI 聊天快速创建任务,并从会议纪要中提取待办事项,无需手动输入。
- 注重隐私的用户希望自托管待办应用,使用本地 SQLite 数据库,降低云端依赖。
- 开发者希望基于 FastAPI 和 Next.js 扩展或定制待办功能,利用前端模块化结构添加新面板。
这个 Agent 有哪些优点和局限?
- 基于 AI 的智能任务分解,可自动将复杂目标拆解为可操作步骤。
- 采用 FastAPI + Next.js 前后端分离,易于扩展和二次开发。
- 提供日历多视图和拖拽排期,提升日程管理效率。
- 多语言(中英文)和主题支持及 Electron 桌面应用。
- 项目有清晰的路线图,未来将集成主动服务,可看到演进方向。
- 目前处于开发早期(v0.1),功能可能不稳定,且依赖 AI 基础设施(需 LLM API 密钥)才能充分发挥。
- 需要同时管理后端(Python)和前端(Node.js)两个服务,部署复杂度较高。
- 数据存储在本地 SQLite,缺少云同步能力,不适合多设备协作场景。
- 许可证为 FreeU Community License,包含商业使用附加条件,需仔细评估是否符合自身用途。
如何安装或部署这个 Agent?
克隆仓库:git clone https://github.com/FreeU-group/FreeTodo。后端依赖:安装 Python 3.12 和 uv(curl -LsSf https://astral.sh/uv/install.sh | sh 或 Windows 使用 irm https://astral.sh/uv/install.ps1 | iex)。在仓库根目录运行 uv sync 安装依赖,并激活虚拟环境(source .venv/bin/activate 或 .venv\Scripts\activate)。前端依赖:需要 Node.js 20+ 和 pnpm,进入 free-todo-frontend/ 运行 pnpm install。
如何使用这个 Agent?
启动后端:在激活的虚拟环境中运行 python -m lifetrace.server,首次启动会生成 config.yaml,可编辑 lifetrace/config/config.yaml 自定义配置(如提示词模板在 lifetrace/config/prompt.yaml)。启动前端:在 free-todo-frontend/ 下运行 pnpm dev,它自动探测后端端口并设置代理。浏览器访问前端 URL(通常 http://localhost:3001)。使用 AI 功能需要有 LLM 提供方(如 OpenAI)的 API 密钥,具体配置需在 config.yaml 中设置。
常见问题
FreeTodo 是否能完全离线运行?
使用 AI 功能需要哪些配置?
lifetrace/config/config.yaml 中设置,并在 prompt.yaml 中可调整提示词。是否支持移动端访问?
任务数据如何备份?
lifetrace/data/lifetrace.db,可以通过备份该文件来备份任务数据,也可导出日历等。