Pulse v0.3.1 — 对接任意 OpenAI 兼容端点
Pulse v0.3.1 — 对接任意 OpenAI 兼容端点
一个对标 Nous Research Hermes Agent、但重建了轻量内核的「自我进化」个人 AI Agent,可靠性优先。
Pulse 是什么(重头介绍)
Pulse 的出发点很直接:Hermes Agent 很强,但有三个让人头疼的短板——不稳定、技能质量没把关、上手门槛高、强依赖云端。Pulse 是一个从零重写的、本地优先的替代品,核心原则只有一条:先稳定,再智能。
它不是一个只会调 API 的壳,而是一个完整的本地 Agent 运行时:
- 可靠性优先的编排器:带错误自愈(按错误类型重试 / 降级到 fallback 模型)、Token 预算硬上限、可观测追踪(每次任务有
trace_id)。任务不会因为一次模型 503 就整段崩掉。 - 经过「评估」的技能自我进化循环:Agent 在使用中归纳出候选技能,但不是直接上线——必须通过一个 golden task 回放评测,通过才
promote,失败可rollback。技能和版本都显式、可逆、可审计。这是它和 Hermes 最本质的区别:Hermes 的技能是「写就上线」,Pulse 是「评过才上线」。 - 零配置上手:
pulse init --yes默认本地 Ollama,自动探测运行中的 Ollama,给出 Rich 可视化反馈;pulse doctor一键自检。 - 本地优先 / 隐私友好:默认全部本地(Ollama + SQLite + 本地技能目录),API Key 只进
.env(0o600 权限),绝不写进config.yaml。 - 标准兼容:兼容 agentskills.io 开放标准与 Hermes 扩展技能格式,生态里的现成技能可直接复用。
本次更新重点:可以对接任意 OpenAI 协议端点
这是 v0.3.1 唯一但关键的能力升级。
之前的问题
v0.3.0 里,openai / openrouter / deepseek 这三个内置 provider 在代码里硬编码了官方 URL(https://api.openai.com/v1 等),并直接忽略你在配置里写的 model.base_url。结果就是:
你想把请求走自己的 vLLM / LiteLLM 网关、公司内网代理、或某个非官方厂商 —— 做不到,base_url 设了也白设。
现在的行为
v0.3.1 重写了 LLM 路由装配逻辑(pulse/llm/config.py 的 _make_compat()):
- 只要
base_url被显式设置(且不等于默认的本地 Ollama 地址),内置 provider 就尊重你的 base_url,打到你想去的任何/v1/chat/completions端点。 base_url没设或还是默认值时,仍然回落到官方厂商 URL —— 完全向后兼容。pulse init新增--base-url参数,一步到位;它会被持久化到config.yaml的model.base_url,路由每次build_router()都会读回。
一句话:Pulse 现在能连任何「说 OpenAI 协议」的端点——自托管网关、代理、第三方厂商,全部打通。
完整变更(Changelog)
Added
pulse init --base-url <URL>:为任意 provider 指定自定义 OpenAI 兼容端点。- 任意 OpenAI 协议端点:
openai/openrouter/deepseek现在尊重显式设置的base_url,覆盖原先硬编码的官方 URL(_make_compat()内)。 model.base_url成为一等配置字段:pulse init --base-url写入,build_router()每次读回。
Fixed
- 修复
_make_compat()对内置云厂商忽略model.base_url的 bug——原先配置的自定义端点被静默丢弃。现在显式base_url(非默认本地地址)优先,未设置时回落官方 URL。
Stats
- 新增 8 个测试(base_url 优先级、fallback 链继承、init 向导持久化)。130 → 138 个测试全部通过(Python 3.11 & 3.12),ruff 零告警。
快速开始
pip install -e .
pulse init --yes # 默认本地 Ollama,零配置
pulse chat "帮我总结这篇论文"升级
git pull
pip install -e . # 版本号已 bump 到 0.3.1使用示例:把请求打到任意端点
# 1) 走你自己的网关 / 反向代理
pulse init --provider openai --model gpt-4o-mini \
--base-url https://my-gateway.example.com/v1 --yes
# 2) 自托管 vLLM / LiteLLM(暴露 OpenAI 协议)
pulse init --provider openai --model meta-llama/Llama-3-8b \
--base-url http://10.0.0.5:8000/v1 --yes
# 3) 把 Ollama 指向非默认主机
pulse init --provider ollama --model qwen2.5:7b \
--base-url http://ollama.internal:11434/v1 --yes也可以在 ~/.pulse/config.yaml 里直接改 model.base_url。
与 Hermes 的对比(一句话版)
| 维度 | Hermes Agent | Pulse |
|---|---|---|
| 可靠性 | 偶发崩溃 | 编排器自愈 + Token 预算 |
| 技能质量 | 写就上线 | 评过才上线(promote/rollback) |
| 上手 | 门槛高 | pulse init --yes 零配置 |
| 云端依赖 | 强 | 默认全本地 |
| 可扩展性 | — | MCP 连任意 stdio 工具 + 生态技能兼容 |
完整变更见 CHANGELOG.md。欢迎试用、提 Issue、贡献技能。