claude-opencode-viewer 2.6.2 → 2.6.3
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.
- package/package.json +1 -1
- package/server.js +17 -1
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -130,11 +130,27 @@ async function spawnProcess(mode, sessionId = null) {
|
|
|
130
130
|
spawnEnv.XDG_DATA_HOME = '/halo/.local/share';
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
// 恢复会话时,使用会话记录的工作目录
|
|
134
|
+
let spawnCwd = process.cwd();
|
|
135
|
+
if (sessionId) {
|
|
136
|
+
try {
|
|
137
|
+
const db = new Database(OPENCODE_DB_PATH, { readonly: true });
|
|
138
|
+
const session = db.prepare('SELECT directory FROM session WHERE id = ?').get(sessionId);
|
|
139
|
+
db.close();
|
|
140
|
+
if (session && session.directory && existsSync(session.directory)) {
|
|
141
|
+
spawnCwd = session.directory;
|
|
142
|
+
console.log(`[opencode] 使用会话目录: ${spawnCwd}`);
|
|
143
|
+
}
|
|
144
|
+
} catch (e) {
|
|
145
|
+
console.log('[opencode] 查询会话目录失败:', e.message);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
133
149
|
const proc = pty.spawn(command, args, {
|
|
134
150
|
name: 'xterm-256color',
|
|
135
151
|
cols: lastPtyCols,
|
|
136
152
|
rows: lastPtyRows,
|
|
137
|
-
cwd:
|
|
153
|
+
cwd: spawnCwd,
|
|
138
154
|
env: spawnEnv,
|
|
139
155
|
});
|
|
140
156
|
|