feat(ui): 支持 Auto Edit 运行时切换立即生效

- 添加 config_update WebSocket 消息类型
- setAutoApprove 切换时立即发送配置更新到服务端
- 服务端实时更新会话的 auto-approve 配置
This commit is contained in:
2025-12-15 19:52:06 +08:00
parent ec3c7bccf9
commit f238368f87
3 changed files with 36 additions and 6 deletions
+17 -1
View File
@@ -7,7 +7,7 @@
import type { WSContext } from 'hono/ws';
import { getSessionManager } from './session/manager.js';
import { processMessage, cancelProcessing } from './agent/index.js';
import { handlePermissionResponse } from './permission/handler.js';
import { handlePermissionResponse, setSessionAutoApprove } from './permission/handler.js';
import type { ClientMessage, ServerMessage } from './types.js';
// 存储活跃的 WebSocket 连接
@@ -156,6 +156,22 @@ export async function handleWebSocketMessage(
break;
}
case 'config_update': {
// 实时配置更新(如 Auto Edit 开关)
const autoApprove = message.payload?.autoApprove;
if (typeof autoApprove === 'boolean') {
if (autoApprove) {
setSessionAutoApprove(sessionId, {
file: { write: 'allow', edit: 'allow' },
});
} else {
setSessionAutoApprove(sessionId, null);
}
console.log(`[WS] Config updated for session ${sessionId}: autoApprove=${autoApprove}`);
}
break;
}
default:
ws.send(
JSON.stringify({