← MyInfoLib
Created: 2026-02-19Source: GitHub Repo

LobsterAI 代码导读(不是趋势,直接看代码)

你如果要真正看懂这个项目,抓 5 条主链路就够了:启动链路、会话执行链路、权限链路、调度链路、存储链路。下面按文件和函数点名。

1) 启动与总线:src/main/main.ts

2) 会话执行内核:src/main/libs/coworkRunner.ts

  1. startSession():创建活跃会话状态,拼系统提示词,进入执行。
  2. continueSession():追加用户输入,走同一执行通道。
  3. runClaudeCode():执行分发器,决定 local 还是 sandbox。
  4. runClaudeCodeLocal():本机执行路径,挂上 canUseTool 回调做权限决策。
  5. runClaudeCodeInSandbox():沙箱执行路径(QEMU 相关运行时)。
  6. stopSession():会话停止与资源回收。

一句话:这个文件就是“执行控制面”。你看懂它,就看懂 LobsterAI 70%。

3) 权限与安全闸门(在 Runner 内)

这不是 UI 功能,而是“系统调用网关”。

4) 调度器:src/main/libs/scheduler.ts + scheduledTaskStore.ts

这说明它不是聊天壳,而是“可无人值守执行器”。

5) 存储模型(SQLite)

6) 30 分钟读码路径(实操)

  1. main.tsipcMain.handle('cowork:session:start')
  2. 跳到 coworkRunner.startSession()
  3. 跟进到 runClaudeCode(),分叉看 local/sandbox 两条路径。
  4. canUseTool 看权限决策。
  5. 再回到 scheduler.executeTask(),看“定时任务如何复用执行内核”。

7) 你该下断点的 8 个函数

main.ts: cowork:session:start
CoworkRunner.startSession
CoworkRunner.runClaudeCode
CoworkRunner.runClaudeCodeLocal
CoworkRunner.enforceToolSafetyPolicy
CoworkRunner.requestSafetyApproval
Scheduler.tick
Scheduler.executeTask

如果你愿意,我下一版直接做“按真实调用栈逐行讲解”(从一次 message 进入到工具执行返回),会更像源码带读课。