Skip to content

Commit a7f694b

Browse files
committed
Add sudo, mousepad, and useful CLI tools to container
- Install mousepad text editor (lightweight XFCE editor) - Install sudo with NOPASSWD for compeek user so the agent can install additional packages at runtime (sudo apt install -y ...) - Add wget, jq, zip/unzip to pre-installed CLI tools - Update system prompt to accurately list available apps and confirm passwordless sudo access - Update preset goal to reference mousepad directly
1 parent 63c4183 commit a7f694b

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

docker/Dockerfile

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,17 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1212
xvfb x11vnc websockify dbus-x11 \
1313
# XFCE4 desktop
1414
xfwm4 xfce4-panel xfce4-settings xfce4-terminal thunar \
15+
# Desktop apps
16+
mousepad \
1517
# Desktop utilities
16-
xdotool scrot xclip imagemagick feh \
18+
xdotool scrot xclip imagemagick feh sudo \
1719
# Modern themes
1820
arc-theme papirus-icon-theme \
1921
# Python
2022
python3 python3-pip \
21-
# Networking
22-
netcat-openbsd curl git ca-certificates software-properties-common \
23+
# Networking & tools
24+
netcat-openbsd curl wget git ca-certificates software-properties-common \
25+
zip unzip jq \
2326
# Fonts
2427
fonts-liberation fonts-noto fonts-noto-color-emoji \
2528
&& rm -rf /var/lib/apt/lists/*
@@ -76,7 +79,8 @@ COPY docker/compeek-vnc.html /opt/novnc/compeek-vnc.html
7679

7780
# ── App user + desktop config ────────────────────────────────────
7881
RUN useradd -m -s /bin/bash compeek \
79-
&& mkdir -p /home/compeek/data && chown compeek:compeek /home/compeek/data
82+
&& mkdir -p /home/compeek/data && chown compeek:compeek /home/compeek/data \
83+
&& echo 'compeek ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/compeek
8084

8185
# Dark gradient wallpaper
8286
RUN convert -size 1280x768 gradient:'#0a0a14'-'#141428' -blur 0x2 /home/compeek/wallpaper.png

src/agent/prompts.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ Your tools:
77
88
Desktop environment:
99
- Firefox browser with uBlock Origin (ads blocked by default)
10-
- Full bash/terminal: git, curl, wget, python3, node, npm, imagemagick, xclip, xdotool
11-
- You can install additional packages with \`sudo apt install\` or \`pip install\` or \`npm install\`
10+
- Mousepad text editor, Thunar file manager, XFCE4 Terminal
11+
- Full bash/terminal: git, curl, wget, python3, node, npm, imagemagick, xclip, xdotool, jq, zip/unzip
12+
- You have passwordless sudo — install anything with \`sudo apt install -y <package>\`
13+
- Also: \`pip install\`, \`npm install\`
1214
- Display resolution: 1280x768
1315
1416
Data persistence:

src/app/components/WorkflowPanel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export default function WorkflowPanel({ isRunning, onStart, onStop, apiKey, init
6767
const presetGoals = [
6868
{ label: 'Fill a form', goal: `Navigate to http://localhost:8080/client-onboarding/ and fill the onboarding form with the attached document data. If no document is attached, use realistic test data. Check the consent checkbox and submit.` },
6969
{ label: 'Test a form', goal: `You are a QA tester. Test the form at http://localhost:8080/client-onboarding/ for proper validation behavior.\n\nTEST 1 — Empty submission:\n1. Navigate to http://localhost:8080/client-onboarding/ in Firefox\n2. Without filling any fields, click the "Submit Application" button\n3. Take a screenshot to capture the error states\n\nTEST 2 — Successful submission:\n1. Reload the page (Ctrl+Shift+R)\n2. Fill ALL required fields with valid data\n3. Check the consent checkbox and click Submit\n4. Take a screenshot and verify success\n\nProvide a summary of which tests passed and which failed.` },
70-
{ label: 'Open a text editor', goal: 'Open the text editor (mousepad or gedit), create a new file, and type "Hello from compeek!"' },
70+
{ label: 'Open a text editor', goal: 'Open Mousepad text editor, create a new file, and type "Hello from compeek!"' },
7171
{ label: 'Browse the web', goal: 'Open Firefox, navigate to example.com, and take a screenshot of the page' },
7272
];
7373

0 commit comments

Comments
 (0)