文档
CONTEXT.md 源文件

运行时

窗、守护进程、托盘、本机接口。

本页
  1. 守护进程(Daemon)
  2. 窗口(App window)
  3. 退出(Quit)
  4. 登录启动(Launch at login)
  5. 托盘(Tray)
  6. 本机接口(Local API)
  7. 本机 token(Local token)
  8. 中断(Interrupted)
  9. 补跑(Catch-up)

守护进程(Daemon)

本机常驻的 TypeScript 进程,自己跑 tool-call 循环。关窗不停;窗口崩了轮次还在。插电时挡住空闲睡眠;合盖、菜单栏睡眠、没电、关机仍会睡,唤醒后续上。只有窗口进程还活着(含藏到托盘)时,被杀的守护进程会被拉起来;窗也没了之后再崩就停,直到你再开 App 或下次登录。

Avoid: 云电脑, 24/7 服务器, 把 UI 进程当运行时, 合盖仍继续, 杀一次就停, 独立 KeepAlive 登录项

窗口(App window)

Tauri 桌面窗,里面是 Svelte 信使。关窗是隐藏到托盘,不是退出;隐藏时仍留在 Dock。登录时只到 Dock 和托盘,窗不弹。点 Dock / Cmd-Tab / Spotlight / 托盘左键 / 再开 App 把窗叫回来。同时只跑一个窗口进程;第二次启动只唤醒已有的那个并连上已有守护进程。窗口崩了不会自己回来。连上守护进程之前:退出可用,Stop 不可用,信使是「连不上运行时」。拖过的宽高和是否最大化,退出后再开还是关前那样;不记位置,免得换显示器落到屏外。

Avoid: 只用浏览器打开, 无托盘, 隐藏即从 Dock 消失, 窗口 KeepAlive, 登录抢屏, 多窗口, 窗崩当退出

退出(Quit)

结束这次会话:窗口进程和守护进程都停,托盘和 Dock 都消失。进行中的轮次标成中断。不是关窗。不动登录启动偏好。关机和注销在轮次上也按退出处理。开发态同一条规则。

Avoid: 关窗当退出, 只关窗留无头守护进程, 退出当关掉开机启动, 开发态 Cmd+Q 只关窗

登录启动(Launch at login)

可选,默认开。登录时只拉窗口进程到 Dock 和托盘,信使窗不弹;窗口进程再确保守护进程在跑。关掉只影响下一次登录,不杀当前这次;下次登录窗和守护进程都不来。退出也不清这个开关。守护进程不是自己的登录项。

Avoid: 登录弹窗, 关掉立刻杀掉当前这次, 守护进程自己当登录项, 退出清掉开机启动, 关掉开机启动却留下会自己起来的作业

托盘(Tray)

窗口进程上的菜单栏图标。左键把窗叫回来。右键:显示窗口、Stop(没开窗则最近活动轮)、退出。没有隐藏、没有暂停守护进程。窗崩了托盘也没了。

Avoid: 托盘角标, 第二套信使, 守护进程自己做托盘

本机接口(Local API)

守护进程在 127.0.0.1 上给窗口用的 HTTP + WebSocket,带本机 token。变更走 HTTP;转录流走一条只收的 WebSocket。窗口经它读写名册、发消息、订阅转录流。

Avoid: 把 UI 进程当运行时, 云 API, 双向命令通道, 工作区文件当 HTTP 资源, 把本机 token 放进 URL

本机 token(Local token)

守护进程每次进程启动新铸的随机秘密,用来认证对本机接口的请求。HTTP 用 Authorization: Bearer;WebSocket 在连上后第一条消息带上,不进 URL。窗崩不换;守护进程退出或崩溃后下一进程再铸。不是端点 API key,不进 SQLite,不进仓库。

Avoid: API key, 安装一次的长活密钥, 写进 .env, 放进 WebSocket query

中断(Interrupted)

守护进程挂了、被杀后拉起、你退出、关机或注销时,进行中的轮次被标成中断。转录里那一行和其他 Bot 消息一样带头像和名字,「继续」贴在「中断」气泡后面:新开一轮、触发条是这条中断行,不重试断掉的那一下;该 Bot 的下一轮(哪个会话都行)能看见「上次断了」,看一次即止。合盖 / 系统睡眠不是中断:冻住,醒来接着跑。窗口崩了不是中断:守护进程继续。补全超时、流挂、端点 4xx/5xx 不是中断。健康检查暂时失败而守护进程进程还在,也不是中断:窗不拉第二份,第二份抢不到端口就不改库。

Avoid: 从断点接着调工具, 睡眠当中断, 关机当睡眠, 窗崩当中断, 把「上次断了」永远挂在人设上, 把补全超时当中断, 把端点错误当中断, 把健康检查超时当中断

补跑(Catch-up)

守护进程回来之后(唤醒、崩溃拉起、退出后再开、开机),每个错过的日程只再执行最近该跑的那一次,不把错过的周期连开。

Avoid: 错过就跳过, 错过几次跑几次, 只补睡眠不补退出