github / github/copilot-cli

Tools not available when using custom BASE_URL with local API server

未關閉
#2,919 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
area:configuration area:tools
主要語言
Shell
星號
11.2k
分支
1.9k
平均合併
14 小時 16 分鐘
30 天內合併 PR
6

描述

### Describe the bug

## Description

When connecting GitHub Copilot CLI to a local API server via custom `BASE_URL`, the tools exposed by the server (bash, view, edit, curl, etc.) are not recognized or made available to the agent, even though the server
correctly exposes them in OpenAI-compatible format.

## Environment

- **Copilot CLI version:** 1.0.34
- **Model:** claude-sonnet-4.5
- **Configuration:**
- `BASE_URL=http://localhost:8642/v1`
- `COPILOT_OFFLINE=true`
- Local API server (Hermes) running on port 8642
- Server exposes tools in OpenAI format via `/v1/chat/completions`

## Expected Behavior

When the local API server exposes tools in the OpenAI-compatible format, Copilot CLI should recognize and make these tools available to the agent, similar to how it works with the default GitHub Copilot backend.

## Actual Behavior

Only a limited set of tools are available (`memory`, `session_search`). Standard tools like `bash`, `view`, `edit`, `curl`, `grep`, `glob` are not accessible, even though:
- The server correctly returns tool definitions in API responses
- The same server works with tools when accessed through other clients
- The tools are properly formatted according to OpenAI function calling spec

## Steps to Reproduce

1. Set up a local API server that implements OpenAI-compatible `/v1/chat/completions` endpoint with tools
2. Configure Copilot CLI with custom BASE_URL pointing to local server
3. Start a Copilot CLI session
4. Attempt to use standard tools (bash, view, edit, etc.)
5. Observe that tools are not available

## Workaround Attempted

Disabled all tools in the API server config (`platform_toolsets.api_server: []`) to run in pure text mode, but this defeats the purpose of having a local agent with full tooling capabilities.

## Request

Please add support for recognizing and utilizing tools exposed by custom BASE_URL endpoints, enabling full local/self-hosted agent deployments with complete tooling functionality.

## Additional Context

This limitation prevents using Copilot CLI as a frontend for self-hosted or local AI agent infrastructure, which would be valuable for:
- Privacy-sensitive environments
- Custom tool development
- Air-gapped deployments
- Local model experimentation

### Affected version

GitHub Copilot CLI 1.0.34.

### Steps to reproduce the behavior

_No response_

### Expected behavior

Connect to a remote Server like Hermes Agent:
export COPILOT_PROVIDER_BASE_URL=http://localhost:8642/v1
export COPILOT_PROVIDER_API_KEY=api-key-value
export COPILOT_MODEL=claude-sonnet-4.5
export COPILOT_OFFLINE=true

### Additional context

_No response_

貢獻指南

開啟貢獻指南

研究方向

未指定原始檔案或測試。首先使用文件中說明的 BASE_URL、provider 變數和相容於 OpenAI 的 /v1/chat/completions 端點重現該工作階段,然後追蹤回傳的工具定義在哪裡被處理。當自訂端點公開的工具能被 agent 識別並使用,同時現有行為保持不變時,即視為完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
shell
領域
api, cli
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
冷清
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。