已完成 · 本地运行
PersonalAI
可靠执行型个人 AI Agent
面向个人文件与自然语言任务的 AI 工作空间。在连续工具调用之外,关注任务如何恢复、文件如何安全修改,以及权限如何被正确执行。
Agent 执行流程机制示意
任务状态持久化PersonalAI
工程机制示意,非在线运行画面
- 项目状态
- 已完成 · 本地运行
- 公开演示
- 公开 Demo 筹备中
- 主要技术
- Python / Agent Runtime / PostgreSQL / SSE
项目背景
自然语言任务往往包含多个步骤,也可能跨越多轮工具调用。这个项目把重点放在模型之外的执行层:将任务状态持久化,将实际权限与模型意图分离,并在文件被修改前确认读取证据仍然有效。
架构与职责
Web 工作空间
任务计划 / 审批 / 文件 Diff
Agent Runtime
规划 / 工具调用 / 执行参数校验
Durable Worker
持久化状态 / 失败处理 / 恢复
文件工具与 PostgreSQL
读取证据 / 原子写入 / 任务存储
SSE 将执行过程反馈到 Web;工具审批与任务持久化承担不同职责。
设计与取舍
从一次请求,到可恢复的任务
- 问题
- 长任务包含多轮工具调用,执行中断后需要保留已经发生的过程。
- 做法
- 使用统一 Agent Runtime 与 Durable Worker,将执行状态持久化,跟踪工具调用和失败处理,为任务恢复保留依据。
- 边界
- 持久化状态并不等于任意外部副作用都能自动回滚;恢复仍需考虑每种工具操作的执行语义。
在写入之前,再确认一次事实
- 问题
- Agent 读取文件后,文件可能已被编辑器或其他进程修改。
- 做法
- 记录文件读取证据与版本信息,修改前校验当前状态,并采用原子写入,防止基于过期内容覆盖外部修改。
- 边界
- 校验信息由运行时管理,不让模型自行生成文件哈希、版本或审批 ID。
把“想执行”与“允许执行”分开
- 问题
- 模型生成了工具调用参数,并不代表用户已经授权实际操作。
- 做法
- 区分用户意图、实际权限和审批决定,结合敏感路径保护、历史禁止约束与对话内授权复用,限定文件操作范围。
- 边界
- 授权复用发生在明确的对话和权限范围内,不能从一次同意推导无限权限。
让执行过程可以被理解
- 问题
- 仅展示最终回答,难以解释任务在哪里等待、修改了什么。
- 做法
- 通过 SSE 推送流式回复,在 Web 端呈现任务计划、工具调用、审批状态、执行结果与文件 Diff。
- 边界
- 流式内容在内存中处理;不将“实时展示”描述成未经验证的完整审计或事件溯源系统。
当前状态
核心实现
- Agent Runtime 与 Durable Worker
- 任务状态持久化、失败处理与恢复
- 文件读取证据校验与原子写入
- 工具授权、审批与运行时元数据隔离
- SSE 流式回复及 Web 执行过程展示
公开演示前的规划
- 公开演示环境与演示数据隔离
- 面向公开访问的配额、成本与工具边界评估
规划事项尚未作为在线服务开放。
项目已完成并在本地运行,公开演示尚未开放。这里聚焦 Agent 执行层;文档检索、Rerank 与引用定位实践见独立的文献阅读 Demo。