1
0
Fork 0
Everything2Everything/src/Everything2Everything.Core/Everything2EverythingBootstrap.cs
Yun Chan b76d51f3c1 feat: AI 텍스트 Provider (LlmProvider) — OpenAI/Anthropic 요약·번역·교정
AI를 '키 없으면 비활성되는 부가 엣지'로 통합. 기존 변환에 무영향, 일반 변환과 충돌 없는 txt↔txt/md↔md self-edge만 노출.

- IChatClient + OpenAiChatClient/AnthropicChatClient (HttpClient 직접, SDK 의존 0)
- LlmProvider: summarize/translate/proofread/custom, ISettingsStore 키 + 환경변수(OPENAI_API_KEY/ANTHROPIC_API_KEY) 폴백
- CheckAvailabilityAsync 게이트: 키 없으면 NotReady → 그래프에서 실행 비활성
- ConvertOptions.Ai (백엔드/모델/작업/대상언어)
- 테스트 5개 (키 게이트·프롬프트 구성·그래프 엣지) — 총 34개 통과
2026-06-01 13:21:14 +09:00

30 lines
1 KiB
C#

using Everything2Everything.Core.Providers;
namespace Everything2Everything.Core;
public static class Everything2EverythingBootstrap
{
public static ConversionEngine CreateDefault()
{
var settings = new DpapiSettingsStore();
var magick = new Converters.MagickProvider();
var pdf = new Converters.PdfProvider();
var providers = new IConverterProvider[]
{
magick,
new Converters.HeicProvider(magick),
pdf,
new Converters.PdfToolProvider(),
new Converters.DocxProvider(pdf),
new Converters.HtmlProvider(),
new Converters.HwpxProvider(),
new Converters.OcrProvider(pdf),
new Converters.DocumentProvider(),
new Converters.DataProvider(),
new Converters.VectorProvider(),
new Converters.ImageOptimProvider(),
new Converters.LlmProvider(settings),
};
return new ConversionEngine(new ProviderRegistry(providers));
}
}