OpenHands/agent-canvas

[Enhancement] Add "Open a Repository" option for Local backend mode

Open

#976 opened on 2026年6月1日

GitHub で見る
 (5 comments) (2 reactions) (0 assignees)TypeScript (26 forks)github user discovery
enhancementgood first issue

Repository metrics

Stars
 (43 stars)
PR merge metrics
 (PR metrics pending)

説明

Summary

When working with a Local backend, users currently have no first-class way to open a repository from a connected Git provider. The workaround is to manually tell the agent to clone a repo, then start a fresh conversation — which is friction that should not exist.

This issue proposes adding an "Open a Repository" option to the home/workspace selection UI that:

  1. Detects which Git provider MCP servers the user has configured
  2. Uses the appropriate provider's API (via MCP) to fetch their repositories
  3. Clones the selected repo into a well-known local directory (e.g. ~/.openhands/agent-canvas/workspaces/)
  4. Opens a new conversation scoped to that directory

Background / User Feedback

From community discussion:

"I do miss it. When I want to start working with a new repo I have to tell the agent 'clone X' then start a new conversation once it's cloned."

"I would not love the agent (or an app) which clones random repos in random locations on my disk" — which is a valid concern, hence the proposal to clone into a single, predictable, opt-in location.


Proposed Behaviour

Detection Logic

When the user clicks "Open a Repository", the UI inspects the user's configured MCP servers and surfaces repo search/browse UI only for providers that are actually connected. Supported providers:

Provider MCP server detection signal
GitHub e.g. github MCP server configured
GitLab e.g. gitlab MCP server configured
Azure DevOps e.g. azure-devops MCP server configured
Bitbucket e.g. bitbucket MCP server configured

If no Git provider MCP server is detected, the UI shows a helpful message explaining that the user needs to configure at least one Git provider in MCP Settings before they can browse remote repositories.

UI Flow

  1. Home screen workspace area gains an "Open a Repository" entry point (alongside "Open a Folder" / workspace list).
  2. Clicking it opens a modal/dialog:
    • Provider picker (tabs or dropdown) — only shows providers with a detected MCP server.
    • Search/filter field + paginated repo list fetched via the MCP tool.
    • "Open" button → clones (if not already cloned) → starts conversation in that working directory.
  3. Already-cloned repos in the managed workspace directory skip the clone step and open immediately.

Open Questions / Design Decisions

  • Where should repos get cloned to? Should it be the existing workspace directory: ~/.openhands/agent-canvas/workspaces
  • Are there other guardrails / hooks we should put in place to get user approval before cloning other repos?

This issue was created by an AI agent (OpenHands) on behalf of the user.

コントリビューターガイド