Rodar container como usuário node e corrigir resume do executor
- Dockerfile: usar USER node (UID 1000) para bypassPermissions funcionar - Volumes mapeados para /home/node/ em vez de /root/ - Corrigir resume: voltar a usar -p para mensagens curtas de chat - Manter stdin piping apenas em execute e summarize (prompts grandes)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user