mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
Verbose worker logging (#173)
This commit is contained in:
parent
0156265963
commit
0b5812b01c
6 changed files with 34 additions and 20 deletions
|
|
@ -111,4 +111,5 @@ WORKDIR /roo/apps/roomote
|
|||
ENV NODE_ENV=production
|
||||
ENV HOST_EXECUTION_METHOD=docker
|
||||
# ENTRYPOINT ["/usr/local/bin/worker.sh"]
|
||||
CMD ["sleep", "infinity"]
|
||||
# CMD ["sleep", "infinity"]
|
||||
CMD ["pnpm", "worker:production"]
|
||||
|
|
|
|||
|
|
@ -181,6 +181,8 @@ async function handleAppMention(event: SlackEvent) {
|
|||
try {
|
||||
pendingWorkspaceSelections.set(threadId, event);
|
||||
|
||||
const workspaceRoot = process.env.WORKSPACE_ROOT || '/roo/repos';
|
||||
|
||||
const result = await slack.postMessage({
|
||||
text: '👋 Which workspace would you like me to work in?',
|
||||
channel: event.channel,
|
||||
|
|
@ -200,13 +202,13 @@ async function handleAppMention(event: SlackEvent) {
|
|||
type: 'button',
|
||||
text: { type: 'plain_text', text: 'Roo-Code-Cloud', emoji: true },
|
||||
action_id: 'select_roo_code_cloud',
|
||||
value: 'roo-code-cloud',
|
||||
value: `${workspaceRoot}/Roo-Code-Cloud`,
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
text: { type: 'plain_text', text: 'Roo-Code', emoji: true },
|
||||
action_id: 'select_roo_code',
|
||||
value: 'roo-code',
|
||||
value: `${workspaceRoot}/Roo-Code`,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ export class WorkerController {
|
|||
let command;
|
||||
|
||||
if (isFlyMachine()) {
|
||||
command = `fly machine run $(fly releases --image -a roomote-worker -j 2>/dev/null | jq -r '.[0].ImageRef') --vm-size performance-16x --restart on-fail --rm --shell --command "pnpm worker:production" -a roomote-worker`;
|
||||
command = `fly machine run $(fly releases --image -a roomote-worker -j 2>/dev/null | jq -r '.[0].ImageRef') --vm-size performance-16x --restart on-fail --rm -a roomote-worker`;
|
||||
} else if (isDockerContainer()) {
|
||||
const dockerArgs = [
|
||||
`--name roomote-${workerId}`,
|
||||
|
|
|
|||
|
|
@ -20,13 +20,17 @@ export async function processSlackMention(
|
|||
// workspace root that our containers use.
|
||||
const workspaceRoot = process.env.WORKSPACE_ROOT || '/roo/repos';
|
||||
|
||||
const workspacePath = jobPayload.workspace.startsWith('/')
|
||||
? jobPayload.workspace
|
||||
: `${workspaceRoot}/${jobPayload.workspace}`;
|
||||
|
||||
const result = await runTask({
|
||||
jobType,
|
||||
jobPayload,
|
||||
prompt,
|
||||
callbacks,
|
||||
notify: false,
|
||||
workspacePath: `${workspaceRoot}/${jobPayload.workspace}`,
|
||||
workspacePath,
|
||||
});
|
||||
|
||||
return { channel, user, result };
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ export const runTask = async <T extends JobType>({
|
|||
|
||||
const subprocess = execa({
|
||||
shell: '/bin/bash',
|
||||
cwd: workspacePath,
|
||||
cancelSignal,
|
||||
})`${codeCommand}`;
|
||||
|
||||
|
|
@ -141,26 +142,28 @@ export const runTask = async <T extends JobType>({
|
|||
const slackNotifier = notify ? new SlackNotifier(logger) : undefined;
|
||||
let slackThreadTs: string | null | undefined = null;
|
||||
|
||||
const ignoreEvents: Record<'broadcast' | 'log', RooCodeEventName[]> = {
|
||||
broadcast: [RooCodeEventName.Message],
|
||||
log: [
|
||||
RooCodeEventName.TaskTokenUsageUpdated,
|
||||
RooCodeEventName.TaskAskResponded,
|
||||
],
|
||||
};
|
||||
// const ignoreEvents: Record<'broadcast' | 'log', RooCodeEventName[]> = {
|
||||
// broadcast: [RooCodeEventName.Message],
|
||||
// log: [
|
||||
// RooCodeEventName.TaskTokenUsageUpdated,
|
||||
// RooCodeEventName.TaskAskResponded,
|
||||
// ],
|
||||
// };
|
||||
|
||||
client.on(IpcMessageType.TaskEvent, async (taskEvent) => {
|
||||
const { eventName, payload } = taskEvent;
|
||||
|
||||
// Log all events except for these.
|
||||
// For message events we only log non-partial messages.
|
||||
if (
|
||||
!ignoreEvents.log.includes(eventName) &&
|
||||
(eventName !== RooCodeEventName.Message ||
|
||||
payload[0].message.partial !== true)
|
||||
) {
|
||||
logger.info(`${eventName} ->`, payload);
|
||||
}
|
||||
// if (
|
||||
// !ignoreEvents.log.includes(eventName) &&
|
||||
// (eventName !== RooCodeEventName.Message ||
|
||||
// payload[0].message.partial !== true)
|
||||
// ) {
|
||||
// logger.info(`${eventName} ->`, payload);
|
||||
// }
|
||||
|
||||
logger.info(`${eventName} ->`, payload);
|
||||
|
||||
if (
|
||||
eventName === RooCodeEventName.Message &&
|
||||
|
|
@ -236,6 +239,9 @@ export const runTask = async <T extends JobType>({
|
|||
data: {
|
||||
configuration: {
|
||||
...EVALS_SETTINGS,
|
||||
alwaysAllowReadOnlyOutsideWorkspace: true,
|
||||
alwaysAllowWriteOutsideWorkspace: true,
|
||||
alwaysAllowWriteProtected: true,
|
||||
openRouterApiKey: process.env.OPENROUTER_API_KEY,
|
||||
lastShownAnnouncementId: 'jun-17-2025-3-21',
|
||||
...settings,
|
||||
|
|
|
|||
|
|
@ -21,10 +21,11 @@
|
|||
"env:decrypt:development": "dotenvx decrypt -f .env.development --stdout",
|
||||
"env:decrypt:preview": "dotenvx decrypt -f .env.preview --stdout",
|
||||
"env:decrypt:production": "dotenvx decrypt -f .env.production --stdout",
|
||||
"deploy:roomote": "pnpm deploy:roomote-api && pnpm deploy:roomote-controller && pnpm deploy:roomote-worker",
|
||||
"deploy:roomote-dashboard": "fly deploy --config fly.roomote-dashboard.toml",
|
||||
"deploy:roomote-api": "fly deploy --config fly.roomote-api.toml",
|
||||
"deploy:roomote-controller": "fly deploy --config fly.roomote-controller.toml",
|
||||
"deploy:roomote-worker": "fly deploy --config fly.roomote-worker.toml --build-arg GH_TOKEN=$(npx dotenvx get GH_TOKEN -f .env.production) && fly scale count 0 -a roomote-worker -y"
|
||||
"deploy:roomote-worker": "fly deploy --config fly.roomote-worker.toml --build-arg GH_TOKEN=$(npx dotenvx get GH_TOKEN -f .env.production) --ha=false && fly scale count 0 -a roomote-worker -y"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@dotenvx/dotenvx": "^1.44.2",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue