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

オープン
#588 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
node.js, typescript

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
TypeScript
スター
2.2k
フォーク
281
平均マージ
14時間 26分
マージ済み PR(30日)
38

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MiniMax-AI/minimax-code のほかの issue

MiniMax-AI/minimax-code の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。