用途:在本地构建并驱动 Honcho 栈,在运行时表面(/v3 HTTP API 与 deriver 队列)验证改动,适用于验证 diff 或配置变更。
前置条件:推荐用 Docker Compose,仓库根目录的 docker-compose.yml 会同时启动 Postgres(pgvector)、Redis、API 服务器和 deriver worker。若不可用,也可直接在宿主机运行,需要可访问的 Postgres(含 pgvector)与 Redis,以及含连接串和 LLM 提供商密钥的 .env。在 worktree 中工作时,它不含 .env 和 node_modules,需从主检出复制 .env,并在 sdks/typescript 运行 bun install,否则预推送门禁会因找不到 zod 包而失败。
启动:先用 docker compose ps 检查栈是否已运行,未运行则 docker compose up -d。注意运行中的栈不等于你的分支代码在运行,需查看 CREATED 列。验证 diff 的省事做法是复用栈的 Postgres/Redis 容器,在空闲端口以宿主机进程运行分支 API:uv run uvicorn src.main:app --port 8901;若 diff 涉及 worker,再运行 uv run python -m src.deriver。完全不用 Docker 时,对宿主机 Postgres 与 Redis 以同样方式运行这两个进程(API 默认端口 8000,可用 uv run fastapi dev src/main.py)。读日志时注意遥测发射器会向不可达端点刷连接警告,可先 grep -v telemetry.emitter 再找真实错误。
驱动:优先通过 honcho-cli 技能,其次用 SDK(sdks/python、sdks/typescript),最后才用 /v3 原始 REST。当改动更新端点或涉及 schema 变更时,应在 CLI、SDK、REST 三个表面都验证,因为它们可能各自漂移。对 LLM 路径改动,最快的同步表面是最小推理级别的 dialectic:发几条消息后请求 /v3/.../peers/{peer_id}/chat 并观察响应。
配置:设置来自环境变量或文件,优先级为 env > .env > config.toml > defaults。验证配置改动时,通过某一层设置相关选项、重启受影响进程,并在表面观察行为差异。深层嵌套设置(如 [dialectic.levels.minimal.model_config.overrides.provider_params])不适合用环境变量,可在仓库根放一个部分 config.toml;验证加载期配置行为时,uv run python -c "import src.config; ..." 比启动服务器更快。
测试:单元测试用 uv run pytest tests/;统一测试为 JSON 定义的基于步骤的端到端流程,用 uv run python -m tests.unified.run(可加 --test-dir tests/unified/test_cases);实时 LLM 测试会真实调用提供商,需要提供商 API 密钥和模型变量,缺少 LIVE_LLM_*_MODELS 时该提供商会静默取消选择,参见 tests/live_llm/README.md,运行示例:export LLM_ANTHROPIC_API_KEY=...、export LIVE_LLM_ANTHROPIC_45_PLUS_MODELS=claude-sonnet-4-5、uv run pytest tests/live_llm -n 0 --live-llm --no-header -q。
限制:资料未提供收费、价格、平台支持范围等信息。