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 ci --omit=dev
|
||||||
RUN npm install -g @anthropic-ai/claude-code
|
RUN npm install -g @anthropic-ai/claude-code
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN mkdir -p data
|
RUN mkdir -p data && chown -R node:node /app
|
||||||
|
USER node
|
||||||
ENV HOST=0.0.0.0
|
ENV HOST=0.0.0.0
|
||||||
ENV PORT=3000
|
ENV PORT=3000
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|||||||
@@ -362,6 +362,7 @@ export function resume(agentConfig, sessionId, message, callbacks = {}) {
|
|||||||
const model = agentConfig.model || 'claude-sonnet-4-6';
|
const model = agentConfig.model || 'claude-sonnet-4-6';
|
||||||
const args = [
|
const args = [
|
||||||
'--resume', sessionId,
|
'--resume', sessionId,
|
||||||
|
'-p', sanitizeText(message),
|
||||||
'--output-format', 'stream-json',
|
'--output-format', 'stream-json',
|
||||||
'--verbose',
|
'--verbose',
|
||||||
'--model', model,
|
'--model', model,
|
||||||
@@ -378,7 +379,7 @@ export function resume(agentConfig, sessionId, message, callbacks = {}) {
|
|||||||
|
|
||||||
const spawnOptions = {
|
const spawnOptions = {
|
||||||
env: cleanEnv(),
|
env: cleanEnv(),
|
||||||
stdio: ['pipe', 'pipe', 'pipe'],
|
stdio: ['ignore', 'pipe', 'pipe'],
|
||||||
};
|
};
|
||||||
|
|
||||||
if (agentConfig.workingDirectory && agentConfig.workingDirectory.trim()) {
|
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}`);
|
console.log(`[executor] Resumindo sessão: ${sessionId} | Execução: ${executionId}`);
|
||||||
|
|
||||||
const child = spawn(CLAUDE_BIN, args, spawnOptions);
|
const child = spawn(CLAUDE_BIN, args, spawnOptions);
|
||||||
child.stdin.write(sanitizeText(message));
|
|
||||||
child.stdin.end();
|
|
||||||
|
|
||||||
activeExecutions.set(executionId, {
|
activeExecutions.set(executionId, {
|
||||||
process: child,
|
process: child,
|
||||||
|
|||||||
Reference in New Issue
Block a user