feat: support opencode

This commit is contained in:
weishu
2026-01-29 10:34:57 +08:00
parent 66ab96bf38
commit 70b5c22c8f
47 changed files with 2737 additions and 28 deletions
+5 -3
View File
@@ -285,7 +285,7 @@ export class SyncEngine {
async spawnSession(
machineId: string,
directory: string,
agent: 'claude' | 'codex' | 'gemini' = 'claude',
agent: 'claude' | 'codex' | 'gemini' | 'opencode' = 'claude',
model?: string,
yolo?: boolean,
sessionType?: 'simple' | 'worktree',
@@ -315,14 +315,16 @@ export class SyncEngine {
return { type: 'error', message: 'Session metadata missing path', code: 'resume_unavailable' }
}
const flavor = metadata.flavor === 'codex' || metadata.flavor === 'gemini'
const flavor = metadata.flavor === 'codex' || metadata.flavor === 'gemini' || metadata.flavor === 'opencode'
? metadata.flavor
: 'claude'
const resumeToken = flavor === 'codex'
? metadata.codexSessionId
: flavor === 'gemini'
? metadata.geminiSessionId
: metadata.claudeSessionId
: flavor === 'opencode'
? metadata.opencodeSessionId
: metadata.claudeSessionId
if (!resumeToken) {
return { type: 'error', message: 'Resume session ID unavailable', code: 'resume_unavailable' }