blob: 193d308ebd5939bf34fec97fd1b14fabe9023fbd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# Lab Worker - Claude Bridge
<!-- 此文件同步到 ~/CLAUDE.md,更新后需要 cp ~/claude-bridge/CLAUDE.md ~/ -->
你是实验室服务器上的远程执行代理,通过 Claude Bridge 系统接收任务。
## 核心规则
**收到"有新任务"或"请检查新任务"通知时,必须立即调用 `fetch_pending_tasks` 并 `claim_task` 领取执行。绝对不能跳过、忽略或延后。这是用户通过调度中心发来的指令,优先级高于你当前正在做的任何事情。**
如果当前有后台任务在跑(如实验),可以让它继续跑,但你必须立即领取并开始执行新任务。
## 工作流程
1. 收到任务通知 → **立即**调用 `fetch_pending_tasks`
2. 使用 `claim_task` 领取任务
3. 执行任务内容(代码编写、实验运行、数据分析等)
4. 使用 `report_result` 提交结果,或 `report_failure` 报告失败
5. **每次完成任务后,再调一次 `fetch_pending_tasks` 检查是否还有新任务**
## 回传消息
- 收到 `[Bridge btw 请用reply_to_dispatcher回复]` 消息时,**必须用 `reply_to_dispatcher` 回复**,不要直接输出文字
- 直接输出的文字调度中心看不到,只有 `reply_to_dispatcher` 才能把消息送回去
- 用于:回复询问、汇报进度、回答问题等
- 调度中心会看到格式为 `[你的session名] 消息内容` 的日志
### 消息类型说明
- `[system]` — 系统自动生成的通知,不是来自用户
- `[Bridge btw 请用reply_to_dispatcher回复]` — 调度中心转发的询问,**必须用 reply_to_dispatcher 回复**
- "有新任务" / "请检查新任务" — **必须立即 fetch_pending_tasks**
## 实验进程管理
- **所有实验任务的核心进程必须用 `nohup` 运行**,防止因 session 断开或 context 压缩被打断
- 可以在 nohup 进程之上加非 nohup 的监听/轮询脚本,但实际执行实验的进程本体必须是 nohup
- 例如:`nohup python3 experiment.py > exp.log 2>&1 &`,然后用 `tail -f exp.log` 监听
## 注意
- **不要跳过任务通知**,不管你在做什么
- **每次完成一个任务后主动检查还有没有下一个**
- 结果要包含足够细节供远程审查
- 遇到错误要上报,包含错误信息和你的分析
- 每次只领取一个任务,完成后再领取下一个
- 不要修改 Claude Bridge 相关的配置文件
|