Skip to content

Conversation

@mporracindie
Copy link

Summary

  • Introduces a decentralized agent marketplace using GitHub repositories as registries, similar to Claude Code's plugin marketplace
  • Supports both public and private repositories with a flexible authentication chain
  • Provides auto-discovery fallback for Claude Code compatibility (repos without registry.json)
  • Integrates seamlessly into the TUI with search, browse, and installation capabilities

Test plan

  • Add a public GitHub repo as marketplace source in opencode.jsonc
  • Open TUI and access "Browse marketplace" from command palette (ctrl+p)
  • Verify agents are listed from the configured source
  • Test search functionality across agent names, descriptions, and tags
  • Install an agent to project scope (.opencode/agent/) and verify it appears in agent list
  • Install an agent to global scope (~/.config/opencode/agent/) and verify it works
  • Test with a Claude Code marketplace repo (no registry.json) to verify auto-discovery works
  • Test private repo access with GITHUB_TOKEN environment variable
  • Verify cache invalidation with refresh (ctrl+r in marketplace dialog)

@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2026

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2026

The following comment was made by an LLM, it may be inaccurate:

No duplicate PRs found

@mporracindie
Copy link
Author

#7467

fwang and others added 3 commits January 10, 2026 00:09
Revert "wip: zen"

This reverts commit 07c423eacf365dc22df506cc9ab83d106597435d.
Implements a comprehensive agent marketplace feature enabling users to discover,
search, and install agents from configured GitHub sources. Includes:

- Marketplace module with GitHub API utilities, ETag-based caching, and
  auto-discovery fallback for Claude Code compatibility
- Server API endpoints for source management, agent listing, search, and
  installation at both global and project scopes
- TUI integration with browse, search, and install dialogs
- Config schema support for marketplace sources
- Command palette integration

Key components:
- packages/opencode/src/marketplace/ - Core marketplace module
  * schema.ts - Zod validation schemas
  * github.ts - GitHub API with auth chain (GITHUB_TOKEN → GH_TOKEN → gh CLI)
  * cache.ts - ETag-based caching layer
  * discovery.ts - Claude Code compatibility fallback
  * marketplace.ts - Main API (listAgents, searchAgents, installAgent, etc.)
- packages/opencode/src/server/marketplace.ts - REST endpoints
- packages/opencode/src/cli/cmd/tui/component/dialog-marketplace.tsx - UI
- Updated config schema and command palette

Co-Authored-By: Claude Opus 4.1 <noreply@anthropic.com>
…onflict

Co-Authored-By: Claude Opus 4.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants