Kindroid.Library 1.0.1

dotnet add package Kindroid.Library --version 1.0.1
                    
NuGet\Install-Package Kindroid.Library -Version 1.0.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="Kindroid.Library" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kindroid.Library" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Kindroid.Library" />
                    
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 Kindroid.Library --version 1.0.1
                    
#r "nuget: Kindroid.Library, 1.0.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 Kindroid.Library@1.0.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=Kindroid.Library&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Kindroid.Library&version=1.0.1
                    
Install as a Cake Tool

Kindroid.Library

ko-fi

Kindroid.Library is an unofficial .NET client library for the Kindroid AI public REST API written in Visual Basic .NET. It wraps every documented endpoint — single-AI chat, group chat, streaming replies, and chat history management — in a single KindroidClient class, with each operation exposed in synchronous, async, and (where supported) streaming form.

Note: This is a third-party / community client, not an official Kindroid SDK.

License: MIT .NET Language

📖 Full documentation lives in the Wiki — this README only covers the basics.


Features

  • ✅ Single-AI messaging — send, stream, reset (chat break), rewind, and update persona/config
  • ✅ Group chat support — user messages (text or voice), turn-taking, AI responses (sync/async/stream), chat break, roster/config updates
  • ✅ Real streaming — IAsyncEnumerable(Of String) for token-by-token replies, backed by System.Threading.Channels
  • ✅ Paginated chat history retrieval for both single-AI and group conversations
  • ✅ A dedicated KindroidException with HTTP-status-aware messages (401, 403, 404, 429, 500, …)
  • ✅ Bring-your-own HttpClient support for DI / connection-pooling scenarios

Requirements

  • .NET 10.0 (the project's TargetFramework is net10.0, so consuming projects need to target .NET 10 too)
  • A Kindroid API key (kn_…) — generate one from your Kindroid account settings

Installation

Option A — Project reference

Clone or download this repository and add Kindroid.Library as a project reference in your solution.

gh repo clone aldirafa/Kindroid.Library

Option B — NuGet

dotnet add package Kindroid.Library

Quickstart

Imports Kindroid.Library
Imports Kindroid.Library.Exceptions

Dim client As New KindroidClient("kn_yourApiKeyHere")

Try
    ' Synchronous
    Dim reply = client.SendMessage("ai_abc123", "Hello!")
    Console.WriteLine(reply)

    ' Async
    Dim asyncReply = Await client.SendMessageAsync("ai_abc123", "Hello again!")

    ' Streaming
    Dim enumerator = client.SendMessageStreamAsync("ai_abc123", "Tell me a story.").GetAsyncEnumerator()
    Try
        While Await enumerator.MoveNextAsync()
            Console.Write(enumerator.Current)
        End While
    Finally
        Await enumerator.DisposeAsync()
    End Try

Catch ex As KindroidException
    Console.WriteLine($"Kindroid API error {ex.StatusCode}: {ex.Message}")
End Try

💡 VB.NET has no Await foreach like C#. See Streaming in the wiki for why, and for the manual-enumerator pattern used throughout this library.

KindroidClient implements IDisposable — wrap it in a Using block, or dispose it when your app shuts down, so its internal HttpClient is released.

Documentation

Page Description
Getting Started Installation, API keys, first request
Single-AI Chat Send/stream messages, chat break, history, rewind, update info
Group Chat Multi-AI group conversations, turn-taking
Streaming How streaming works, and how to consume it in VB.NET
Error Handling KindroidException and status-code meanings
Models Reference Every request/response DTO, field by field

License

This project is made available under the MIT License.

Contributing

Issues and pull requests are welcome. Since this wraps a third-party API, please double-check any endpoint-behavior changes against the official Kindroid API docs before submitting.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

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.0.1 144 6/20/2026