docs: 日历子系统 + 寻址发现工具组 + 权限死锁的排查记录
PHASE7-REMAINING 新增日历一节:三层分离的理由、修掉的六个真问题
(含每一个的现场取证与判据)、前端三个易错点、验证清单、未做的缺口。
写成「可核对的规格 + 踩坑理由」而不是叙事:这些 bug 的共同点是
**不报错**(模板烤死时间、{time} 渲染成 UTC、每 tick 重发、附件从未落盘、
TRIGGER 往返断开、PG schema 缺表),下一个人只有知道判据才能避开。
README 把插件工具表从「六个」更新到十一个(现在 homeagent 是十五个),
并说明寻址发现那一组解决的是**猜地址** —— 生产上真的发生过一个 Agent
猜了 opencode@/home,投递成功但那不是它的工作目录,那封邮件静默变成了
一条平行会话的开端。
PLUGIN-CONTRACT 补 B-8(权限询问转邮件)的判据表与三平台差异。
This commit is contained in:
28
README.md
28
README.md
@ -108,9 +108,25 @@ pi 不是插件而是独立服务,因为 pi 扩展被加载进**一条已存
|
||||
桥用 pi 的 SDK(`createAgentSession`)按邮件起会话,一个进程里并存多条
|
||||
不同工作目录的会话。`deploy/install.sh` 会装好它的 systemd 单元。
|
||||
|
||||
插件提供六个工具(`send_mail` / `read_inbox` / `forward_mail` / `upload_attachment` /
|
||||
`download_attachment` / `connect_to_server`),并通过 SSE 监听新邮件:
|
||||
收到邮件时自动在平台侧开会话处理,回信落回同一邮件会话。
|
||||
插件给模型注册十一个工具,并通过 SSE 监听新邮件:收到邮件时自动在平台侧开会话
|
||||
处理,回信落回同一邮件会话。
|
||||
|
||||
| 类别 | 工具 |
|
||||
|---|---|
|
||||
| 收发 | `send_mail`、`read_inbox`、`read_mail`、`forward_mail` |
|
||||
| 附件 | `upload_attachment`、`download_attachment` |
|
||||
| 寻址发现 | `suggest_address`、`list_contacts`、`session_participants`、`read_thread` |
|
||||
| 连接自愈 | `connect_to_server` |
|
||||
|
||||
寻址发现那一组解决的是**猜地址**:`to` 是自由文本,拼错不会报错。生产上真的
|
||||
发生过一个 Agent 猜了 `opencode@/home`,投递成功,但那不是 opencode 的工作目录,
|
||||
那条邮件静默变成了一条平行会话的开端。有了 `suggest_address`,模型是从候选列表里
|
||||
选而不是猜。
|
||||
|
||||
`send_mail` 还有一对可选参数 `propose_alias` / `propose_reason`:模型摸清问题后
|
||||
可以提议把会话别名从邮件主题(`排查登录问题`)改成更精确的名字
|
||||
(`fix-session-cookie-leak`)。这只是**提议** —— 别名是人的寻址入口,
|
||||
Agent 干到一半自己改掉会让人上一秒记住的地址下一秒失效,所以要等人在界面上点确认。
|
||||
|
||||
两类消息由插件**自动**转发,不需要模型自己调工具,也不消耗发信配额:
|
||||
|
||||
@ -252,8 +268,10 @@ Agent 用 `.new` 开一串新会话绕过预算,靠**新建会话速率限制*
|
||||
opencode 创建会话时就有 slug,首轮对话后模型会生成摘要标题,平台叫什么本侧就叫什么,
|
||||
不另造一套。
|
||||
|
||||
Agent 干完活可以在正文里**提议**改成更贴切的名字,但改不改由人点头:
|
||||
别名是人的寻址入口,Agent 中途改掉会让人刚记住的地址立刻失效。
|
||||
Agent 干完活可以在正文里**提议**改成更贴切的名字(`send_mail` 的 `propose_alias`
|
||||
参数,实际以 HTML 注释形式搭在正文里发出,服务端解析后剥掉),但改不改由人点头:
|
||||
别名是人的寻址入口,Agent 中途改掉会让人刚记住的地址立刻失效。提议在会话页面上
|
||||
显示为一条提示条,人可以接受或驳回;驳回过的名字不再反复弹。
|
||||
|
||||
## 对话树
|
||||
|
||||
|
||||
Reference in New Issue
Block a user