AI
AI Coding 面试平台结构化证据与远程工作区控制台
v0.4
候选人视角演示占位恢复窗口 15 分钟

候选人工作区

这是内部演示最重要的路径:候选人从这里判断能否继续作答、从哪个入口进入 runtime、AI 使用是否留痕、断线如何恢复,以及何时冻结提交。

当前阶段
真实桌面未接入
主要入口
候选人桌面
证据范围
Prompt / URL / 命令 / Diff / Tests

Runtime 控制壳

把候选人当前这场面试先归一成一个判断面:现在能不能进真实工作区、该从哪里进、掉线后怎么回、冻结后会发生什么。

ws_fe_core_0201
scheduledprovisioning演示占位演示占位需服务端 decisionTTL 剩余 3 小时 22 分钟Reconnect 15m未绑定签到 tokenEditable
真实桌面未接入
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
候选人入口
候选人桌面
URL 已回写,但当前状态还未完全 ready。
只读入口
只读入口
面试官观察入口已可被区分展示。
入口就绪度
5/5
remote / readonly / ide / browser / terminal
TTL
剩余 3 小时 22 分钟
04/27 20:09 到期
恢复凭据
interviewId route
无 token 时只保留演示状态展示,不能作为生产候选人恢复凭据。
预检
未绑定签到 token
从 lobby 无 token 演示入口进入时,此页只展示 runtime baseline。
最近边界动作
暂无
当前没有新的剪贴板或传输动作。

Runtime URL Access-Control Readiness

token / binding / signed resolve
Session bearer
检查 session bearer
正在读取浏览器中的 scoped candidate session token。
Interview binding
未提供邀请 token
当前通过 interviewId 演示入口渲染,只能展示状态,不能证明候选人 session binding。
Remote URL
remote URL present
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
Readonly URL
readonly URL present
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
IDE URL
IDE URL present
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
Server-side URL guard
resolve-first guard 已接入
下方 Runtime URL Access Decision 会用 candidate/control bearer 请求 allow/deny;若返回 signedEntryPoint,Web API client 会继续 POST /v1/runtime-entrypoints/resolve。
Signed entrypoint consumption
signed resolve preferred
生产入口优先使用 signed entrypoint resolve 结果;raw runtimeUrl 只在 signed entrypoint 未配置或 proxy 未实现时作为显式 dev/compat fallback。

Runtime URL Access Decision

候选人入口以服务端 allow/deny 为准;只有 allow decision 会显示返回的 entrypoint。

等待请求
将使用浏览器中的 checking browser bearer。
Decision
unavailable
尚未收到服务端 decisionId。
Surface
remote
候选人桌面 已由 runtime 登记
Reason
PENDING
auth checking browser bearer
TTL
等待 decision
服务端返回后显示 access decision TTL。
当前未显示 runtime entrypoint;deny、pending 或请求失败都不会在此处泄露 URL。

候选人主流程

session flow
0. 签到与预检
未绑定签到 token。从 lobby 无 token 演示入口进入时,此页只展示 runtime baseline。
1. 进入 runtime
runtime 处于 provisioning,仍需等待入口或状态稳定。
2. 沿用平台边界
platform_only / Local OS sync blocked。平台内复制粘贴允许,上传 / 下载走受控路径。
3. 断线恢复
如果掉线,在 15 分钟窗口内走原工作区恢复,而不是重新开一场。
4. 冻结提交
确认当前结果就是最终版本后,再冻结当前提交并结束工作区。

任务说明

候选人侧先只聚焦当前题目、验收标准和允许使用的工作区能力。

90 分钟

在保留现有筛选逻辑的前提下,减少首屏 waterfall,并补一条关键验证。

codex平台内浏览器允许 Docker

验收标准

Question Pack
不破坏现有筛选逻辑
减少首屏阻塞请求
解释如何验证性能改动

会话约束

intv_demo_002
候选人
陈悠
面试官
周杭
工作区
ws_fe_core_0201
候选人入口
候选人桌面
只读入口
只读入口
恢复窗口
15 分钟
恢复凭据
interviewId route
预检状态
未绑定签到 token
证据范围
Prompt / URL / 命令 / Diff / Tests

继续 / 恢复规则

runtime contract
继续作答
当前还不能把这一页当成真实工作区,先等待 runtime 或入口 URL 回写。
断线恢复
如果掉线,优先走候选人邀请 token reconnect,而不是只凭 interviewId 重新开新会话。恢复目标仍是 ws_fe_core_0201
冻结后边界收紧
最终提交会冻结 Prompt / URL / 命令 / Diff / Tests 证据,并关闭继续编辑预期。
最近边界动作
暂无边界动作记录。

远端工作区

这里是候选人真实 runtime 的控制壳:先看状态、再看入口、最后进入对应工作面。

mock
provisioning演示占位演示占位需服务端 decisionCandidate controlClipboard platform_only
真实桌面未接入
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
Runtime 状态
演示占位
mock · provisioning
主入口
候选人桌面
入口已登记;真实 entrypoint 只在服务端 allow decision 返回后显示。
TTL
剩余 3 小时 22 分钟
04/27 20:09 到期
Provider
mock
runtimeRef 未记录
入口就绪
5/5
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
URL 访问状态
演示占位
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
服务端 URL Guard
需服务端 decision
runtime URL 打开前应以服务端 runtime-url-access allow/deny decision 为准;兼容视图可继续展示本地 readiness。
能力
7/7
当前可用能力数

Surface Rail

5/5 已就绪
候选人桌面
可检查
Ready
已登记;等待 URL Guard 返回 entrypoint
URL 已回写,但 runtime 还没进入稳定可作答状态。
等待 Guard 放行
只读入口
可检查
Ready
已登记;等待 URL Guard 返回 entrypoint
URL 已回写,但 runtime 还没进入稳定可作答状态。
等待 Guard 放行
IDE
可检查
Ready
已登记;等待 URL Guard 返回 entrypoint
URL 已回写,但 runtime 还没进入稳定可作答状态。
等待 Guard 放行
浏览器
可检查
Ready
已登记;等待 URL Guard 返回 entrypoint
URL 已回写,但 runtime 还没进入稳定可作答状态。
等待 Guard 放行
终端
可检查
Ready
已登记;等待 URL Guard 返回 entrypoint
URL 已回写,但 runtime 还没进入稳定可作答状态。
等待 Guard 放行
当前工作面
候选人桌面
入口已登记;候选人页通过 Runtime URL Access Decision 打开 allow 返回的 entrypoint。
演示占位剩余 3 小时 22 分钟恢复窗口已就绪
runtime 已在场;此处不直接嵌入原始 URL,请使用 Runtime URL Access Decision 返回的 allow entrypoint。

会话推进

candidate pipeline
1. Runtime 分配
已完成
mock 已回写
2. 入口登记
已完成
5 个入口已可用
3. 工具壳就绪
当前关注
runtime 已在场,但入口或状态还未完全可用
4. 候选人作答
等待中
等待控制面把会话推进到可进入状态

会话护栏

ttl / reconnect / boundary
URL Access
演示占位
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
URL Guard
需服务端 decision
runtime URL 打开前应以服务端 runtime-url-access allow/deny decision 为准;兼容视图可继续展示本地 readiness。
TTL / Lease
剩余 3 小时 22 分钟
04/27 20:09 到期
Reconnect
恢复窗口已就绪
当前仍保留 15 分钟断线恢复窗口。
Clipboard
platform_only
平台内允许;Local OS sync blocked,不自动同步到本机系统剪贴板。
Workspace
linux_single_tenant
mock / aici/demo-workspace:latest

能力矩阵

7/7 已开启
IDE
ON
编辑器入口
Browser
ON
模板允许
Terminal
ON
命令与日志
Docker
ON
模板允许
Internet
ON
模板允许
Pkg Install
ON
依赖安装能力
Clipboard
platform_only
platform_only

Runtime 信息

ws_fe_core_0201
Workspace
ws_fe_core_0201
Provider
mock
Runtime Ref
未记录
TTL
剩余 3 小时 22 分钟 · 04/27 20:09 到期
启动时间
未记录
镜像
aici/demo-workspace:latest
重连窗口
15 分钟

提交当前工作区

submission control
Interview scheduledWorkspace provisioningRuntime provisioning
提交会结束当前工作区
提交后会立即结束当前远端 runtime,并关闭后续编辑窗口。
Evidence Scope
Prompt / URL / 命令 / Diff / Tests
Workspace 结束
提交后立即结束
恢复窗口
15 分钟
下一步
先完成确认

冻结前确认

0/3 已完成
冻结提交后,面试官会看到当前证据链,隐藏测试与最终评测会在工作区外完成。

状态切换

editable
1. Candidate Editing
当前动作
当前仍在候选人编辑窗口内,可以继续完善代码和测试结果。
2. Submission Frozen
等待中
在执行冻结前,需要先完成提交前确认。
3. Workspace Ended
等待中
冻结后会结束当前工作区,并关闭继续编辑预期。
4. Reviewer Handoff
等待中
冻结后会把证据链交给面试官复核,并转入工作区外评测。
提交时间:尚未冻结
运行时状态:provisioning
工作区结束:冻结后回写
候选人侧下一步:先完成提交前确认,再执行冻结提交。

工作区预览

真实 remote / IDE / browser / terminal 入口还没完全就绪时,这里展示预览和操作状态,避免误判为可编辑会话。

runtime 已在场
IDE 预览
// src/services/order_service.py

def reserve_inventory(order_id, sku, qty):
    existing = repo.find_by_order(order_id)
    if existing:
        return existing

    lock = redis.lock(f"inventory:{sku}")
    with lock:
        stock = repo.get_stock(sku)
        if stock < qty:
            raise OutOfStock()

        repo.decrease_stock(sku, qty)
        repo.save(order_id, sku, qty)
        return {"status": "ok"}
Terminal 预览
$ pytest -q

..F
FAILED tests/test_order_service.py::test_duplicate_submit
  Expected inventory to decrease once only.

剪贴板边界

platform-only boundary
平台内复制粘贴 允许Local OS sync blocked上传 controlled下载 controlled
Clipboard mode: platform_only / Local OS sync blocked
候选人可以在平台内 surfaces 间流转文本;本机系统剪贴板同步保持关闭,任何同步尝试只会记录为阻断事件。
策略
platform_only / local sync off / 200000 bytes
平台内允许
IDE / Browser / Terminal / AI Panel / Platform Clipboard
本地 OS 边界
sync blocked
审计
5 类边界事件会进入审计时间线
当前平台剪贴板
empty
当前还没有新的边界动作
平台内复制、粘贴、本地同步阻断、上传申请和下载申请都会在这里留下结构化记录。

边界流转

allow / block / controlled
Platform Copy Path
IDE / Browser / Terminal / AI Panel
允许通过 Platform Clipboard 在远端面板之间复制粘贴。
Blocked Path
Platform Clipboard -> Local OS
默认阻断本机系统剪贴板同步,避免把远端内容直接带出平台。
Transfer Lane
上传 controlled / 下载 controlled
文件传输走受控申请路径,并保留结构化事件。

边界模拟台

clipboard empty
IDE
repo.decrease_stock(sku, qty)
repo.save(order_id, sku, qty)
Terminal
FAILED tests/test_order_service.py::test_duplicate_submit
Expected inventory to decrease once only.
Browser
https://docs.python.org/3/library/threading.html
Platform Clipboard
empty

候选人须知

boundary contract
平台内可流转
在 IDE / Browser / Terminal / AI Panel / Platform Clipboard 之间复制粘贴,仍属于平台内动作。
本地系统剪贴板默认关闭
不允许把远端内容直接同步到本机 OS 剪贴板;阻断动作会记录到时间线。
上传 / 下载受控
所有文件流入流出都要经过受控申请路径,不是自由拖拽。

最近请求记录

0
当前还没有新的边界动作。平台内复制、粘贴、本地同步阻断、上传申请和下载申请都会在这里留下最近记录。

AI Panel

Prompt / Approval / Patch

Prompt Stream

budget 50,000 / 50,000 tokens left · $0.2500 cost left · 20,000 chars/request
0 条 / 0 tokens / $0.0000
prompts
0
redacted
0
pending
0
clean
0
Provider / Model
暂无 provider usage。
Origin
暂无 origin 聚合。
Approval
granted · 0rejected · 0not_requested · 0
Redaction
none · 0redacted · 0pending · 0
Risk
high · 0medium · 0low · 0
0 条需要优先复核,重点看 `pending redaction`、`failed tool`、`trace missing`。
暂无 Prompt 证据。
Prompt Stream 写入后会在这里显示 provider/model、trace、redaction、approval、patch 和 timeline event 引用。

候选人事件录入

按真实证据采样方式补录 AI / 浏览器 / 命令 / Diff / 提交信号。
总事件 0AI 0带引用 0高风险 0
当前模板:AI / AI Prompt记录 Prompt 摘要、模型和工作路径,后续才能把 Prompt、AI 回复、落码和评分串成完整证据链。
默认 Actor:候选人默认 Source:AI Gateway当前未挂引用

AI 证据字段

Prompt / 回复 / 工具 / Patch

最新时间线

最近 0