codexpanel 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@ const crypto = require("crypto");
11
11
  const readline = require("readline");
12
12
  const { spawn, spawnSync } = require("child_process");
13
13
 
14
- const VERSION = "0.1.4";
14
+ const VERSION = "0.1.6";
15
15
  const PROD_URL = "https://codexpanel.com";
16
16
  const TEST_URL = "https://jd.6a.gs";
17
17
  const LOCAL_HOST = "127.0.0.1";
@@ -26,6 +26,8 @@
26
26
 
27
27
  从 `0.1.4` 开始,同一个安装流的三种绑定入口是幂等的:浏览器绑定页、控制端输入 8 位绑定码、手机扫码三者任意一个先确认后,另外两个入口再次操作只会提示“已经确认/已经完成,无需重复操作”,不会重新签发 setup token 或 device token。
28
28
 
29
+ 从 `0.1.5` 开始,电脑端绑定页把用户、绑定码、设备和执行按钮分区展示。绑定页不再内置单独的用户名/密码表单;未登录或切换用户时,会跳转到 CodexPanel 首页的统一登录组件,登录成功后再回到当前绑定页。
30
+
29
31
  登录成功后,页面会检查这台设备是否已经绑定过其他账号。如果已经绑定,它不会自动抢绑,而是让你选择:
30
32
 
31
33
  - 保持原绑定并退出
@@ -379,6 +381,7 @@ POST /api/desktop/setup/complete
379
381
  ```
380
382
 
381
383
  8. 写入本地配置、启动 agent,并打开本地状态面板。
384
+ 9. 有限次数确认云端是否已经看到这台设备在线;如果网络或心跳暂时未就绪,安装不会无限等待,会提示查看控制台、本地面板或日志。
382
385
 
383
386
  `agent-runtime.json` 是本机 agent 的主要数据来源,包含:
384
387
 
@@ -631,6 +634,7 @@ POST /api/action
631
634
  - agent PID
632
635
  - 安装目录
633
636
  - workspace
637
+ - 当前工作模式、审批权限、sandbox、approvalPolicy、approvalsReviewer
634
638
  - 最近心跳和最近错误
635
639
  - Codex app-server 状态
636
640
  - WSS/tunnel 状态
@@ -647,6 +651,32 @@ POST /api/action
647
651
 
648
652
  这些动作不会直接执行任意命令,只调用 bootstrap 生成的固定 helper 脚本。
649
653
 
654
+ ### 控制台工作模式和审批权限怎样变成真实状态
655
+
656
+ 从 `0.1.6` 开始,控制台输入框下方的“工作模式”和“审批权限”不是临时 UI 选项,而是电脑端 Codex 的运行控制态。
657
+
658
+ 交互过程是:
659
+
660
+ 1. 用户在控制台选择“默认模式 / 计划模式 / 目标模式”或“请求批准 / 替我审批 / 完全访问”。
661
+ 2. 控制台调用 desktop-agent 直连 RPC `setControlState`;如果是 relay 直连 app-server 设备,则调用 `POST /api/app/control-state`。
662
+ 3. 电脑端 agent 把标准化后的 `controlState` 写入本机 `agent-runtime.json` 和 agent state,字段包括 `sandbox`、`approvalPolicy`、`approvalsReviewer`、`networkAccess`、`workMode`、`permissionPreset`。
663
+ 4. agent 通过心跳、status RPC、本地状态面板 `/api/status` 把真实状态回传给 relay 和控制台。
664
+ 5. 后续 `thread/start`、`thread/resume`、`turn/start` 会从设备已保存的 `controlState` 补默认值,保证真正发给 Codex app-server 的权限和模式与控制台看到的一致。
665
+
666
+ 审批权限的映射是:
667
+
668
+ | 控制台选项 | sandbox | approvalPolicy | approvalsReviewer | networkAccess |
669
+ | --- | --- | --- | --- | --- |
670
+ | 请求批准 | `workspace-write` | `on-request` | `user` | `false` |
671
+ | 替我审批 | `workspace-write` | `on-request` | `auto_review` | `false` |
672
+ | 完全访问 | `danger-full-access` | `never` | `user` | `true` |
673
+
674
+ 工作模式的映射是:
675
+
676
+ - 默认模式:不额外注入协作模式。
677
+ - 计划模式:向 Codex app-server 注入 plan mode 配置和开发者指令,要求先给计划、经用户确认后再改文件或执行系统变更。
678
+ - 目标模式:注入目标导向开发者指令,让 Codex 围绕当前目标持续推进,同时仍遵守高风险操作确认。
679
+
650
680
  ## 数据从哪里来
651
681
 
652
682
  安装和运行过程里的主要数据来源如下:
@@ -663,6 +693,7 @@ POST /api/action
663
693
  | deviceToken | setup flow 审批后生成 | agent 长期鉴权,明文只在本机保存 |
664
694
  | deviceTokenHash | relay 计算并保存 | 服务端验证 deviceToken |
665
695
  | panelToken | bootstrap 本机生成 | 本地状态面板鉴权 |
696
+ | controlState | 控制台 `/api/app/control-state` 或 desktop-agent `setControlState` RPC | 决定后续 Codex 工作模式、审批路由、sandbox 和网络权限 |
666
697
  | agentRelease | `/agent/version` 或 pull-control 返回 | agent 自更新 |
667
698
  | heartbeat 状态 | agent poll 和 tunnel heartbeat | 面板展示、服务端在线状态 |
668
699
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codexpanel",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "CodexPanel mobile control plane monorepo.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,