Mini-SWE-Agent Integration

Mini-SWE-Agent is a lightweight software engineering agent. The Contree integration enables it to execute code in isolated, reproducible containers. Every command in Mini-SWE-Agent is executed in a fresh shell session, which makes it perfectly suitable for Contree.

Integration repository: mini-swe-agent with Contree

Using ContreeEnvironment

 1from minisweagent.agents.default import DefaultAgent
 2from minisweagent.environments.extra.contree import ContreeEnvironment
 3from minisweagent.models.litellm_model import LitellmModel
 4
 5from contree_sdk.config import ContreeConfig
 6
 7
 8def main():
 9    model = LitellmModel(model_name="gemini/gemini-flash-latest")
10
11    contree_env = ContreeEnvironment(
12        contree_config=ContreeConfig(
13            token="your-contree-token",
14            base_url="https://your-contree-instance.com",
15        ),
16        image="ubuntu:focal",
17        cwd="/workspace",
18    )
19
20    agent = DefaultAgent(model, contree_env)
21    agent.run("Develop small calculator script and check it")
22
23    result = contree_env.session.run(shell="ls /workspace -lah").wait()
24    print(result.stdout)
25
26
27if __name__ == "__main__":
28    main()

Running with SWE-bench

Update config/extra/swebench.yaml:

environment:
  environment_class: contree
  contree_config:
    token: "your-contree-token"

model:
  model_name: "openai/gpt-4"
  cost_tracking: "ignore_errors"
  model_kwargs:
    custom_llm_provider: "openai"
    drop_params: true
    temperature: 0.0
    api_base: "https://api.provider.com/v1/"
    api_key: "your-api-key"

Run the benchmark:

python src/minisweagent/run/extra/swebench.py \
  --subset lite \
  --output results \
  --workers 4 \
  --redo-existing