copilot: Support HTTP/HTTPS proxy for Copilot language server (#24364)
Closes #6701 (one of the top ranking issues as of writing) Adds the ability to specify an HTTP/HTTPS proxy to route Copilot code completion API requests through. This should fix copilot functionality in restricted network environments (where such a proxy is required) but also opens up the ability to point copilot code completion requests at your own local LLM, using e.g.: - https://github.com/jjleng/copilot-proxy - https://github.com/bernardo-bruning/ollama-copilot/tree/master External MITM-proxy tools permitting, this can serve as a stop-gap to allow local LLM code completion in Zed until a proper OpenAI-compatible local code completions provider is implemented. With this in mind, in this PR I've added separate `settings.json` variables to configure a proxy server _specific to the code completions provider_ instead of using the global `proxy` setting, to allow for cases like this where we _only_ want to proxy e.g. the Copilot requests, but not all outgoing traffic from the application. Currently, two new settings are added: - `inline_completions.copilot.proxy`: Proxy server URL (HTTP and HTTPS schemes supported) - `inline_completions.copilot.proxy_no_verify`: Whether to disable certificate verification through the proxy Example: ```js "features": { "inline_completion_provider": "copilot" }, "show_completions_on_input": true, // New: "inline_completions": { "copilot": { "proxy": "http://example.com:15432", "proxy_no_verify": true } } ``` Release Notes: - Added the ability to specify an HTTP/HTTPS proxy for Copilot. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
This commit is contained in:
parent
dd0de3cfa9
commit
a8d56877ee
4 changed files with 102 additions and 7 deletions
|
@ -38,6 +38,7 @@ gpui.workspace = true
|
|||
http_client.workspace = true
|
||||
inline_completion.workspace = true
|
||||
language.workspace = true
|
||||
log.workspace = true
|
||||
lsp.workspace = true
|
||||
menu.workspace = true
|
||||
node_runtime.workspace = true
|
||||
|
@ -62,7 +63,9 @@ async-std = { version = "1.12.0", features = ["unstable"] }
|
|||
client = { workspace = true, features = ["test-support"] }
|
||||
clock = { workspace = true, features = ["test-support"] }
|
||||
collections = { workspace = true, features = ["test-support"] }
|
||||
ctor.workspace = true
|
||||
editor = { workspace = true, features = ["test-support"] }
|
||||
env_logger.workspace = true
|
||||
fs = { workspace = true, features = ["test-support"] }
|
||||
gpui = { workspace = true, features = ["test-support"] }
|
||||
http_client = { workspace = true, features = ["test-support"] }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue