对话与会话
Session 是 Anyy 保存持续对话的边界。消息、工具活动、审批、澄清、所选 Role 与模型状态,都会随会话保留,供之后继续使用。
会话属于当前 Profile,不属于 Dashboard 或终端进程。关掉网页、退出 TUI,都不会删除历史。
Session History 和长期记忆是两类存储:会话位于 state.db 及其引用对象;跨会话的用户事实与助手记忆分别位于 memory/USER.md、memory/MEMORY.md。
普通会话与后台会话
| 类型 | 用途 |
|---|---|
| Conversation | 由你从 Dashboard、TUI、CLI 或 Channel 发起的日常聊天 |
| Background | 定时任务、委派工作和常驻检查使用的独立后台会话 |
Dashboard Chat 用 Chats 和 Background 分开显示。寻找 Cron 或委派结果时,两边都要检查。
会话中的自动行为
普通对话有两项由模型辅助完成的生命周期动作。
自动生成标题
新会话最初显示为 New session。第一次用户/助手交流成功后,Anyy 会使用该 Session 已选的 Provider 与 Model,依据第一条用户消息的主要语言生成 3–7 个词的简短标题。
- 标题请求在前台回答完成后独立运行,超时为 30 秒;
- 第一轮交流会发给所选 Provider,因此会多一次模型请求,并可能增加 Token 与费用;
- 如果创建 Session 时已经明确给了标题,自动流程不会覆盖;
- 生成失败或结果不可用时,前台回答不受影响,标题继续保留 New session。
自动压缩上下文
开始新一轮前,Anyy 会按照当前模型配置的 Context Length 估算上下文压力。达到 50% 时可以把较早部分整理成摘要;如果检查时已经达到 85%,则进入优先级更高的 Hygiene 路径。
压缩会保留最近消息,并为之后的模型输入保存一份 Current Context Summary。它不会删除或改写原始 Transcript;Dashboard History、Session Search、Backup 和 Audit Evidence 仍以原记录为准。
摘要通常由当前 Session 选择的 Provider/Model 生成,因此可能多一次请求、Token 和费用。模型摘要失败时,Anyy 可以退回到有边界的静态摘要,原始对话仍然保留。50% 与 85% 是根据模型上下文配置计算的运行保护线,不是“每 N 个 Turn”执行一次的定时任务。
压缩解决的是“同一段长对话如何继续”。需要跨 Session 使用的个人事实,应通过记忆保存到 USER.md 或 MEMORY.md。
在 Dashboard 对话
先启动 Dashboard,再进入 Chat:
anyy dashboard
点击 New session,输入内容后按 Enter 发送;换行使用 Shift+Enter。点击已有会话即可恢复历史,更早的会话与消息会按需分页加载。
| 控件 | 作用 |
|---|---|
Enter | 发送当前消息 |
Shift+Enter | 插入换行 |
| Stop | 请求中断正在运行的一轮 |
/ | 浏览当前会话实际可用的命令 |
| 附件按钮或拖放区 | 给下一条消息添加文件 |
Chat 顶部还可以查看或切换当前会话的模型、推理等级和执行模式。相关规则分别见模型与服务商与审批和 ChangePlan。
Queue 与 Steer
当前已有一轮正在运行时,新输入默认排成下一项。
- Queue:当前工作结束后,再作为独立一轮执行;
- Steer:把这条输入用于纠正正在进行的 Execution。
Dashboard 会显示等待中的条目,并允许执行前编辑或取消。只有仍存在活动 Execution 时才能 Steer;TUI 提供对应的选择、编辑、取消和 Steer 操作。
“不要读 PDF,改用 CSV”是在纠正当前工作;“完成后再拟一封邮件”应作为下一项。
回答 Clarification
信息不足时,Chat 会显示 Clarification needed 卡片。你可以选择已有选项,也可以在输入框中回答。卡片有效期间,这条输入会回答问题,不会另起一轮普通任务。
已经解决的 Clarification 会保留在会话历史中,让之后的工作知道当时作出了什么选择。
添加附件
Dashboard 一次最多接收 5 个非空文件,每个文件最大 50 MiB。还未随消息发送的暂存文件只属于当前会话,24 小时后过期。
模型或工具需要读取附件时,内容可能被发送到已配置的服务商或 Backend。只有在目的地可信且任务确实需要时,才上传私人文件;凭据不应作为附件发送。
下载、导出和留存规则见文件与交付物。
中断与恢复
点击 Stop 会请求中断当前一轮。已经提交的消息与工具事件仍保留;随后可以在同一会话修正任务,或新建会话。
停止 Dashboard 不会删除 Session:
anyy dashboard --stop
anyy dashboard
真正负责连续性的是 Gateway 与 Profile 数据库,不是 Dashboard Web 进程。
TUI 可以通过 /sessions 选择历史,也可以直接恢复已知 ID:
anyy --resume SESSION_ID
找不到时先核对 Profile 或 --home。Anyy 不会跨 Profile 搜索 Session ID。
从终端新建会话
进入 TUI:
anyy
输入 /new 新建;需要指定初始 Role 时:
anyy --role scribe
单轮 CLI 调用:
anyy chat "整理我今天的优先事项"
anyy chat --session SESSION_ID "补充一个新的限制条件"
常用参数:
--role ROLE:只用于新建会话;--session ID:继续已有会话;--json:返回 Session、Execution、回答和审批信息;--yes:为本次调用批准受支持的待处理审批。
--role 与 --session 不能同时使用。anyy chat 需要已经运行的常驻 Gateway。
每个会话自己的执行模式
Session 会保存 approval 或 yolo,恢复会话后仍然沿用。Dashboard Chat 可从顶部控件切换;TUI 使用:
/yolo on
/yolo off
启用前先阅读审批与 ChangePlan。
Slash Commands
在 Dashboard Chat 输入 /,应以实时菜单为准。可用命令会随 Anyy 版本、界面、Session、已启用 Skill 和能力变化。
稳定的命令类别和界面差异见 Slash Commands 参考。
生命周期
- 新建会话不会改动旧会话。
- 中断后,已经提交的消息和工具活动仍然存在。
- 自动标题与上下文摘要可能产生额外的 Provider Request。
- 上下文压缩只改变后续模型输入,不改写持久 Transcript。
- 后台工作保留自己的可查看历史。
- 正常 Profile Backup 包含 Session 数据。
- 当前没有面向用户的 Dashboard、TUI 或 CLI 单会话删除操作。
使用建议
- 一个长期主题使用一个 Session。
- Role、模型或推理方式发生大变化,且希望上下文干净时新建会话。
- 独立持续运行的工作放到 Background。
- 审批是检查实际影响的步骤,不要形成无条件点击习惯。
- 工具与 Provider 延迟不同,看清活动状态后再决定是否中断。
- 程序调用需要 ID 时使用
--json。
常见问题
| 现象 | 处理方法 |
|---|---|
| 最近聊天找不到 | 核对 Profile,并检查 Chats 与 Background |
| 无法发送 | 检查主模型与凭据,再运行 anyy status |
| 修正内容变成下一轮 | 在目标 Execution 结束前使用 Steer |
| 附件被拒绝 | 一次不超过 5 个,每个不超过 50 MiB |
TUI 无法打开 /sessions | 等当前一轮结束,或先中断 |
anyy chat 连接失败 | 先运行 anyy gateway start |
| 恢复后仍使用旧 Role/模型 | 这是会话自身状态;使用新默认值请新建 |
| Dashboard 不再实时更新 | 刷新页面;仍有问题时运行 anyy status 并重启 Dashboard |