CDS.ScriptChat.WinForms 1.4.1

dotnet add package CDS.ScriptChat.WinForms --version 1.4.1
                    
NuGet\Install-Package CDS.ScriptChat.WinForms -Version 1.4.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CDS.ScriptChat.WinForms" Version="1.4.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CDS.ScriptChat.WinForms" Version="1.4.1" />
                    
Directory.Packages.props
<PackageReference Include="CDS.ScriptChat.WinForms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CDS.ScriptChat.WinForms --version 1.4.1
                    
#r "nuget: CDS.ScriptChat.WinForms, 1.4.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CDS.ScriptChat.WinForms@1.4.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CDS.ScriptChat.WinForms&version=1.4.1
                    
Install as a Cake Addin
#tool nuget:?package=CDS.ScriptChat.WinForms&version=1.4.1
                    
Install as a Cake Tool

CDS.ScriptChat.WinForms

A drop-in WinForms script+chat panel: the user talks to an LLM about the C# script they are editing, and the assistant can propose edits to it.

Two calls to adopt it:

_chatPanel.AddScript(
    name:  "Inspection",
    read:  () => _scriptTextBox.Text,
    write: script => _scriptTextBox.Text = script,
    api:   typeof(ScriptGlobals));   // drives the orientation index AND lookup_symbol

_chatPanel.UseStoredKey("MyApp");    // key store, settings dialogue, and restore
  • ScriptChatHostPanel — the control to drop in. AddScript once per script, UseStoredKey once. It reaches the host's script buffer through caller-supplied delegates, so it works with any editor control (Scintilla, a plain TextBox, anything) and depends on none of them.
  • ScriptChatPanel — the inner chat UI, for a host that wants to drive sessions itself.
  • ScriptChatSettingsPanel / ScriptChatSettingsForm — provider, model and API key configuration, as a panel or a ready-made dialogue. UseStoredKey wires these up for you.
  • DpapiApiKeyStore — per-user API key storage via Windows DPAPI. Swap in your own via IApiKeyStore.

Set <GenerateDocumentationFile>true</GenerateDocumentationFile> in your app, or lookup_symbol returns correct signatures with no documentation.

Proposed edits — a full rewrite or a targeted find/replace patch — are shown as a diff and applied only when the user accepts. Only one proposal is ever awaiting a decision at a time.

Bring your own key. The key is stored per-user under DPAPI and is never logged or transmitted anywhere except the provider SDK call itself.

Builds on CDS.ScriptChat.Core, which holds the provider-agnostic conversation engine.

MIT licensed.

Full docs, a screenshot, and the design record: GitHub repo.

Credits

Package icon: Seo and web icons created by Yogi Aprelliyanto — Flaticon

Product Compatible and additional computed target framework versions.
.NET net10.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.4.1 74 8/24/2026
1.4.0 88 8/22/2026
1.3.1 83 8/20/2026
1.3.0 53 8/20/2026
1.2.0 109 8/16/2026
1.1.0 88 8/14/2026