跳到主要内容
用户指南 · 04

对话(Chat)

对话页面是 OpenJellyfish 的核心界面,支持与 AI Agent 进行流式对话。

4.1 对话列表

  • 位于侧栏中,显示所有历史对话
  • 点击 + 按钮创建新对话
  • 点击对话条目切换到该对话
  • 悬浮显示删除按钮
  • 后台仍在 streaming 的对话切换回去时会自动恢复显示

4.2 消息输入

底部输入区域包含:

  • 文本输入框:支持多行输入(Shift+Enter 换行,Enter 发送)
  • 能力开关:点击展开能力选择栏
    • 🌐 联网:启用网页搜索和抓取(Admin 默认始终启用)
    • 🎨 绘图:启用 AI 图片生成
    • 🔊 语音:启用 TTS 语音生成
    • 🎬 视频:启用 AI 视频生成
  • Plan Mode:启用计划模式,Agent 先规划再执行(需审批)
  • 模型选择器:下拉选择当前对话使用的 AI 模型
  • 图片附件:支持三种方式添加图片
    • 📎 点击附件按钮选择文件
    • Ctrl+V 粘贴剪贴板图片
    • 拖拽图片到输入区
  • 语音输入:单击麦克风按钮开始录音 → 再次单击停止 → 自动转写填入输入框;录音中按 Esc 取消
  • 工作区锁:工具栏锁图标,选择 自动 / 手动路径 / Agent 自声明 三种模式(见 §4.10);chat 顶栏另有入口打开锁状态面板
  • 发送/Stop 按钮
    • 正常状态显示发送按钮(纸飞机图标)
    • 流式输出时变为红色 Stop 按钮,点击中止当前回复

4.3 消息队列(Query Queue)

当 Agent 正在流式回复时,你仍可继续输入并发送——消息会进入当前对话的排队列表(显示在输入区上方),而不是被丢弃。

行为说明
默认排队新消息 FIFO 入队;当前轮次 done 后自动按顺序发送下一条
↵ 立刻执行排队行右侧的回车按钮:中断当前流式轮次(保留已生成内容),用该条消息同一条 SSE 连接继续对话
编辑 / 排序排队项可改文案、上移/下移;HITL 审批等待期间队列功能受限(仅排队模式可用)

队列仅作用于 Admin 对话页,不影响 Service 消费者页面。

4.4 流式消息展示

AI 回复以流式方式展示,包含以下类型的块:

文本块

  • Markdown 格式渲染,支持代码高亮(17 种常用语言)
  • 代码块使用 JetBrains Mono 字体
  • 媒体嵌入:自动识别 <<FILE:/generated/xxx.png>> 标签,展示图片/音频/视频/PDF/HTML

思考块(Thinking Block)

  • 显示 AI 的推理思考过程(仅 Thinking 模型)
  • 可折叠/展开(点击标题栏)
  • 流式输出时显示三点弹跳动画
  • 使用 Brain 图标标识

工具调用(Tool Indicator)

  • 显示工具名称和参数预览
  • 执行中显示旋转加载图标
  • 完成后显示绿色勾号
  • 结果可折叠查看
  • 使用 Wrench 图标标识

子代理卡片(Subagent Card)

  • 显示子代理任务描述
  • 内部工具调用按时间顺序展示(text/tool/thinking 交替的 timeline)
  • 流式输出子代理的回复
  • 使用 Robot 图标标识

审批卡片(Approval Card)

  • 文件操作审批:显示文件修改的 diff 预览(edit_file 为 git 风格 hunk),可选择批准或拒绝
  • Plan 审批:显示 Agent 的执行计划,可编辑后批准或拒绝
  • 审批按钮使用 Check(批准)和 X(拒绝)图标

文件写入流式预览(Streaming File Preview)

  • write_file / edit_file 在 LLM 生成参数的过程中即显示代码预览(打字机效果)
  • 审批前即可看到即将写入/修改的内容

定时任务结果卡片(Scheduled Task Card)

  • 定时任务执行结果以专用蓝色卡片展示(与工具调用区分)
  • 任务元信息(名称、状态、输出摘要)可折叠查看

4.5 历史消息

  • 用户消息显示在右侧(粉紫渐变气泡)
  • AI 消息显示在左侧(带水母 Logo 头像)
  • 历史消息自动按交错顺序回放(thinking → text → tool → text → subagent → text…)
  • 用户附件以缩略图画廊形式展示,点击可放大

4.6 智能滚动

  • 新消息自动滚动到底部
  • 用户向上滚动浏览历史时暂停自动滚动
  • 返回底部时恢复自动滚动

4.7 断流恢复

  • 后端崩溃 / 网络中断时,已生成的部分内容会自动持久化(标记 ⚠️ [连接中断 — 已保存已生成内容])
  • 切换回正在 streaming 的对话时,前端会显示黄色横幅,提供 「终止并保存」「刷新状态」 按钮
  • 后台 streaming 中无法发送新消息(防止冲突);可使用 §4.3 队列在中途追加后续指令

4.8 YOLO 模式(自动批准)

设置 → 通用 中开启 YOLO 模式 后,Admin 对话中的 HITL 审批(write_file / edit_file / propose_plan 等)将自动批准,不再弹出审批卡片。

  • 仅作用于 Admin 端;Service 消费者页面无审批流程,不受此开关影响
  • 状态保存在浏览器 localStorage,各设备独立
  • 发生过自动批准的对话,输入区底部会显示极简橙色 yolo 小标签提示

4.9 @ 文件引用

在输入框输入 @ 可唤起文件候选列表(模糊搜索 docs/scripts/generated/ 等),选中后插入 [[FILE:/path]] 芯片。

  • 发送时后端自动展开为 <<FILE:/path>>,与聊天渲染、文件面板跳转一致
  • 点击聊天中的文件链接可一键在右侧文件面板定位

4.10 工作区锁(Workspace Lock)

防止多个 Agent 进程(对话、定时任务、子代理)同时写入同一目录。工具栏锁图标可选择:

模式行为
自动优先独占整个工作区;若冲突则退化为锁定空闲的顶层目录
手动仅锁定你勾选的路径(文件或目录)
Agent不预锁,由 Agent 运行时调用 acquire_workspace 自行声明

chat 顶栏 按钮可查看当前活跃进程、占用路径,并手动释放(不中止 Agent,仅解锁)。

4.11 左侧 Query 导航

对话区左侧悬浮短横线导航:每条用户消息对应一根 bar。滚动时高亮当前可见的 query;点击可跳到对应消息(长会话配合虚拟列表使用)。


4.12 Codex / Cursor 对话(可选)

用途:用已有 Codex / Cursor 账号完成资料阅读、文件修改、研究和产物整理,并把方法沉淀到文档里。DeepAgents 仍为默认;旧对话不会自动改用新引擎。

第一次连接

  1. 主机维护者在 macOS / Linux 后端安装对应 CLI,启用 Runtime 并保持单 API worker。具体环境配置见本书 11.10;Docker 要将 CLI 装在应用容器内。
  2. 打开 /superadmin。本机可从启动器的「查看主机 key」取得凭据;源码部署执行 python3 launcher.py --superadmin-key,Docker 执行 docker compose exec openjellyfish python launcher.py --superadmin-key。这是主机管理凭据,不是普通账号密码或 Service Key。
  3. 创建 Codex 或 Cursor 连接,在供应商官方网页完成登录;Codex 远程主机可选择设备码方式。探测可用模型,将需要的连接和模型授权给已有管理员账号。
  4. 回到普通管理员界面,新建对话,在输入区选择获授权的 Codex / Cursor 模型,发送第一条消息。连接为空时,请维护者检查启用状态、CLI 路径、登录及模型授权。

每天怎么用

  • 把资料放进文档工作区,再在对话中指定任务和所需资料。例如:「依据品牌规则审校这份介绍,给出每条修改的依据,并把待确认事项写入进展文档。」
  • 首条消息绑定引擎与连接;同一连接内可以逐轮换获授权的模型,切换引擎或账号需新建对话,不会自动搬运原生会话上下文。
  • 查看连续工具进展、展开输入与结果,预览文件和编辑差异;长对话可通过左侧问答导航定位。归档完成后,内联文件仍按回答中的顺序展示。
  • 把确认有效的经验写回规则、示例和进展文档,再做一次真实任务验证。分发时需明确选择 Service 的 Prompt 版本与开放资源;不会自动复制管理员所有记忆和权限。
  • 支持流式输出、附件、停止和产物预览 / 下载。管理员关闭浏览器不会取消运行,重新打开对话可以恢复输出和待审批项;要停止请使用停止按钮。

审批、额度与适用范围

「设置 → 通用 → YOLO」控制管理员每一轮的自动审批;关闭后下一轮恢复手动审批。YOLO 仍检查账号授权、工作区范围及供应商允许的操作,不扩大 Service 权限。

同一连接共享额度并串行运行,排队不代表卡死。授权撤销、登录失效或额度不足会明确报错,不会偷偷换账号或改走付费 API。

v1.3.1 同时支持内部 Service 分发,见 6.6.7。管理员个人微信仍走原执行路径;套餐 Service 暂不支持定时任务、语音或视频。原生搜索和生图取决于所选客户端、模型、账号及已开放能力。