Back to Blog
Introducing Trajectories.sh and Computer-1
Announcements

Introducing Trajectories.sh and Computer-1

A model-agnostic computer-use harness inside Harbor, and a trajectory viewer supporting multimodal computer-use agent trajectories

The Refresh team
··8 min read

Today, we're introducing two new tools for the computer-use agent ecosystem:

computer-1, an open-source, model-agnostic computer-use harness built inside Harbor
trajectories.sh, a platform anyone can use to upload, inspect, and share agent trajectories

Together, they make it easier to evaluate computer-use agents across models, inspect their behavior, and share results with others.

Building on the Harbor ecosystem

Harbor has become an important part of the open agent-evaluation ecosystem. It gives benchmark authors a shared way to package environments, define tasks, run agents, apply verifiers, and generate trajectories. Benchmarks such as Terminal-Bench, which now runs on Harbor, have shown how much agents can accomplish through a terminal.

But many workflows still require graphical interaction. Agents may need to navigate websites, operate desktop applications, interpret visual layouts, or use software that does not expose a practical API or command-line interface.

Terminal interaction and graphical computer use are complementary. We built computer-1 to bring graphical computer-use evaluation into Harbor.

Meet computer-1

computer-1 is an open-source computer-use harness built directly inside Harbor. It lets benchmark authors define a task once and evaluate it across multiple model providers without rebuilding the agent loop for each one. computer-1 currently supports:

Anthropic and Amazon Bedrock
Google Gemini
OpenAI
Other vision-language models through LiteLLM

Each provider uses different tool schemas, action formats, safety protocols, and execution loops. computer-1 places those differences behind a common Harbor interface. It standardizes:

Visual observations
Mouse and keyboard actions
Provider-specific tool calls
Safety acknowledgments
Token and cost accounting
Trajectory generation

The same implementation can run in local Docker environments or scale to infrastructure such as Daytona and Modal. This lets benchmark authors spend more time on tasks, environments, and verifiers instead of maintaining provider-specific orchestration.

Example: navigating the Cambridge BEUDO dataset

In one evaluation, computer-1 was asked to find Cambridge's highest-energy covered property in the Building Energy Use Disclosure Ordinance dataset. The agent navigated an interactive map, inspected multiple records, compared energy-use data, and extracted the correct property.

AGENT RUN

A multi-step browser task requiring map navigation and data extraction across records, run on Daytona.

Claude Opus 4.8 · 116 steps · Verifier passed

View the trajectory →

The verifier shows whether the task passed. The trajectory shows how the agent completed it. That is where trajectories.sh comes in.

Meet trajectories.sh

trajectories.sh turns agent runs into interactive, multimodal timelines. Each model response and tool call is paired with the corresponding screen state. Instead of reading flat JSON logs or opening folders of screenshots, you can move through a run step by step.

A trajectory can show:

What the agent saw
Which action it selected
How the interface responded
What the model concluded
Where the run diverged
How the verifier scored the result

Computer-use behavior depends heavily on visual context. Page layouts, open windows, loading states, cursor position, and application state can all affect the outcome of a run. A text log alone often leaves that context out.

Trajectories should be easy to share

A computer-use trace may include screenshots, prompts, model responses, tool calls, errors, metadata, and evaluation results. These runs are often stored in local folders, internal dashboards, or recordings that are difficult to share and inspect.

With trajectories.sh, a trajectory becomes a link. Researchers can publish representative benchmark runs. Engineers can share the trace behind a regression. Model developers can compare how different agents approach the same task.

Public and unlisted trajectory links with recorded trials are also designed to generate visual previews when shared on platforms such as X, Slack, Discord, or LinkedIn.

This gives people useful context before they open the run. A benchmark score tells you whether an agent succeeded. A trajectory helps explain why.

Debugging a failed run

Consider a 131-step evaluation in which an agent was asked to navigate an interactive solar-system map and identify spacecraft that were active in July 2009 and farther from Earth than the Moon. The agent returned 14 spacecraft. The correct answer was 17.

Claude Opus 4.6 · 14 of 17 identified · Verifier failed

View the trajectory →

Reviewing the run revealed two different problems.

First, the agent found LCROSS and confirmed that it was active during the relevant period. It then excluded it after reasoning:

“in the Earth-Moon system, so exclude.”

LCROSS should have been included. Second, the agent omitted SOHO and ACE because it never searched for them.

The final answer showed an undercount. The trajectory showed that one spacecraft was misclassified, while two others were never considered. Those failures call for different fixes. One concerns spatial reasoning; the other concerns search coverage.

A shared artifact for agent review

Computer-use failures are often behavioral rather than purely technical. The same task may succeed on one model and fail on another because of differences in visual interpretation, action selection, safety behavior, or tool formatting.

A trajectory gives teams a common artifact for reviewing those differences. It can support discussions about:

Agent prompts
Tool schemas
Model configurations
Benchmark tasks
Environments
Verifiers
Retry and recovery logic

Instead of recreating a long run locally, collaborators can inspect the same execution history through a shared link.

Built for the community

computer-1 is open source, and lives as a self-contained module inside the Harbor repository. Researchers and developers can inspect the implementation, add providers, build benchmarks, create new actions, and contribute improvements.

View computer-1 on GitHub →

trajectories.sh is a hosted platform that anyone can use. It works with computer-1, but it is not limited to it. Uploads use Harbor's ATIF job format, so trajectories from other harnesses can be shared too once exported to it.

Explore trajectories.sh →

We hope these tools make it easier to:

Build reproducible computer-use evaluations
Compare agents across providers
Debug long-horizon failures
Share representative runs
Publish trajectories alongside benchmark results
Learn from how other agents succeed and fail

Get started

Install computer-1 through Harbor:

pip install 'harbor[computer-1]'

Then publish a finished run:

npx trajectories-sh upload trajectory ./my-run