{"id":28566418,"url":"https://github.com/plastic-labs/honcho","last_synced_at":"2025-06-10T15:10:48.276Z","repository":{"id":217950347,"uuid":"689777286","full_name":"plastic-labs/honcho","owner":"plastic-labs","description":"The Identity layer for the agentic world ","archived":false,"fork":false,"pushed_at":"2025-06-03T21:48:13.000Z","size":3280,"stargazers_count":188,"open_issues_count":6,"forks_count":24,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-04T06:08:42.678Z","etag":null,"topics":["agents","ai","context","langchain","llm","memory","personalization","vectorsearch"],"latest_commit_sha":null,"homepage":"https://docs.honcho.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plastic-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null}},"created_at":"2023-09-10T21:29:54.000Z","updated_at":"2025-06-02T12:03:50.000Z","dependencies_parsed_at":"2024-02-05T23:29:28.369Z","dependency_job_id":"06c3b617-b7c9-4a93-8425-eaa1e7c93e82","html_url":"https://github.com/plastic-labs/honcho","commit_stats":null,"previous_names":["plastic-labs/honcho"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plastic-labs%2Fhoncho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plastic-labs%2Fhoncho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plastic-labs%2Fhoncho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plastic-labs%2Fhoncho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plastic-labs","download_url":"https://codeload.github.com/plastic-labs/honcho/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plastic-labs%2Fhoncho/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259098639,"owners_count":22804794,"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":["agents","ai","context","langchain","llm","memory","personalization","vectorsearch"],"created_at":"2025-06-10T15:10:46.883Z","updated_at":"2025-06-10T15:10:48.265Z","avatar_url":"https://github.com/plastic-labs.png","language":"Python","readme":"# 🫡 Honcho\n\n![Static Badge](https://img.shields.io/badge/Version-1.1.0-blue)\n[![Discord](https://img.shields.io/discord/1016845111637839922?style=flat\u0026logo=discord\u0026logoColor=23ffffff\u0026label=Plastic%20Labs\u0026labelColor=235865F2)](https://discord.gg/plasticlabs)\n[![arXiv](https://img.shields.io/badge/arXiv-2310.06983-b31b1b.svg)](https://arxiv.org/abs/2310.06983)\n![GitHub License](https://img.shields.io/github/license/plastic-labs/honcho)\n![GitHub Repo stars](https://img.shields.io/github/stars/plastic-labs/honcho)\n[![X (formerly Twitter) URL](https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2Fplastic_labs)](https://twitter.com/plastic_labs)\n[![PyPI version](https://img.shields.io/pypi/v/honcho-ai.svg)](https://pypi.org/project/honcho-ai/)\n[![NPM version](https://img.shields.io/npm/v/honcho-ai.svg)](https://npmjs.org/package/honcho-ai)\n\nHoncho is a platform for making AI agents and LLM powered applications that are personalized\nto their end users. It leverages the inherent theory-of-mind capabilities of\nLLMs to cohere to user psychology over time.\n\nRead about the project [here](https://blog.plasticlabs.ai/blog/A-Simple-Honcho-Primer).\n\nRead the user documentation [here](https://docs.honcho.dev)\n\n## Table of Contents\n\n- [Project Structure](#project-structure)\n- [Usage](#usage)\n- [Architecture](#architecture)\n  - [Storage](#storage)\n  - [Insights](#insights)\n- [License](#license)\n\n## Project Structure\n\nThe Honcho project is split between several repositories with this one hosting\nthe core service logic. This is implemented as a FastAPI server/API to store\ndata about an application's state.\n\nThere are also client-sdks that are created using\n[Stainless](https://www.stainlessapi.com/). Currently, there is a [Python](https://github.com/plastic-labs/honcho-python) and\n[TypeScript/JavaScript](https://github.com/plastic-labs/honcho-node) SDK available.\n\nExamples on how to use the SDK are located within each SDK repository. There is\nalso SDK example usage available in the [API Reference](https://docs.honcho.dev/api-reference/introduction)\nalong with various guides.\n\n## Usage\n\nCurrently, there is a demo server of Honcho running at https://demo.honcho.dev.\nThis server is not production ready and does not have an reliability guarantees.\nIt is purely there for evaluation purposes.\n\nA private beta for a tenant isolated production ready version of Honcho is\ncurrently underway. If interested fill out this\n[typeform](https://plasticlabs.typeform.com/honchobeta) and the Plastic Labs\nteam will reach out to onboard users.\n\nAdditionally, Honcho can be self-hosted for testing and evaluation purposes. See\n[Contributing](./CONTRIBUTING.md) for more details on how to setup a local\nversion of Honcho.\n\n## Architecture\n\nThe functionality of Honcho can be split into two different services: Storage\nand Insights.\n\n### Storage\n\nHoncho contains several different primitives used for storing application and\nuser data. This data is used for managing conversations, modeling user\npsychology, building RAG applications, and more.\n\nThe philosophy behind Honcho is to provide a platform that is user-centric and\neasily scalable from a single user to a million.\n\nBelow is a mapping of the different primitives.\n\n```\nApps\n└── Users\n    ├── Sessions\n    │   └── Messages\n    ├── Collections\n    │   └── Documents\n    └── Metamessages\n```\n\nUsers familiar with APIs such as the OpenAI Assistants API will be familiar with\nmuch of the mapping here.\n\n#### Apps\n\nThis is the top level construct of Honcho. Developers can register different\n`Apps` for different assistants, agents, AI enabled features, etc. It is a way to\nisolation data between use cases.\n\n**Users**\n\nWithin an `App` everything revolves around a `User`. the `User` object\nliterally represent a user of an application.\n\n#### Sessions\n\nThe `Session` object represents a set of interactions a `User` has with an\n`App`. Other application may refer to this as a thread or conversation.\n\n**Messages**\n\nThe `Message` represents an atomic interaction of a `User` in a `Session`.\n`Message`s are labeled as either a `User` or AI message.\n\n#### Collections\n\nAt a high level a `Collection` is a named group of `Documents`. Developers\nfamiliar with RAG based applications will be familiar with these. `Collection`s\nstore vector embedded data that developers and agents can retrieve against using\nfunctions like cosine similarity.\n\nDevelopers can create multiple `Collection`s for a user for different purposes\nsuch as modeling different personas, adding third-party data such as emails and\nPDF files, and more.\n\n#### Documents\n\nAs stated before a `Document` is vector embedded data stored in a `Collection`.\n\n#### Metamessages\n\nA `Metamessage` is similar to a `Message` with different use case. They are\nmeant to be used to store intermediate inference from AI assistants or other\nderived information that is separate from the main `User` `App` interaction\nloop. For complicated prompting architectures like [metacognitive prompting](https://arxiv.org/abs/2310.06983)\nmetamessages can store thought and reflection steps along with having developer\ninformation such as logs.\n\nEach `Metamessage` is associated with a `User` with the ability to optionally\ntie to a `Session` and a `Message`.\n\n### Insights\n\nThe Insight functionality of Honcho is built on top of the Storage service. As\n`Messages` and `Sessions` are created for a `User`, Honcho will asynchronously\nreason about the `User`'s psychology to derive facts about them and store them\nin a reserved `Collection`.\n\nTo read more about how this works read our [Research Paper](https://arxiv.org/abs/2310.06983)\n\nDevelopers can then leverage these insights in their application to better\nserver `User` needs. The primary interface for using these insights is through\nthe [Dialectic Endpoint](https://blog.plasticlabs.ai/blog/Introducing-Honcho's-Dialectic-API).\n\nThis is a regular API endpoint that takes natural language requests to get data\nabout the `User`. This robust design let's us use this single endpoint for all\ncases where extra personalization or information about the `User` is necessary.\n\nA developer's application can treat Honcho as an oracle to the `User` and\nconsult it when necessary. Some examples of how to leverage the Dialectic\nAPI include:\n\n- Asking Honcho for a theory-of-mind insight about the `User`\n- Asking Honcho to hydrate a prompt with data about the `User`s behavior\n- Asking Honcho for a 2nd opinion or approach about how to respond to the User\n\n## License\n\nHoncho is licensed under the AGPL-3.0 License. Learn more at the [License file](./LICENSE)\n","funding_links":[],"categories":["Langchain","agent-memory","Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplastic-labs%2Fhoncho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplastic-labs%2Fhoncho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplastic-labs%2Fhoncho/lists"}