docs: record execution foundation rollout
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
- `src/app`:当前 Web 页面和 API 路由
|
||||
- `src/components`:共享 UI 和交互组件
|
||||
- `src/lib`:文件型状态模型和聚合投影视图
|
||||
- `src/lib/execution`:当前已落地的执行底座抽象层,包含 `ExecutionBackend / PromptAssembler / PermissionPolicy / RemoteRuntimeAdapter / OrchestrationBackend` 默认实现
|
||||
- `local-agent`:本地设备端心跳 + thread-context 上报服务
|
||||
- `deployment`:`Caddy`、`systemd`、`launchd` 配置
|
||||
- `scripts`:本地启动、安装、远端部署脚本
|
||||
@@ -55,6 +56,8 @@
|
||||
- `POST http://127.0.0.1:3000/api/auth/logout` 正常,退出后访问受保护 `/api/v1/*` 会返回 `401`
|
||||
- `GET http://127.0.0.1:3000/api/v1/user/ota/package` 正常,当前会返回最新 APK 包
|
||||
- 当前这台开发机的 `launchd` 常驻 `local-agent` 已恢复:`GET http://127.0.0.1:4317/health` 现在可在数十毫秒内返回,且在手动 heartbeat 执行期间仍能正常回包
|
||||
- 当前 Boss 已新增 `src/lib/execution/` 执行底座抽象层;当前生产主链仍然沿用 `local-agent -> codex exec resume`,只是执行责任已开始通过 `ExecutionBackend / PromptAssembler / PermissionPolicy / RemoteRuntimeAdapter / OrchestrationBackend` 默认实现收束
|
||||
- 当前 `claw-code` 与 `oh-my-codex` 仍未正式接入生产执行链;当前状态是 contract-ready,可在后续通过 adapter 方式接入
|
||||
- `GET http://127.0.0.1:4317/api/v1/skills` 正常,已返回本机扫描到的 Codex Skill
|
||||
- `POST http://127.0.0.1:4317/api/v1/heartbeat` 正常,且会顺带触发 `thread-context` 上报
|
||||
- `launchd` 已加载:`~/Library/LaunchAgents/com.hyzq.boss.local-agent.plist`
|
||||
@@ -208,6 +211,7 @@ device-agent 当前职责:
|
||||
- 对普通单线程会话,认领到的 `conversation_reply` 任务会直接恢复到目标 Codex 线程,并把线程原始回复回写到对应聊天窗口
|
||||
- 对群聊线程分发任务,认领到的 `dispatch_execution` 任务会把原始线程结果和主 Agent 汇总一起回写到群聊消息账本
|
||||
- `local-agent` 对 `conversation_reply / dispatch_execution` 当前会优先使用 `codex exec resume <targetCodexThreadRef>`,只有缺失真实线程引用时才退回 `--ephemeral`
|
||||
- `local-agent` 当前的任务完成回写已通过 `RemoteRuntimeAdapter` 标准化,`conversation_reply / dispatch_execution` 的完成结果都会先归一到统一远程执行结果结构,再进入主 Agent 完成路由
|
||||
- `local-agent` 当前会先启动本地 `4317` 健康监听,再异步执行首次 heartbeat 和 task poll,避免控制面短暂阻塞时本地健康检查一起挂死
|
||||
- Codex 项目/线程扫描当前已搬到 worker 线程执行,避免 `.codex/logs_1.sqlite` 和 `state_5.sqlite` 的同步扫描阻塞主线程 HTTP 响应
|
||||
- 如果某个历史群聊里已经没有真实线程成员,当前不会再表现成“发了没反应”,而是会在群里追加一条 `system_notice`,提示用户先重新整理群成员
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
- 状态文件:通过 `BOSS_STATE_FILE` 显式指向 `data/boss-state.json`
|
||||
- 当前登录态:`boss_session` HttpOnly Cookie
|
||||
- 当前原生恢复态:`restore token + SharedPreferences`
|
||||
- 当前执行底座:`src/lib/execution/`,已包含 `ExecutionBackend / PromptAssembler / PermissionPolicy / RemoteRuntimeAdapter / OrchestrationBackend` 默认实现
|
||||
|
||||
### 1.2 boss-android-native
|
||||
|
||||
@@ -89,6 +90,7 @@
|
||||
- 当前常驻方式:`launchd`
|
||||
- 当前额外职责:向云端上报 `thread-context`
|
||||
- 当前新增职责:递归扫描本机 `~/.codex/skills` 并同步到设备 Skill 接口
|
||||
- 当前完成回写:`conversation_reply / dispatch_execution` 会先标准化成统一远程执行结果,再调用 `/api/v1/master-agent/tasks/[taskId]/complete`
|
||||
|
||||
### 1.4 Caddy
|
||||
|
||||
@@ -158,6 +160,25 @@
|
||||
- 用途:读取当前完整状态
|
||||
- 注意:这是内部 MVP 调试接口,会直接返回整个 `BossState`
|
||||
|
||||
### 3.1.1 执行底座抽象层
|
||||
|
||||
- 目录:`src/lib/execution/`
|
||||
- 当前默认实现:
|
||||
- `types.ts`
|
||||
- `execution-backend.ts`
|
||||
- `orchestration-backend.ts`
|
||||
- `prompt-assembler.ts`
|
||||
- `memory-resolver.ts`
|
||||
- `permission-policy.ts`
|
||||
- `tool-registry.ts`
|
||||
- `backend-selector.ts`
|
||||
- `remote-runtime-adapter.ts`
|
||||
- `backends/*`
|
||||
- 当前状态:
|
||||
- 已在生产代码中被 `boss-master-agent.ts`、`local-agent/server.mjs` 和 `master-agent task complete route` 使用
|
||||
- 当前仍服务 Boss 自身执行链
|
||||
- 当前未直接接入 `claw-code` 或 `oh-my-codex`
|
||||
|
||||
### 3.2 认证相关
|
||||
|
||||
#### `POST /api/auth/send-code`
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
- 本地 Skill 扫描接口:`http://127.0.0.1:4317/api/v1/skills`
|
||||
- 本地 agent 手动 heartbeat:`POST http://127.0.0.1:4317/api/v1/heartbeat`
|
||||
- `launchd` 已安装:`~/Library/LaunchAgents/com.hyzq.boss.local-agent.plist`
|
||||
- 当前执行底座抽象层已落地在 `src/lib/execution/`,并已补齐 `ExecutionBackend / PromptAssembler / PermissionPolicy / RemoteRuntimeAdapter / OrchestrationBackend` 默认实现
|
||||
- 当前生产主链仍然沿用 `local-agent -> codex exec resume -> /api/v1/master-agent/tasks/[taskId]/complete`,执行底座重构以“先抽象、不改行为”为准
|
||||
- 当前 `claw-code` 与 `oh-my-codex` 还未正式接入生产链,只是已经具备 adapter-ready 的 contract 基础
|
||||
|
||||
本地已知运行方式:
|
||||
|
||||
@@ -185,6 +188,7 @@ cd /Users/kris/code/boss
|
||||
- 当前设备导入决议已经升级成真正通过 `local-agent -> codex exec -> /complete` 回写的主 Agent 决议链;Web 和 Android 前台都会在 `pending_resolution` 阶段显示审核任务状态,并在任务完成后自动刷新出正式导入建议
|
||||
- 当前 `local-agent` 已改成先启动本地 `4317` 健康监听,再异步跑首次 heartbeat 和 task poll,避免控制面短时阻塞时本地健康探针不可用
|
||||
- Codex 项目/线程扫描当前已搬到 worker 线程执行,避免 `.codex/logs_1.sqlite` 和 `state_5.sqlite` 的同步扫描阻塞主线程健康接口
|
||||
- 当前 `local-agent` 的任务完成回写已通过 `RemoteRuntimeAdapter` 标准化,`conversation_reply / dispatch_execution` 的完成载荷会先做统一归一化,再进入主 Agent 完成路由
|
||||
- 原生 Android 当前对 `master-agent` 聊天不再依赖长时间同步等待;发送后会先显示“主 Agent 思考中”,右上角改成微信式 `...` 菜单,菜单项包含 `模型 / 推理强度 / 会话信息 / 刷新`
|
||||
|
||||
## 2. 服务器状态
|
||||
|
||||
@@ -31,7 +31,10 @@ export async function POST(
|
||||
const { taskId } = await context.params;
|
||||
|
||||
try {
|
||||
const normalized = normalizeRemoteExecutionResult(body);
|
||||
const normalized = normalizeRemoteExecutionResult({
|
||||
...body,
|
||||
status: body.status === "failed" ? "failed" : "completed",
|
||||
});
|
||||
const task = await completeMasterAgentTask({
|
||||
taskId,
|
||||
deviceId: body.deviceId.trim(),
|
||||
|
||||
Reference in New Issue
Block a user