Skip to content

Pulse v0.3.1 — 对接任意 OpenAI 兼容端点

Choose a tag to compare

@Alex663028 Alex663028 released this 15 Jul 05:21

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 在代码里硬编码了官方 URLhttps://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.yamlmodel.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、贡献技能。