{"id":17440222,"url":"https://github.com/pieces-app/pieces-os-client-sdk-for-csharp","last_synced_at":"2025-04-19T08:05:43.688Z","repository":{"id":255737124,"uuid":"853006146","full_name":"pieces-app/pieces-os-client-sdk-for-csharp","owner":"pieces-app","description":"The Pieces OS Client SDK is a powerful code engine package designed for writing applications on top of Pieces OS.","archived":false,"fork":false,"pushed_at":"2025-03-14T22:59:08.000Z","size":1895,"stargazers_count":15,"open_issues_count":3,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-16T03:55:44.976Z","etag":null,"topics":["ai","csharp","generative-ai","llm","nuget","sdk"],"latest_commit_sha":null,"homepage":"https://pieces.app","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pieces-app.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-05T20:11:25.000Z","updated_at":"2025-04-03T18:08:16.000Z","dependencies_parsed_at":"2024-09-06T23:23:13.268Z","dependency_job_id":"95abee3a-7d28-4a20-b635-8679c98dbf2f","html_url":"https://github.com/pieces-app/pieces-os-client-sdk-for-csharp","commit_stats":null,"previous_names":["pieces-app/pieces-os-client-sdk-for-csharp"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieces-app%2Fpieces-os-client-sdk-for-csharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieces-app%2Fpieces-os-client-sdk-for-csharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieces-app%2Fpieces-os-client-sdk-for-csharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieces-app%2Fpieces-os-client-sdk-for-csharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pieces-app","download_url":"https://codeload.github.com/pieces-app/pieces-os-client-sdk-for-csharp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249644280,"owners_count":21305458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","csharp","generative-ai","llm","nuget","sdk"],"created_at":"2024-10-17T14:07:36.705Z","updated_at":"2025-04-19T08:05:43.659Z","avatar_url":"https://github.com/pieces-app.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Pieces](https://github.com/pieces-app/pieces-os-client-sdk-for-csharp/blob/ad90d44d3bd2e56125ed30a48f4b5b4a214ee80c/assets/pieces-logo.png)](https://pieces.app)\n\n# Pieces OS Client SDK For C#\n\n[![GitHub contributors](https://img.shields.io/github/contributors/pieces-app/pieces-os-client-sdk-for-csharp.svg)](https://github.com/pieces-app/pieces-os-client-sdk-for-csharp/graphs/contributors)\n[![GitHub issues by-label](https://img.shields.io/github/issues/pieces-app/pieces-os-client-sdk-for-csharp)](https://github.com/pieces-app/pieces-os-client-sdk-for-csharp/issues)\n![Publish Client Workflow Status](https://img.shields.io/github/actions/workflow/status/pieces-app/pieces-os-client-sdk-for-csharp/publish-client-nuget.yaml)\n![Publish Extensions Workflow Status](https://img.shields.io/github/actions/workflow/status/pieces-app/pieces-os-client-sdk-for-csharp/publish-extensions-nuget.yaml)\n[![License](https://img.shields.io/github/license/pieces-app/pieces-os-client-sdk-for-csharp.svg)](https://github.com/pieces-app/pieces-os-client-sdk-for-csharp/blob/main/LICENSE)\n\n[![NuGet Version](https://img.shields.io/nuget/v/Pieces.OS.Client?label=Pieces.OS.Client%20on%20nuget)](https://www.nuget.org/packages/Pieces.OS.Client/)\n[![Pieces.Extensions.AI SDK on nuget](https://img.shields.io/nuget/vpre/Pieces.Extensions.AI?label=Pieces.Extensions.AI%20on%20nuget)](https://www.nuget.org/packages/Pieces.Extensions.AI/)\n\n[![Discord](https://img.shields.io/badge/Discord-@layer5.svg?color=7389D8\u0026label\u0026logo=discord\u0026logoColor=ffffff)](https://discord.gg/getpieces)\n[![Twitter Follow](https://img.shields.io/twitter/follow/pieces.svg?label=Follow)](https://twitter.com/getpieces)\n\n## Introduction\n\nThe Pieces OS Client SDK is a set of powerful code engine packages designed for writing applications on top of Pieces OS. It facilitates communication with a locally hosted server to enable features such as copilot chats, asset saving, and more.\n\nThis SDK has 2 packages:\n\n- [Pieces.OS.Client](https://www.nuget.org/packages/Pieces.OS.Client/) - this is the core SDK package providing access to the features of Pieces from your C# application\n- [Pieces.Extensions.AI](https://www.nuget.org/packages/Pieces.Extensions.AI/) - this is an implementation of [Microsoft.Extensions.AI](https://www.nuget.org/packages/Microsoft.Extensions.AI/) using Pieces to provide support for multiple LLMs, as well as adding context such as snippets, files, folders, and Pieces Long-Term Memory to your AI conversation.\n\n## Features\n\nThe Pieces SDK offers the following key features:\n\n1. Copilot Chats: Communicate seamlessly with copilot chats functionality.\n1. Asset Management: Save and manage assets and formats efficiently.\n1. Local Server Interaction: Interact with a locally hosted server for various functionality.\n1. Multi-LLM support: Use any Pieces supported LLM to power your app.\n1. File, folder, and Pieces Long-Term Memory in copilot chats\n\n## Installation\n\nTo get started with the Pieces OS Client SDK, follow these steps:\n\n1. **Download Pieces OS**: Pieces OS serves as the primary backend service, providing essential functionality for the SDK. Download the appropriate version for your operating system:\n   - [macOS](https://docs.pieces.app/installation-getting-started/macos)\n   - [Windows](https://docs.pieces.app/installation-getting-started/windows)\n   - [Linux](https://docs.pieces.app/installation-getting-started/linux)\n\n1. **Install the SDK**: Use nuget to install the Pieces OS Client SDK package:\n\n   ```shell\n   dotnet add package Pieces.OS.Client --prerelease\n   ```\n\n1. **Install the Extensions SDK**: If you want [Microsoft.Extensions.AI](https://www.nuget.org/packages/Microsoft.Extensions.AI/) support, install the Pieces.Extensions.AI package:\n\n    ```shell\n    dotnet add package Pieces.Extensions.AI --prerelease\n    ```\n\n## Projects\n\nThis repo contains the following projects:\n\n- [Pieces.OS.Client](./src/Client/) - the OS client SDK\n- [Pieces.Extensions.AI](./src/Extensions/) - support for Microsoft.Extensions.AI\n- [Pieces.OS.Core](./src/Core/) - an internal library wrapping the Pieces OS API\n- [Pieces.OS.Client.Example](./src/Client.Example/) - example code for using the Pieces.OS.Client SDK\n- [Pieces.Extensions.AI.Example](./src/Extensions.Example/) - example code for using the Pieces.Extensions.AI SDK\n- [SampleApps](./src/SampleApps/) - a selection of sample apps\n\n### Sample apps\n\n- [Remind Me](./src/SampleApps/RemindMe/) - an app that reminds you about what you have been working on over the last few hours using Pieces Long-Term Memory.\n\n## Pieces.OS.Client Examples\n\nThere is an example project using the Pieces.OS.Client package in the [`./src/Client.Example`](./src/Client.Example) folder. This example is a console app containing a range of different examples, each commented out. To run these examples, uncomment the one you want to run, then run `dotnet run` from the [`./src/Client.Example`](./src/Client.Example) folder.\n\nDetails of this example project are provided in the [src/Client/README.md file](./src/Client/README.md).\n\n## Pieces.Extensions.AI Examples\n\nThere is an example project using the Pieces.Extensions.AI package in the [`./src/Extensions.Example`](./src/Extensions.Example) folder. This example is a console app containing a range of different examples, each commented out. To run these examples, uncomment the one you want to run, then run `dotnet run` from the [`./src/Extensions.Example`](./src/Extensions.Example) folder.\n\nDetails of this example project are provided in the [src/Extensions/README.md file](./src/Extensions/README.md).\n\n## Publish the packages\n\nThis repo includes GitHub actions to publish both the Pieces.OS.Client and Pieces.Extensions.AI packages.\n\nThe Pieces.Extensions.AI package is dependent on the Pieces.OS.Client package. The way this is implemented is:\n\n- In this repo, the Pieces.Extensions.AI project has a project dependency on Pieces.OS.Client and Pieces.OS.Core\n- In the action to publish, this project dependency is removed, and a nuget package dependency is added to the latest pre-release Pieces.OS.Core.\n\nTo publish these packages, do the following:\n\n- Tag this repo using a tag of `client-v\u003cx.y.z-a\u003e` where `\u003cx.y.z-a\u003e` is the version string. For example, to release `0.0.10-beta` you would tag with `client-v0.0.10-beta`. This will only build and publish the Pieces.OS.Client package.\n- Once the Pieces.OS.Client package has been validated and made public on nuget, tag the repo using a tag of `extensions-v\u003cx.y.z-a\u003e`, for example `extensions-v0.0.10-beta`. This will build the Pieces.Extensions.AI package using the nuget package reference to Pieces.OS.Client, and publish to nuget.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpieces-app%2Fpieces-os-client-sdk-for-csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpieces-app%2Fpieces-os-client-sdk-for-csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpieces-app%2Fpieces-os-client-sdk-for-csharp/lists"}