MASAgent workspace

Your first real task in five minutes

No feature tour. This gets you to an agent doing something real — reading files, running tests, fixing a line, running them again.

0. What you need

  • An email address (your tenant is created on first sign-in)
  • Optional: a model key. Without one you can use the public pool — 20,000 tokens a day, enough for this task.

1. Sign in

Open app.holomer.space and sign in with your email. It will be empty the first time: no sessions, no configs. That is expected.

2. Pick a model (30 seconds)

LLM → New LLM config:

  • Name: anything, e.g. demo
  • Protocol: whatever your provider speaks (OpenAI-compatible works)
  • Model ID: e.g. gpt-4.1-mini, deepseek-chat
  • API key: paste the whole thing

Save it and set it as the default. Keys are envelope-encrypted before storage and come back masked — deliberately; do not expect to read them back in plaintext.

No key? Skip this. The public model is already bound to your tenant.

3. Create a session and give it a sandbox

Click New session. If you want to watch execution end to end, attach a sandbox — the first start pulls an image (about ten seconds), later ones are fast.

You can chat without a sandbox, but the task below needs commands.

4. Send this

Create a Python project with an add(a, b) function and a test that fails.
Run pytest, fix the failure, run it again, and paste both outputs.

You will see the event stream: write files → run pytest → red output enters the context → edit → run again → green.

Two things to notice:

  1. The failure is supposed to happen. If it passes on the first try, open the test and check whether it asserts anything.
  2. Every tool call expands. Real command, real exit code, real stderr — not a summary.

5. Acceptance checklist

  • At least two pytest calls in the session, one non-zero and one zero exit code
  • test_add.py and the implementation file visible in the file list
  • The output quoted in the reply matches what the tool calls show

The three most common failures

No reply at all. Check that the model config is reachable, or switch to the public pool. Most often it is a wrong key or base URL.

The sandbox will not start. Image pull timeouts — retry once; behind a restrictive egress policy, self-hosting is the reliable path.

It stops halfway. The public quota ran out. The message says so; add your own key and it resumes immediately, with history intact.

Next

The point of this task is to make “it really executes” believable. Then try your own work: point it at your repository, run a real test, fix a real bug.

When that works, read the runtime trade-offs — you will care more about why it is built this way.