Skip to content

Refactor runtime to use pluggable agent harnesses#2

Open
andrewhampton wants to merge 1 commit intokimjune01:masterfrom
andrewhampton:main
Open

Refactor runtime to use pluggable agent harnesses#2
andrewhampton wants to merge 1 commit intokimjune01:masterfrom
andrewhampton:main

Conversation

@andrewhampton
Copy link

Thanks for open sourcing this! It seems like a better implementation of a similar idea I've been trying with OpenCode agents. Feel free to close if you're not interested in this, but my team uses Amp instead of Claude Code, so I wanted to experiment with this tool using Amp instead of Claude code. This branch is vibe coded, but works for me. The main idea is:

  1. Add a "harness" abstraction that used for calls to the agent harness
  2. Add 2 harness implementations: claude and amp
  3. Add the --claude and --amp flags to force the use of one if both are available on the system

I don't think I'll continue using it because it quickly spun up 50+ tasks for a medium sized prompt I gave it, each of those started at $0.15 each. This is probably addressable if tried to limit what context is seeded into amp when it starts, but I'm not sure. The amp harness doesn't support the cost limit flag.

Add Claude and Amp harness implementations, route engine launches through the harness API, and add CLI backend selection with auto-detection and tests.
mcp_config = generate_mcp_config(request.db_path, request.node_id, proj)
write_json_file(mcp_path, mcp_config["mcpServers"])
settings = self._load_base_settings()
settings.pop("amp.tools.disable", None)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we preserve user disables? This kills them globally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants