honcho Agent工作流 是 AI Skill Hub 本期精选AI工具之一。已获得 3.6k 颗 GitHub Star,综合评分 8.2 分,整体质量较高。我们强烈推荐将其纳入你的 AI 工具库,帮助提升工作效率。
专为构建有状态AI智能体设计的开源内存库。支持对话历史、上下文管理和状态持久化,帮助开发者快速构建具有记忆能力的AI应用。适合AI智能体开发者和LLM应用构建者。
honcho Agent工作流 是一款基于 Python 开发的开源工具,专注于 AI智能体、记忆管理、工作流 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
专为构建有状态AI智能体设计的开源内存库。支持对话历史、上下文管理和状态持久化,帮助开发者快速构建具有记忆能力的AI应用。适合AI智能体开发者和LLM应用构建者。
honcho Agent工作流 是一款基于 Python 开发的开源工具,专注于 AI智能体、记忆管理、工作流 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:pip 安装(推荐)
pip install honcho
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install honcho
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/plastic-labs/honcho
cd honcho
pip install -e .
# 验证安装
python -c "import honcho; print('安装成功')"
# 命令行使用
honcho --help
# 基本用法
honcho input_file -o output_file
# Python 代码中调用
import honcho
# 示例
result = honcho.process("input")
print(result)
# honcho 配置文件示例(config.yml) app: name: "honcho" debug: false log_level: "INFO" # 运行时指定配置文件 honcho --config config.yml # 或通过环境变量配置 export HONCHO_API_KEY="your-key" export HONCHO_OUTPUT_DIR="./output"
---
Honcho is memory infrastructure for building stateful agents that understand changing people, agents, groups, projects, and ideas over time.
Store messages and events, let Honcho reason in the background, then query peer representations, session context, search results, or natural-language insights from any model or framework. Use it managed at api.honcho.dev or self-host the FastAPI server yourself.
Using Honcho as your memory system will earn your agents higher retention, more trust, and help you build data moats to out-compete incumbents.
Honcho has defined the Pareto Frontier of Agent Memory. Watch the video, check out our evals page, and read the blog post for more detail.
git clone https://github.com/plastic-labs/honcho.git
cd honcho
cp docker-compose.yml.example docker-compose.yml
cp .env.template .env # fill in LLM_GEMINI_API_KEY / LLM_ANTHROPIC_API_KEY / LLM_OPENAI_API_KEY
docker compose up
Then point the SDKs at it:
```python honcho = Honcho(workspace_id="my-app-testing", base_url="http://localhost:8000")
Get an API key at app.honcho.dev — when you sign up you'll be prompted to join an organization, which gets its own dedicated Honcho instance and $100 free credits. Or self-host and run against http://localhost:8000.
If you have this in config.toml:
[db]
CONNECTION_URI = "postgresql+psycopg://localhost/honcho_dev"
POOL_SIZE = 10
You can override just the connection URI in production:
export DB_CONNECTION_URI="postgresql+psycopg://prod-server/honcho_prod"
The application will use the production connection URI while keeping the pool size from config.toml.
</details>
Honcho uses a flexible configuration system that supports both TOML files and environment variables. Configuration values are loaded in priority order: environment variables > .env file > config.toml > defaults.
<details> <summary>Full configuration reference</summary>
Copy the example configuration file to get started:
cp config.toml.example config.toml
Then modify the values as needed. The TOML file is organized into sections:
[app] - Application-level settings (log level, session limits, embedding settings, namespace)[db] - Database connection and pool settings[auth] - Authentication configuration[cache] - Redis cache configuration[llm] - LLM provider API keys and general settings[deriver] - Background worker settings and representation configuration[peer_card] - Peer card generation settings[dialectic] - Chat Endpoint configuration with per-level reasoning settings[summary] - Session summarization settings[dream] - Dream processing configuration (including specialist models and surprisal settings)[webhook] - Webhook configuration[metrics] - Prometheus pull-based metrics[telemetry] - CloudEvents telemetry for analytics[vector_store] - Vector store configuration (pgvector, turbopuffer, or lancedb)[sentry] - Error tracking and monitoring settingsAll configuration values can be overridden using environment variables. The environment variable names follow this pattern:
{SECTION}_{KEY} for top-level section settings__ inside {KEY} for nested settings{KEY} for app-level settingsExamples:
DB_CONNECTION_URI - Database connection stringAUTH_JWT_SECRET - JWT secret keyDERIVER_MODEL_CONFIG__TRANSPORT - Transport for the background deriverSUMMARY_MODEL_CONFIG__MODEL - Summary model overrideDIALECTIC_LEVELS__low__MODEL_CONFIG__MODEL - Model for low reasoning levelLOG_LEVEL - Application log levelMETRICS_ENABLED - Enable Prometheus metricsTELEMETRY_ENABLED - Enable CloudEvents telemetrytypescript 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 }), }); ```
Note: background reasoning is asynchronous. Newly-added messages may take a moment to be reflected in chat/representation responses; for low-latency reads, use the representation endpoint.
LLM_GEMINI_API_KEY= # API Key for Google Gemini (used for deriver, summary, and dialectic minimal/low by default) LLM_ANTHROPIC_API_KEY= # API Key for Anthropic (used for dialectic medium/high/max and dream by default) LLM_OPENAI_API_KEY= # API Key for OpenAI (used for embeddings when EMBED_MESSAGES=true)
> Note that the `DB_CONNECTION_URI` must have the prefix `postgresql+psycopg` to
> function properly. This is a requirement brought by `sqlalchemy`
The template has the additional functionality disabled by default. To ensure
that they are disabled you can verify the following environment variables are
set to false:
env AUTH_USE_AUTH=false SENTRY_ENABLED=false
If you set `AUTH_USE_AUTH` to true you will need to generate a JWT secret. You can
do this with the following command:
bash python scripts/generate_jwt_secret.py
This will generate a JWT secret and print it to the console. You can then set
the `AUTH_JWT_SECRET` environment variable. This is required for `AUTH_USE_AUTH`:
env AUTH_JWT_SECRET=<generated_secret>
Once auth is enabled, use `scripts/generate_jwt.py` to mint tokens for local
development and scripting:
bash
honcho-ai on PyPI · source in sdks/python/@honcho-ai/sdk on npm · source in sdks/typescript/SDKs are versioned independently of the server. Current SDK versions track each other; the server badge above reflects the deployed server version.
See the SDK Reference for full API surface, the API Reference for the raw HTTP API, and per-SDK example folders for runnable demos.
高质量的AI智能体记忆库,设计思路清晰,适配主流LLM平台。社区活跃,维护及时,是构建有状态AI应用的优选方案。
该工具使用 AGPL-3.0 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
⚠️ AGPL 3.0 — 最严格的 Copyleft,网络服务端使用也需开源,SaaS 使用受限。
经综合评估,honcho Agent工作流 在AI工具赛道中表现稳健,质量优秀。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | honcho |
| 原始描述 | 开源AI工作流: Memory library for building stateful agents。⭐3.6k · Python |
| Topics | AI智能体记忆管理工作流对话状态Python库 |
| GitHub | https://github.com/plastic-labs/honcho |
| License | AGPL-3.0 |
| 语言 | Python |
收录时间:2026-05-19 · 更新时间:2026-05-19 · License:AGPL-3.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。