使用说明

Session 会话:把 Agent 通知、确认与回复放在同一个聊天里

了解 Ntfyx 新版 Session:在同一个 Topic 内按 session ID 聚合 CLI 与 Agent 消息,在原消息上确认,文字回复引用原问题,保留每件事的上下文。

更新于

可用状态:下一版预览

#

Session 会话与消息级交互已完成下一版 CLI、Web、iOS 和 Android 的开发实现,当前公开的 CLI 0.1.2 尚不包含这些参数。使用下方示例前,请检查 ntfyx help 是否列出 --session-id。本文介绍即将发布的体验,首页为流程示意动画,不会连接或操作真实 Agent。

Inbox → Topic → Session → 消息

#

Topic 是授权和投递通道;Session 是通道内的一段会话,通常对应 Agent 的一次运行、一次发布或一个长任务。Inbox 在各 Topic 下显示会话列表,每行展示该会话最新消息;点开后,按时间查看通知、问题与已验证回复。创建 Session 不等于新建 Topic,也不会改变授权。

层级用途示例
Inbox已授权设备的收件箱手机或 Web
Topic来源、访问权限与提醒设置开发工作
Session一件事的聊天记录发布 v2.4
消息通知或一次具体提问构建通过 / 发布预览版本?

用相同 session ID 聚合同一件事

#

CLI 连接 Topic 后,在 send 和 ask 中指定相同的 --session-id。一次任务使用稳定的 ID,新一轮任务使用新 ID;--session-name 提供可读名称。相同 ID 只在同一个 Topic 内聚合,不跨 Topic 合并;同一 Topic 的多个已授权来源可以参与同一个会话。

Terminal
ntfyx send "构建通过" --session-id release-24 --session-name "发布 v2.4"
ntfyx ask "发布预览版本?" --allow-deny --session-id release-24
ntfyx ask "接下来检查什么?" --text --session-id release-24

给 Agent 的一次运行设置会话

#

Agent 或脚本可以设置 NTFYX_SESSION_ID 和 NTFYX_SESSION_NAME,在整次运行中复用。命令行参数优先于环境变量,也支持 --sessionid 写法。ID 建议使用不含秘密的任务标识,可读上下文放在会话名称中。

Terminal
export NTFYX_SESSION_ID=release-24
export NTFYX_SESSION_NAME="发布 v2.4"
ntfyx send "测试通过"
ntfyx ask "接下来检查什么?" --text

在原消息上确认,引用原问题回复

#

允许一次、拒绝和选项直接位于提出请求的消息下方。文字题先点击那条消息的“回复”,底部输入区会引用原问题。关闭只保留草稿,不发送也不取消原请求;改答其他消息必须从那条消息发起。新问题到达不会切换输入对象。已发送回复按真实时间展示,并可点击引用返回原问题;发送中、等待重试、过期和已处理状态始终对应原请求。

不传 Session ID:每条消息独立成会话

#

没有指定 Session ID 时,每条普通消息独立成一个会话,保留原来的单条通知习惯;标题相同不会自动合并。即使多个问题属于同一 Session,每次回复仍只处理一条请求。浏览器新加入 Topic 也不会因会话聚合而获得此前的历史。

会话聚合不改变授权与加密边界

#

发送端仍核验原请求、版本、摘要与截止时间;取消、过期或拒绝都不是允许。消息与回复继续向已授权设备端到端加密,中继仍会处理必要运行元数据。Session 不增加远程执行权限,不是任意聊天或远程 Shell 的入口。涉及只能执行一次的操作,继续使用既有 result 与一次性 claim 流程。