mcpField
H
Honcho

Honcho

远程服务
github.com/plastic-labs记忆与知识7.8k1 天前更新
代码仓库

关于 Honcho

Honcho 是面向状态化 Agent 开发者的记忆基础设施。它在后台处理对话和事件,形成随时间变化的参与者表示,可用于查询上下文、搜索或自然语言回答。

主要功能

  1. 01在后台推理消息和事件
  2. 02构建不断演变的参与者表示
  3. 03提供搜索、对话和会话上下文 API
  4. 04支持托管、本地和自托管部署
  5. 05提供 Python 和 TypeScript SDK

适用场景

  1. 01在 Agent 会话间保留上下文
  2. 02让多个编码 Agent 共享记忆
  3. 03检索参与者或工作区上下文
  4. 04为应用添加对话记忆

MCP 相关

Honcho 通过 MCP 服务向任何兼容 MCP 的客户端提供记忆功能。集成方式包括托管 HTTP 端点以及本地或自托管部署。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.honcho.dev
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.honcho.dev需要授权

工具

详细介绍


Static Badge PyPI version NPM version CLI Discord

Honcho 是用于构建有状态 Agent 的记忆基础设施,能帮助它们随着时间推移理解不断变化的人、Agent、群体、项目和想法。

存储消息和事件,让 Honcho 在后台进行推理,然后从任意模型或框架查询同伴表征、会话上下文、搜索结果或自然语言洞见。可通过 api.honcho.dev 使用托管服务,使用 honcho start 启动本地服务栈,也可以自行自托管 FastAPI 服务。

将 Honcho 用作记忆系统,可提高 Agent 的留存率和信任度,并帮助你构建数据壁垒,超越现有竞争者。

Honcho 定义了 Agent 记忆的帕累托前沿。观看视频,查看我们的评测页面,并阅读博客文章了解详情。

目录

Honcho 项目分布在多个仓库中,本仓库包含核心服务逻辑,以 FastAPI 服务的形式实现。Python 和 TypeScript 客户端 SDK 位于 sdks/ 目录中。honcho-cli 包也位于此处。

从这里开始

我想要……路径开始使用
为我的编码 Agent 添加持久记忆Claude Code、Cursor、Grok Bot、OpenCode、Kilo Code、OpenClaw、Hermes 或任意 MCP 客户端集成
为我的产品添加记忆Python 或 TypeScript SDK快速入门
在本地运行 Honcho安装 CLI,然后运行 honcho start --setupCLI
检查部署honcho workspace inspect、honcho doctorCLI
从源代码自托管Docker Compose 或本地开发自托管

为什么选择 Honcho

功能含义
推理优先的记忆从对话和事件中提取结论,而不只是匹配片段。
以 Peer 为中心的模型将用户、Agent、群组、项目和想法作为实体进行跟踪,并记录它们随时间的变化。
多 Peer 视角在完成配置后,建模一个 Peer 对另一个 Peer 的了解。
托管或可自托管使用 api.honcho.dev、在本地运行 honcho start,或自行运行 FastAPI 服务。
Agent 工具集成MCP、Claude Code、Cursor、Grok Bot、OpenCode、Kilo Code、OpenClaw、Hermes。

Honcho 工作循环

  1. 存储 — 将对话、事件、文档或工具轨迹作为消息存储在会话中。
  2. 推理 — Honcho 在后台处理队列并更新 Peer 表征。
  3. 查询 — 向 Honcho 查询上下文、搜索结果、Peer 表征或自然语言回答。
  4. 注入 — 将结果传入任意大模型调用或 Agent 框架。

具体来说:工作区包含 Peer,Peer 参与会话,消息存储在会话中,而 Honcho 会为每个 Peer 构建表征,你可以通过聊天端点或直接查询该表征。

快速开始

在 app.honcho.dev 获取 API 密钥——注册时系统会提示你加入一个组织,该组织将拥有专属的 Honcho 实例。或者安装 CLI 并运行 honcho start --setup,然后将 SDK 指向 http://localhost:8000。

Python
pip install honcho-ai
# or: uv add honcho-ai
# or: poetry add honcho-ai
import os
from honcho import Honcho

# Managed service uses api.honcho.dev by default. For self-hosted, pass
# base_url="http://localhost:8000" or set HONCHO_URL.
honcho = Honcho(
    workspace_id="my-app-testing",
    api_key=os.environ["HONCHO_API_KEY"],
)

# 1. Store: peers and messages on a session
alice = honcho.peer("alice")
tutor = honcho.peer("tutor")
session = honcho.session("session-1")
session.add_messages([
    alice.message("Hey there — can you help me with my math homework?"),
    tutor.message("Absolutely. Send me your first problem!"),
])

# 2. Reason: happens asynchronously in the background.

# 3. Query: ask Honcho what it knows, or pull prompt-ready context.
answer = alice.chat("What learning styles does the user respond to best?")
context = session.context(summary=True, tokens=10_000)

# 4. Inject: hand the context to your model of choice.
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
    model=os.environ.get("OPENAI_MODEL", "gpt-4o-mini"),
    messages=context.to_openai(assistant=tutor),
)
TypeScript
npm install @honcho-ai/sdk
# or: bun add @honcho-ai/sdk
import { Honcho } from "@honcho-ai/sdk";
import OpenAI from "openai";

const honcho = new Honcho({
  workspaceId: "my-app-testing",
  apiKey: process.env.HONCHO_API_KEY,
});

const alice = await honcho.peer("alice");
const tutor = await honcho.peer("tutor");
const session = await honcho.session("session-1");
await session.addMessages([
  alice.message("Hey there — can you help me with my math homework?"),
  tutor.message("Absolutely. Send me your first problem!"),
]);

const answer = await alice.chat(
  "What learning styles does the user respond to best?",
);
const context = await session.context({ summary: true, tokens: 10_000 });

const openai = new OpenAI();
const completion = await openai.chat.completions.create({
  model: process.env.OPENAI_MODEL ?? "gpt-4o-mini",
  messages: context.toOpenAI({ assistant: tutor }),
});

注意: 后台推理是异步的。新添加的消息可能需要片刻才会反映在聊天/表征响应中;若要进行低延迟读取,请使用 representation 端点。

Honcho 能为你提供什么

需求API
保存交互历史session.add_messages(...)
询问 Honcho 对某个 Peer 的了解peer.chat(...)
查询整个工作区honcho.chat(...) / honcho.chat_stream(...)
获取适用于提示词的上下文session.context(...).to_openai(...) / .to_anthropic(...)
混合搜索(BM25 + 向量)peer.search(...)、session.search(...)、honcho.search(...)
低延迟静态表征peer.representation(...)、session.representation(...)
导入文档session.upload_file(...)
检查后台处理状态honcho.queue_status(...)

查看完整的 SDK 参考和 API 参考。

集成

Honcho 为所有主流编码 Agent 提供官方记忆插件。它们都读取同一个 ~/.honcho/config.json,因此只需配置一个密钥即可供所有插件使用;将两个插件指向同一个 workspace,它们就能共享记忆。

Agent安装源代码
Claude Code/plugin marketplace add plastic-labs/claude-honchoclaude-honcho
Codexnpm install -g @honcho-ai/codex-honchocodex-honcho
Cursor从 Cursor Marketplace 安装 Honchointegrations/cursor
Grok Bot在 Honcho 插件页面点击 Add to Grok Botintegrations/cursor
DeepSeek Harnessdsh plugin --profile <name> add @honcho-ai/dsh-honchodsh-honcho
OpenCodeopencode plugin "@honcho-ai/opencode-honcho" --globalopencode-honcho
Kilo Codekilo plugin @honcho-ai/kilo-honcho --globalkilo-honcho
OpenClawopenclaw plugins install @honcho-ai/openclaw-honchoopenclaw-honcho
Hermeshermes memory setup上游内置
任意 MCP 客户端claude mcp add honcho --transport http ...MCP 指南

在 app.honcho.dev 获取密钥,然后运行 honcho init(或 uv tool install honcho-cli && honcho init),即可将密钥写入 ~/.honcho/config.json,供所有集成使用。Cursor 和 Grok Bot 例外:Marketplace 插件通过 OAuth 登录,在这两种情况下 honcho init 都是可选的(在 Cursor 中运行它会开启自动捕获)。

Claude Code

可通过以下两种方式集成,具体取决于你希望集成得多深入:

插件(集成更丰富——推荐 Claude Code 用户使用):

/plugin marketplace add plastic-labs/claude-honcho
/plugin install honcho@honcho

原生 MCP(适用于任何 MCP 客户端,例如 Cursor、Cline、Windsurf 等):

claude mcp add honcho \
  --transport http \
  --url "https://mcp.honcho.dev" \
  --header "Authorization: Bearer hch-your-key-here" \
  --header "X-Honcho-User-Name: YourName"

详情:Claude Code 指南 · MCP 指南 · 仓库。

Codex
npm install -g @honcho-ai/codex-honcho
codex-honcho install      # registers hooks + MCP + skill in ~/.codex

重启 Codex 以加载钩子。详情:Codex 指南 · 仓库。

Cursor 和 Grok Bot

两者共用一个 Cursor Marketplace 列表。在 Cursor 中,打开 Customize,安装 Honcho,通过身份验证连接 honcho MCP 服务,然后运行一次 /honcho-setup。在 Grok Bot 中,在 Connect apps 下添加 Honcho(或在插件页面点击 Add to Grok Bot),然后让一个 Bot 设置 Honcho。该插件通过 OAuth 连接到托管的 MCP 服务,并附带用于驱动记忆循环的技能,因此无需在本地运行任何内容。 详情:Cursor 指南 · Grok Bot 指南 · 源代码。

DeepSeek Harness
dsh plugin --profile <name> add @honcho-ai/dsh-honcho

这是一个原生 Cordis 插件。它会将记忆注入系统提示词,并从会话事件流中捕获新信息。模型可使用三个工具:honcho_search、honcho_chat 和 honcho_remember;你可以运行 /honcho 查看状态。 详情:DeepSeek Harness 指南 · 代码仓库。

OpenCode
opencode plugin "@honcho-ai/opencode-honcho" --global

详情:OpenCode 指南 · 代码仓库。

Kilo Code
kilo plugin @honcho-ai/kilo-honcho --global

一次安装即可支持 Kilo CLI、VS Code 扩展和 JetBrains 插件,因为这三者运行的都是同一个 Kilo 服务。 详情:Kilo Code 指南 · 源代码。

OpenClaw
openclaw plugins install @honcho-ai/openclaw-honcho
openclaw honcho setup
openclaw gateway --force

openclaw honcho setup 会提示你输入 API 密钥、写入配置,并可选择将旧版 MEMORY.md / USER.md / IDENTITY.md 文件迁移到 Honcho(不会造成破坏——绝不会删除原文件)。详情:OpenClaw 指南 · 代码仓库。

Hermes
hermes memory setup   # select "honcho", point at api.honcho.dev or your local server

详情:Hermes 指南。

将 Honcho 添加到你自己的代码库(Agent 技能)

要将 Honcho SDK 接入现有应用,请安装集成技能——它会探索你的代码库,询问集成偏好,生成 SDK 配置,并验证其是否正常工作:

npx skills add plastic-labs/honcho

然后在 Claude Code 中调用 /honcho-integration(或通过插件市场调用 /honcho-dev:integrate)。同一命令还会安装记忆技能——honcho-memory(相关概念:回忆/记录循环、会话和 peer 策略,以及如何连接和驱动由 MCP 连接的 Honcho)和 honcho-cli(检查部署,或使用 honcho start 运行本地堆栈)。详情:Agentic 开发指南。

其他 MCP 客户端

相同的 claude mcp add 格式(或各客户端对应的格式)适用于任何兼容 MCP 的客户端。请参阅 MCP 指南。

CLI

honcho-cli 可在终端检查 Honcho 部署,也可使用 Docker 运行个人本地堆栈。

uv tool install honcho-cli
honcho init                 # Honcho API key or browser login + server URL
honcho start --setup basic  # local stack: LLM provider key + Docker
honcho doctor

honcho init 会对 CLI 进行身份验证,使其连接到 Honcho 服务。honcho start --setup 是单独的步骤:它会写入本地 deriver 所需的大模型提供商密钥,并启动 API + deriver + Postgres + Redis。

完整命令和本地堆栈详情:CLI 参考 · honcho-cli/README.md。要从源代码开发服务端,请参阅自托管。

核心概念

Honcho 围绕 peer 组织一切——人类和 AI Agent 都是平等的一等实体。peer 模型支持:

  • 包含人类和 AI Agent 的多参与者会话
  • 可配置的观察设置(哪些 peer 观察哪些其他 peer)
  • 灵活管理所有参与者的身份
  • 支持复杂的多 Agent 交互

peer 在会话中交换消息;Honcho 会基于这些消息进行推理,构建每个 peer 的表征,供你查询。

  • Workspace(原名 App):顶层容器;隔离不同用例的数据。
  • Peer(原名 User):任意参与者——人类用户或 AI Agent。
  • Session:对话上下文;与 peer 是多对多关系。
  • Scope:用于对会话进行命名分组的范围,将回忆(聊天、表征、搜索)限制在组内成员。
  • Message:原子数据单元(peer 间通信或导入的文档片段)。

你可以从 Honcho 查询:

  • 结论——Honcho 提取出的有关某个 peer 的信息(演绎和归纳)。通过结论 API提供。
  • 表征——Honcho 对某个 peer 的认知快照,静态且延迟低(可按会话限定范围)。
  • Peer Cards——精简的身份摘要。
  • 会话上下文 / 摘要——可直接用于提示词的长时对话信息包。
内部存储(Collections 和 Documents)

在内部,Honcho 会将与 peer 相关的观察结果存储在由向量嵌入的 documents 组成的 collections 中。Collection 以 (observer, observed) peer 对为键——同一机制既支持自我表征(observer == observed),也支持跨 peer 建模(peer X 对 peer Y 的理解)。这些基本构件不会直接公开;公开接口是 Conclusions API。

基准测试和评估

Honcho 的评估涵盖 LongMemEval、LoCoMo 及其他长对话基准测试。有关方法和可复现的结果,请参阅 评估页面、研究博客文章和 Pareto 前沿公告视频。

自托管

Honcho 基于 AGPL-3.0 开源。要运行个人实例,请安装命令行工具(uv tool install honcho-cli),然后执行 honcho start --setup。以下路径适用于从源码构建、参与贡献或不使用命令行工具进行部署。

快速开始(从源码运行,使用 Docker)
git clone https://github.com/plastic-labs/honcho.git
cd honcho
cp docker-compose.yml.example docker-compose.yml
cp .env.template .env       # set LLM_OPENAI_API_KEY (see "LLM provider" below for OpenRouter etc.)
docker compose up

然后让 SDK 指向它:

honcho = Honcho(workspace_id="my-app-testing", base_url="http://localhost:8000")
# or: export HONCHO_URL=http://localhost:8000
不使用 Docker(手动设置)

以下所有操作都直接在主机上运行,无需 Docker。你需要:

  • uv(它会为你安装所需的 Python 3.13+)
  • 安装了 pgvector 扩展的 PostgreSQL,可本地部署或使用托管服务
  • 一个 LLM 提供商的 API 密钥

Redis 为可选项;缓存默认关闭(CACHE_ENABLED=false)。

  1. 克隆并安装
git clone https://github.com/plastic-labs/honcho.git
cd honcho
uv sync
  1. 设置启用了 pgvector 的 PostgreSQL

原生安装 Postgres 和 pgvector,然后创建 honcho 角色和数据库,并以超级用户身份在其中启用扩展。

在 Ubuntu/Debian 上:

# Postgres and pgvector majors must match the distro's packaged version.
# Ubuntu 24.04:
sudo apt install postgresql-16 postgresql-16-pgvector
# Debian 12:
sudo apt install postgresql-15 postgresql-15-pgvector
# Other versions: add the PostgreSQL APT repo (apt.postgresql.org) first.

sudo -u postgres psql -c "CREATE ROLE honcho LOGIN PASSWORD 'honcho';"
sudo -u postgres createdb -O honcho honcho
sudo -u postgres psql -d honcho -c "CREATE EXTENSION IF NOT EXISTS vector;"
sudo -u postgres psql -d honcho -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;"  # optional, speeds up message search

在 macOS 上,Homebrew 会将你的登录用户设为超级用户,因此请移除 sudo -u postgres:

brew install postgresql@17 pgvector
brew services start postgresql@17

psql -d postgres -c "CREATE ROLE honcho LOGIN PASSWORD 'honcho';"
createdb -O honcho honcho
psql -d honcho -c "CREATE EXTENSION IF NOT EXISTS vector;"
psql -d honcho -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;"

支持 pgvector 的托管 Postgres(例如 Supabase、Neon、RDS 等)也可以使用。在其数据库中启用相同的扩展。

  1. 配置 .env
cp .env.template .env

只需设置两个选项:

DB_CONNECTION_URI=postgresql+psycopg://honcho:honcho@localhost:5432/honcho
LLM_OPENAI_API_KEY=sk-...

DB_CONNECTION_URI 必须使用 postgresql+psycopg 前缀(这是 SQLAlchemy 的要求)。

LLM 提供商。 你只需要一个密钥,无需为每家供应商各准备一个。所有功能默认使用 openai / gpt-5.4-mini,嵌入默认使用 openai / text-embedding-3-small。若要使用 OpenRouter 或其他兼容 OpenAI 的端点(Together、Fireworks、vLLM、Ollama、LiteLLM),请将该提供商的密钥填入 LLM_OPENAI_API_KEY,并在 .env 中为每项功能设置模型和基础 URL:

LLM_OPENAI_API_KEY=sk-or-v1-...
DERIVER_MODEL_CONFIG__MODEL=google/gemini-2.5-flash
DERIVER_MODEL_CONFIG__OVERRIDES__BASE_URL=https://openrouter.ai/api/v1
# ...repeat for DIALECTIC_LEVELS__*, SUMMARY_*, DREAM_*

模型必须支持工具调用。如果你的提供商不提供嵌入服务,请将 EMBEDDING_MODEL_CONFIG__* 指向支持嵌入的模型。所有按功能配置的条目请参阅 .env.template;有关直接使用 Anthropic/Gemini 密钥和混合使用提供商的信息,请参阅配置指南。

身份验证。 身份验证默认关闭(AUTH_USE_AUTH=false)。将服务暴露到网络之前,请先启用身份验证。启用身份验证需要 JWT 密钥,可使用以下命令生成:

python scripts/generate_jwt_secret.py

此命令会生成 JWT 密钥并将其打印到控制台。然后你可以设置 AUTH_JWT_SECRET 环境变量。启用 AUTH_USE_AUTH 时必须设置此变量:

AUTH_JWT_SECRET=<generated_secret>

启用身份验证后,可使用 scripts/generate_jwt.py 为本地开发和脚本生成令牌:

# Admin token (full access, no expiry)
uv run python scripts/generate_jwt.py --admin

# Admin token expiring in 24 hours
uv run python scripts/generate_jwt.py --admin --expires 24h

# Workspace-scoped token
uv run python scripts/generate_jwt.py --workspace my-workspace --expires 30d

# Capture a token for use in curl/scripts
TOKEN=$(uv run python scripts/generate_jwt.py --admin --print-only)
curl -H "Authorization: Bearer $TOKEN" http://localhost:8000/v3/workspaces

时长单位:s(秒)、m(分钟)、h(小时)、d(天)、w(周)、y(年)。

  1. 运行数据库迁移
uv run alembic upgrade head

迁移会持有会话级 advisory 锁,因此需要使用会话模式连接(直接连接 Postgres 或使用会话池化器),不能使用事务模式池化器。Supabase 风格的 :6543 端口会自动改写为 :5432。

  1. 启动 Honcho

需要在数据库运行的同时启动两个进程。

启动 API 服务:

uv run fastapi dev src/main.py                  # local development, reloads on code changes
uv run fastapi run --host 0.0.0.0 src/main.py   # on a server

启动后台工作进程(deriver):

在另一个终端中运行:

uv run python -m src.deriver

deriver 会生成表示、摘要和 peer 卡片,并管理 dreaming 任务。你可以增加 deriver 的数量以提高运行效率。

有关验证步骤和生产环境说明,请参阅自托管文档 → 手动设置。

贡献者:使用 uv run pre-commit install --hook-type pre-commit --hook-type commit-msg --hook-type pre-push 安装 Git 钩子。测试只会在推送时运行,因此提交通过检查不代表推送也会通过。要部署到 Fly.io,请参阅自托管文档 → 在 Fly.io 上部署。

配置

Honcho 使用灵活的配置系统,同时支持 TOML 文件和环境变量。配置值按优先级顺序加载:环境变量 > .env 文件 > config.toml > 默认值。

复制示例文件即可开始:

cp config.toml.example config.toml

文件按子系统组织,包括 [app]、[db]、[auth]、[cache]、[llm]、[deriver]、[dialectic]、[summary]、[dream]、[peer_card]、[webhook]、[metrics]、[telemetry]、[vector_store] 和 [sentry]。任何值都可以通过名为 {SECTION}_{KEY} 的环境变量覆盖;嵌套项使用 __(DIALECTIC_LEVELS__low__MODEL_CONFIG__MODEL),应用级设置则只需使用 {KEY}。

请参阅配置参考,了解所有可用选项;也可参阅 .env.template,查看带注释的环境变量列表。

架构

Honcho 分为两项服务:存储(工作区、Peer、会话、范围、消息、内部集合)和洞察(推理、结论、表征、摘要、聊天端点)。存储通过 API 同步执行;洞察则通过后台队列异步执行,该队列由 deriver 工作进程消费。

主要功能:

  • 丰富的推理系统 — 提供多种实现方法,从交互中提取结论,并构建全面的 Peer 表征
  • 聊天端点 — 结合结论与当前上下文,生成基于推理的回复
  • 后台处理 — 针对表征更新和会话摘要等高开销操作的异步处理管道
  • 多提供商支持 — 可为不同用例配置大模型提供商
存储基元详解

Honcho 包含多种用于存储应用和 Peer 数据的基元。这些数据用于管理对话、建模 Peer 身份、构建 RAG 应用等。

Honcho 的理念是提供一个以 Peer 为中心的平台,并可轻松扩展,从单个用户扩展到一百万用户。

下方展示了不同基元及其关系的映射。

Workspaces
├── Peers ←──────────────────┐
│   ├── Sessions             │
│   └── (internal collections, keyed by observer/observed peer pair)
│                            │
├── Scopes ←─────────────────┤ (many-to-many with sessions)
│                            │
└── Sessions ←───────────────┤ (many-to-many with peers)
    ├── Peers ───────────────┘
    └── Messages (session-level)

关系详情:

  • 一个 Workspace 包含多个 Peer 和 Scope。
  • Peer 与 Session 是多对多关系(Peer 可以参与多个 Session,一个 Session 也可以包含多个 Peer)。
  • Scope 与 Session 是多对多关系(一个 Session 可以属于多个 Scope;一个 Scope 可以包含多个 Session)。
  • Message 属于某个 Session,并标记其来源 Peer。
  • 向量嵌入 Document 的内部集合以 (observer, observed) Peer 对为键。它们不会通过 API 直接公开;其中存储的观察结果会以结论的形式公开。

熟悉 OpenAI Assistants API 等 API 的用户会对这里的大部分映射感到熟悉。

Workspaces

这是 Honcho 的顶层结构。开发者可以为不同的助手、Agent、AI 功能等注册不同的 Workspaces。这有助于隔离不同用例的数据,并提供多租户能力。

Peers

在 Workspace 中,一切都围绕 Peer 展开。Peer 对象表示系统中的任意参与者,无论是人类用户还是 AI Agent。这种统一模型支持复杂的多参与者交互。

Sessions

Session 对象表示 Workspace 中 Peers 之间的一组交互。其他应用可能将其称为线程或对话。一个 Session 可以包含多个 Peer,并支持配置观察设置。创建时,Session 可以选择加入一个或多个 Scopes,之后也可以通过 scopes API 加入。

作用域

Scope 是 Workspace 中一组会话的命名集合。它是召回时的可见性边界:通过某个作用域进行的聊天、表征、会话上下文和工作区搜索,只能看到该作用域所属会话中发生的内容。底层的对等方仍会保留涵盖其所有参与内容的统一表征。

开发者通过作用域 API(honcho.scope(...) / honcho.scopes())和创建会话时可选的 scopes 字段管理作用域,而不是通过观察者/被观察者配置。将已有消息的会话添加到作用域时,会把其中已有的显式结论复制到该作用域(不会重新推导);移除会话时,则会协调并移除这些副本。可通过作用域 status 端点查询回填进度。

单个作用域名称会从该作用域的集合和卡片中获取结果。作用域列表会将召回范围限制为其所属会话的并集。空作用域会拒绝请求。同一次读取中,scope 不能与 session/filters 同时使用。

消息

Message 表示会话级别的原子数据单元:会话上下文中对等方之间的通信。所有消息都会标记其来源对等方,并可通过异步处理来更新其表征。这种灵活的设计既支持对话交互,也支持更广泛的人格建模数据摄取。

推理流水线

Honcho 的推理功能基于 Storage 服务构建。为 Peers 创建 Messages 和 Sessions 时,Honcho 会异步推理对等方的心理特征,以得出关于他们的事实,并将其存储在保留的内部集合中。

流水线的概要如下:

  1. 通过 API 创建消息。
  2. 将推导任务加入队列,以供后台处理,包括:
    • representation:更新 Peers 的表征。
    • summary:创建 Sessions 的摘要。
  3. 基于会话的队列处理可确保顺序正确。
  4. 结果会在内部存储,并通过 Conclusions API、Representations、Peer Cards 和 Chat Endpoint 提供。
检索数据和洞见

Honcho 提供多种从系统中检索数据的方式,以满足不同应用的需求。

获取上下文

在与大模型进行长时间对话时,上下文窗口很快就会被填满。为了解决这个问题,Honcho 提供了一个 context 端点,可在指定的令牌限制内,返回会话中的消息、结论和摘要。

使用此功能可让会话无限期地持续下去。想了解实际效果,请试试 Honcho Chat。

搜索

Honcho 提供多个搜索端点,开发者可以使用混合搜索策略,在 Workspace、Session 或 Peer 级别查询消息。

请求可以包含高级筛选条件,以进一步缩小结果范围。

Chat API

使用这些洞见的主要接口是 Chat Endpoint(POST /peers/{peer_id}/chat)。它接受自然语言请求,以获取有关某个对等方的数据,并返回基于推理的回答。示例:

  • 向 Honcho 询问有关该对等方的一般性或具体洞见。
  • 请求 Honcho 使用有关该对等方行为的数据填充提示词。
  • 向 Honcho 征求如何回复的第二意见。
  • 获取融入长期事实和上下文的个性化回复。
表征

对于低延迟使用场景,Honcho 提供 representation 端点,可返回一份静态文档,其中包含某个对等方在特定会话上下文中的洞见。使用此功能可快速为提示词补充上下文,而无需等待大模型响应。

## SDK

SDK 的版本独立于服务进行管理。当前 SDK 版本彼此保持同步;上方的服务徽章显示已部署的服务版本。

如需了解完整的 API 功能,请参阅 SDK 参考;如需了解原始 HTTP API,请参阅 API 参考;可运行的演示请参阅各 SDK 的示例文件夹。

了解更多

贡献

仅维护者可提交拉取请求。 如果您发现错误或希望进行更改,请改为提交问题。如果您认为自己的工作属于例外情况,请在 Discord 中说明理由;维护者大多活跃于此。

请参阅 CONTRIBUTING.md,了解完整流程、架构概览,以及修改内容对应位置的指南。有关漏洞,请参阅 SECURITY.md——请注意,Honcho 不提供漏洞赏金计划。

许可证

Honcho 基于 AGPL-3.0 License 授权。详情请参阅许可证文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。