Support bring-your-own LLM (hosted OpenAI-compatible / Azure OpenAI) for language model integration

未关闭
#2,034 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@waldekmastykarz 已经在做这个了。

开始于 2026年10月31日。

  • #2035 来自 @waldekmastykarz —— 未关闭

评估

这个 Issue 还没有评估数据。

描述

work in progress

Summary

Dev Proxy's language model integration is currently designed for local SLMs (default: Ollama llama3.2 at localhost:11434). As inference prices drop, using hosted LLMs is increasingly viable and yields better results (e.g. operation IDs/descriptions in OpenApiSpecGeneratorPlugin/TypeSpecGeneratorPlugin, mock responses in OpenAIMockResponsePlugin).

Current limitations

  • OpenAILanguageModelClient sends no Authorization/api-key header, so hosted endpoints (OpenAI, Azure OpenAI, GitHub Models, OpenRouter, Foundry) can't be used.
  • Only Ollama and OpenAI clients; no Azure OpenAI support (api-key header, api-version, deployment-based URLs).
  • IsEnabledCoreAsync sends a real "Are you there?" completion on startup, which costs money on paid endpoints.
  • languageModel schema describes the feature as "local language model".

Proposed changes

  1. Add apiKey to languageModel config, supporting @env:VAR_NAME so secrets stay out of config files; send as Bearer token (OpenAI-compatible) or api-key (Azure).
  2. Add AzureOpenAI client (or evaluate moving to Microsoft.Extensions.AI IChatClient).
  3. Replace the startup availability probe with a non-billable check (e.g. GET /models) where possible.
  4. Update rc.schema.json (current version folder) and docs.
  5. Never log API keys.

Follow-ups (out of scope here): per-plugin model overrides, redaction/opt-in for sending captured traffic to cloud models.

主要语言
C#
星标
838
派生
90
平均合并
2 天 11 小时
30 天内合并 PR
59

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

dotnet/dev-proxy 的其他 Issue

查看 dotnet/dev-proxy 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。