Guler.Editor.Premium.Ai
0.2.0-alpha.0
dotnet add package Guler.Editor.Premium.Ai --version 0.2.0-alpha.0
NuGet\Install-Package Guler.Editor.Premium.Ai -Version 0.2.0-alpha.0
<PackageReference Include="Guler.Editor.Premium.Ai" Version="0.2.0-alpha.0" />
<PackageVersion Include="Guler.Editor.Premium.Ai" Version="0.2.0-alpha.0" />
<PackageReference Include="Guler.Editor.Premium.Ai" />
paket add Guler.Editor.Premium.Ai --version 0.2.0-alpha.0
#r "nuget: Guler.Editor.Premium.Ai, 0.2.0-alpha.0"
#:package Guler.Editor.Premium.Ai@0.2.0-alpha.0
#addin nuget:?package=Guler.Editor.Premium.Ai&version=0.2.0-alpha.0&prerelease
#tool nuget:?package=Guler.Editor.Premium.Ai&version=0.2.0-alpha.0&prerelease
Stylus.Premium.Ai
Stylus editör için AI Assistant premium paketi. ADR-010 implementasyonu.
⚠️ Ticari lisans gereklidir. Çekirdek Stylus paketleri MIT (ADR-004 kalıcı taahhüt); bu paket ayrı bir lisansla satılır. Trial mode (30 gün) varsayılan; sonrası geçerli
Stylus.Premium.Aiaudience'lı STY1 token zorunludur.
Özellikler (alpha)
| Method | Ne yapar |
|---|---|
SuggestTitleAsync(html) |
İçeriğe uygun 3-8 kelimelik başlık önerir |
SummarizeAsync(html, maxSentences) |
İçeriği N cümlelik özete indirger |
TranslateAsync(html, targetLang) |
İçeriği hedef dile çevirir (TR ↔ EN ana akış) |
AdjustToneAsync(html, tone) |
Tonu ayarlar: Formal / Casual / Professional / Academic |
Kurulum
// Program.cs (ASP.NET Core)
builder.Services.AddStylus();
builder.Services.AddStylusPremium(license: builder.Configuration["Stylus:LicenseKey"]);
builder.Services.AddStylusAi(opts =>
{
opts.UseAnthropic(apiKey: builder.Configuration["Stylus:Ai:Anthropic:ApiKey"]);
opts.RateLimitRequestsPerMinute = 15; // default 10
opts.MaxContentLength = 50_000; // default 50K char
});
# API key — User Secrets (dev)
dotnet user-secrets set "Stylus:Ai:Anthropic:ApiKey" "sk-ant-..."
# Production — environment variable
STYLUS__AI__ANTHROPIC__APIKEY=sk-ant-...
Kullanım
public class EditorController(IStylusAiAssistant ai) : ControllerBase
{
[HttpPost("/api/ai/suggest-title")]
public async Task<IActionResult> SuggestTitle([FromBody] HtmlPayload p, CancellationToken ct)
{
var title = await ai.SuggestTitleAsync(p.Html, ct);
return Ok(new { title });
}
}
Mimari
İki seviyeli abstraction:
- Üst (
IStylusAiAssistant): %80 use case — 4 method, prompt template gömülü (TR-optimize) - Alt (
IStylusAiProvider): %20 advanced —CompleteAsync(messages)provider HTTP wrapper
Provider katalogu (alpha):
- ✅ Anthropic Claude (Messages API, default)
- ⏳ OpenAI Chat Completions (
Stylus.Premium.Ai.OpenAI, Sprint 4+) - ⏳ Azure OpenAI (
Stylus.Premium.Ai.AzureOpenAI, Sprint 4+) - ⏳ Google Gemini, Mistral, OpenRouter, Bedrock — Faz 5
Güvenlik
- Prompt injection guard: Editor HTML → plain text (HTML strip) + XML
<user_content>wrapper - Maxlen guard: Default 50K char (~12K Anthropic token, ~$0.04 input)
- Rate limit: Per-user token-bucket (default 10 req/dakika); naive "her keystroke'da AI çağır" runaway loop'unu engeller
- Cost telemetry: Opsiyonel
IStylusAiUsageReporterhook (default no-op); kurumsal müşteri Application Insights / Prometheus / DB'ye yazar
API key Stylus tarafında saklanmaz
Stylus paketi consumer'ın IConfiguration'undan key'i okur, HTTP request'ini yapar, response'ı döner. Stylus key'i diske yazmaz, doğrulamaz, dağıtmaz. Yanlış key → ilk AI çağrısında 401 (Anthropic'ten gelir).
Sınırlamalar (alpha)
- Streaming yok: Request/response sync; UI loading spinner. Streaming Faz 5'e ertelendi.
- Inline AI completion (yazarken öneri) yok: Faz 5 kapsamında.
- Anthropic native EU region yok: Veri yerleşimi isteyen müşteri Bedrock Frankfurt veya Vertex europe-west yan paketlerini Faz 5'te kullanır.
- Rate limit MemoryCache backed: Multi-instance ASP.NET Core deployment'ta gerçek limit
10 × instance count.IDistributedCacheswap'lanırsa fix.
İlgili kaynaklar
- ADR-010 AI provider abstraction:
decisions/ADR-010-ai-provider-abstraction.md - ADR-005 Premium feature scope:
decisions/ADR-005-premium-feature-scope.md - Anthropic API research:
research/anthropic-messages-api-integration.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Guler.Editor.Core (>= 0.2.0-alpha.0)
- Guler.Editor.Licensing (>= 0.2.0-alpha.0)
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- System.Text.Json (>= 8.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0-alpha.0 | 85 | 5/1/2026 |