diff --git a/Dockerfile b/Dockerfile index f5936ce..96eaeba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,8 @@ COPY package*.json ./ RUN npm ci --omit=dev RUN npm install -g @anthropic-ai/claude-code COPY . . -RUN mkdir -p data +RUN mkdir -p data && chown -R node:node /app +USER node ENV HOST=0.0.0.0 ENV PORT=3000 EXPOSE 3000 diff --git a/src/agents/executor.js b/src/agents/executor.js index 6cafb48..7fdf982 100644 --- a/src/agents/executor.js +++ b/src/agents/executor.js @@ -362,6 +362,7 @@ export function resume(agentConfig, sessionId, message, callbacks = {}) { const model = agentConfig.model || 'claude-sonnet-4-6'; const args = [ '--resume', sessionId, + '-p', sanitizeText(message), '--output-format', 'stream-json', '--verbose', '--model', model, @@ -378,7 +379,7 @@ export function resume(agentConfig, sessionId, message, callbacks = {}) { const spawnOptions = { env: cleanEnv(), - stdio: ['pipe', 'pipe', 'pipe'], + stdio: ['ignore', 'pipe', 'pipe'], }; if (agentConfig.workingDirectory && agentConfig.workingDirectory.trim()) { @@ -388,8 +389,6 @@ export function resume(agentConfig, sessionId, message, callbacks = {}) { console.log(`[executor] Resumindo sessão: ${sessionId} | Execução: ${executionId}`); const child = spawn(CLAUDE_BIN, args, spawnOptions); - child.stdin.write(sanitizeText(message)); - child.stdin.end(); activeExecutions.set(executionId, { process: child,