[Feature]: Bring-your-own web_search backend without a MiniMax account

Offen
#588 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
node.js, typescript

Rechercherichtung

Start with packages/local-runtime/src/web-search/local-web-search-client.ts, packages/agent-tools/src/cloud/matrix-tools/tool-defs.ts, and the Matrix client files named in the issue to map how web_search is registered and called. Compare the custom REST response contract with the existing Matrix response handling and check how MCP tools are configured. Done means a configured custom backend returns search results without managed login, and the missing-login error explains its cause.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Product or interface

CLI - interactive TUI (also affects the Desktop app)

Use case and problem

I run MCode entirely on BYOK/custom providers (Ollama Cloud in my case) without using a MiniMax account. The built-in web_search tool is hardwired to the managed Matrix gateway (LocalWebSearchClient → callMatrixTool → POST {base}/mavis/api/v1/mcp/web_search; see packages/local-runtime/src/web-search/local-web-search-client.ts and packages/agent-tools/src/cloud/matrix-tools/tool-defs.ts).

Without a managed-login token, DesktopMatrixClient.buildHeaders throws before any request ("Matrix tools require a managed-login access token", packages/agent-tools/src/desktop/matrix-client.ts), and the tool result degrades to the opaque MATRIX_TOOL_REQUEST_FAILED: Matrix tool request failed. with no http_status in details (packages/agent-tools/src/cloud/matrix-tools/client.ts) — the cause is not diagnosable from the tool output.

There is no supported way to point the built-in web_search at my own search API. Project/profile MCP servers (.mcp.json) can add search tools but explicitly "leave built-in search unchanged" (docs/examples.md), so the failing built-in tool stays in the tool list and models keep calling it.

Desired behavior

Let users supply their own web_search backend without a MiniMax account. Any one of:

  1. Pluggable search provider config for the native tool, e.g. in config.yaml:
webSearch:
  provider: custom
  baseURL: https://ollama.com/api/web_search
  apiKey: ${OLLAMA_API_KEY}

with a minimal REST contract: request {query, max_results} → response {results: [{title, url, content}]} (the shape Ollama Cloud's web_search API and several other search APIs already use).

  1. Or extend the existing escape hatch (MATRIX_BASE_URL + MATRIX_TOKEN, packages/local-runtime/src/matrix/matrix-env.ts) to accept a simple search response shape instead of the full McpService base_resp envelope, and document the route.

  2. And/or a config switch that aliases the web_search tool binding to a configured MCP search tool, so web_search calls route to my own server.

Acceptance: with no MiniMax login (empty auth store) and a custom backend configured, a turn calling web_search returns results from that backend; with no backend and no login, the error names the cause (e.g. "not signed in") instead of the generic MATRIX_TOOL_REQUEST_FAILED.

Platform

Multiple platforms

Alternatives and additional context

Working workarounds today, each of which leaves the built-in tool broken:

  • a user skill wrapping curl https://ollama.com/api/web_search (works, but models may still pick the built-in tool);
  • an MCP server in .mcp.json wrapping a search API (docs/examples.md §5) — coexists rather than replaces;
  • agents.default.features.webSearch: false (packages/config/src/agent-capabilities.ts) disables the built-in tool, but then the web_search tool name disappears entirely instead of being backed by my own API;
  • signing in to a MiniMax account fixes the built-in tool (verified before/after login today), but I want to run MCode without a MiniMax account, the same way BYOK models do not require one.

Independent of this feature: consider putting the failure cause (missing token / HTTP status / timeout) into details so MATRIX_TOOL_REQUEST_FAILED is diagnosable.

Vorherrschende Sprache
TypeScript
Sterne
2.2k
Forks
281
Ø Merge
14 Std. 26 Min.
Gemergte PRs (30 T.)
38

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus MiniMax-AI/minimax-code

Alle Issues in MiniMax-AI/minimax-code

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.