Harmony.SemanticKernel.Core
1.0.1
dotnet add package Harmony.SemanticKernel.Core --version 1.0.1
NuGet\Install-Package Harmony.SemanticKernel.Core -Version 1.0.1
<PackageReference Include="Harmony.SemanticKernel.Core" Version="1.0.1" />
<PackageVersion Include="Harmony.SemanticKernel.Core" Version="1.0.1" />
<PackageReference Include="Harmony.SemanticKernel.Core" />
paket add Harmony.SemanticKernel.Core --version 1.0.1
#r "nuget: Harmony.SemanticKernel.Core, 1.0.1"
#:package Harmony.SemanticKernel.Core@1.0.1
#addin nuget:?package=Harmony.SemanticKernel.Core&version=1.0.1
#tool nuget:?package=Harmony.SemanticKernel.Core&version=1.0.1
Harmony.SemanticKernel.Core
Harmony.SemanticKernel.Core is the core library for integrating with the Semantic Kernel ecosystem. It provides kernel hosting, provider configuration primitives, kernel I/O helpers, and storage configuration used across higher-level packages and sample applications in this repository.
Supported:
- Target framework: .NET 9
- Language: C# 13
Contents
- Kernel host and lifecycle management (
KernelHost) - Provider configuration types (
ProviderConfig,ChatModelConfig) - Storage configuration (
StoreConfig) - Kernel I/O helpers (
KernelIO) - Integration patterns for model providers and persistence backends
Installation
From source:
- Add a project reference to
src/Harmony.SemanticKernel.Core/Harmony.SemanticKernel.Core.csproj. - Restore and build with:
From package feed:
- Reference the NuGet package (if published) by package ID in your consuming project.
Quick start
- Reference the project or package in your application.
- Configure providers and storage, then construct the kernel host.
Example:
Refer to the samples/ folder for complete, runnable samples. The sample in this repo is located at:
samples/SK_HarmonyFormat_Sample/Program.cs
Run a sample:
Or from Visual Studio: open the solution and run via Debug > Start Without Debugging.
Configuration notes
- ProviderConfig: contains provider identity, credentials and optional metadata. Required properties should be explicitly set.
- ChatModelConfig: includes
ModelId,Endpoint, and per-model options. ValidateEndpointbefore use. - StoreConfig: holds storage endpoint and options. Decide whether properties are required or nullable based on your deployment.
Nullability & runtime guidance
This library uses nullable reference types. To avoid runtime issues:
- Mark required configuration properties with
requiredwhere appropriate. - Validate inputs with
ArgumentNullException.ThrowIfNullorArgumentException.ThrowIfNullOrEmpty. - Ensure methods that declare non-nullable return types do not return
null; throw or return a safe default instead.
Testing
- Target tests to .NET 9.
- Add unit tests for any new behavior and integration tests for provider and storage scenarios.
- Run tests with:
Contributing
Please follow repository guidelines in CONTRIBUTING.md and respect the project .editorconfig. Key expectations:
- Adhere to coding standards and formatting rules.
- Add unit tests for new behavior.
- Keep public API changes backward compatible where possible.
- Open a pull request and include a clear description of changes.
Before committing:
- Run static analyzers and fix nullable warnings.
- Ensure builds succeed:
dotnet build
Troubleshooting
- CS86xx nullable warnings: confirm required properties are initialized or intentionally nullable.
- Connection failures: verify provider endpoints, keys, and network access.
- If you see ambiguous runtime nulls, add explicit argument and state validation.
License
See the repository LICENSE file for license terms.
Contact
Open an issue in the repository for bugs or feature requests. Provide reproduction steps and relevant configuration snippets.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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. |
-
net9.0
- Microsoft.Extensions.Configuration (>= 10.0.1)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.1)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.1)
- Microsoft.Extensions.Configuration.Json (>= 10.0.1)
- Microsoft.SemanticKernel (>= 1.68.0)
- Microsoft.SemanticKernel.Connectors.Ollama (>= 1.68.0-alpha)
- Microsoft.SemanticKernel.Connectors.Qdrant (>= 1.68.0-preview)
- Polly (>= 8.6.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Harmony.SemanticKernel.Core:
| Package | Downloads |
|---|---|
|
Harmony.Mcp
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.