feat(ui): 实现 Agent 模式切换和 Auto Edit 功能
- 添加 AgentModeSelector 组件,支持 Build/Plan 模式切换 - Build 模式下显示 Auto Edit 开关,自动授权文件写入/编辑 - 扩展 useChat hook 添加会话级别的 agentMode/autoApprove 状态 - 服务端支持解析和应用 Agent 模式配置 - 权限处理器实现 auto-approve 检查(仅 write/edit,不含 delete)
This commit is contained in:
@@ -106,6 +106,8 @@ export async function handleWebSocketMessage(
|
||||
case 'message': {
|
||||
// 用户发送消息
|
||||
let content = message.payload?.content || '';
|
||||
const agentMode = message.payload?.agentMode as 'build' | 'plan' | undefined;
|
||||
const autoApprove = message.payload?.autoApprove as boolean | undefined;
|
||||
|
||||
// 将 @filepath 转换为 ./filepath 格式(方便 AI 识别为文件路径)
|
||||
content = content.replace(/@([\w./-]+)/g, './$1');
|
||||
@@ -119,7 +121,7 @@ export async function handleWebSocketMessage(
|
||||
|
||||
// 调用 Agent 处理消息(异步,不阻塞)
|
||||
// 消息存储由 Core Agent 负责
|
||||
processMessage(sessionId, content).catch((error) => {
|
||||
processMessage(sessionId, content, { agentMode, autoApprove }).catch((error) => {
|
||||
console.error('[WS] Agent processing error:', error);
|
||||
});
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user