Skip to content

v0.1.7

Choose a tag to compare

@github-actions github-actions released this 08 Oct 06:10
· 21 commits to main since this release
67d1532

v0.1.7

English · 简体中文

Interrupted streams recover instead of ending the turn, the transcript no longer re-renders on every
frame, and releases install with a verified download.

Install

macOS and Linux:

curl -fsSL https://raw.githubusercontent.com/rsbin1178/pips/main/install.sh | sh

Windows (PowerShell 5.1 or newer):

irm https://raw.githubusercontent.com/rsbin1178/pips/main/install.ps1 | iex

Both check the archive against the release's SHA256SUMS before installing. PIPS_VERSION pins a tag,
PIPS_BIN_DIR selects the directory, and PIPS_NO_MODIFY_PATH=1 leaves shell and PATH settings alone.

Added

  • install.sh and install.ps1: download, checksum verification, install, version check.
  • Stream idle timeout. A streaming response that stops delivering bytes aborts with ai.ErrStreamIdle
    after ten minutes of silence. WithStreamIdleTimeout overrides it per adapter.
  • Retry episode limits: retry.WithMaxElapsed for one request, agent.WithStreamRecoveryWindow for one
    turn. The CLI sets twenty minutes for both.
  • A retry tally on the interaction journal record: total retries and a breakdown by reason.
  • /status session usage: per-day buckets, per-model rows, durations on the Stats page, and pricing
    from a [cost] table.
  • A Models page, and pointer selection for full-area list rows.
  • LICENSE inside every release archive, a Windows .zip alongside the .tar.gz, and checksums
    covering both.

Changed

  • Interrupted streams regenerate the turn by default. Per-model continuation remains available as an
    opt-in.
  • Retry notices name the reason (rate limited, stream idle, and so on) instead of reporting a
    generic connection error.

Fixed

  • Mid-stream error events that nest code and message under error no longer arrive empty; the
    provider's text and error class are preserved.
  • An answer truncated at the output limit is salvaged rather than discarded.
  • Append-only stores truncate by path, so a tail can be rolled back on Windows.

Performance

  • The transcript no longer rebuilds the Markdown engine for the live block on every frame. A streaming
    repaint costs the tail.

Verification

  • Tests run on macOS, Ubuntu and Windows, with race tests over agent and internal/coding, the
    provider adapter smoke suite, go vet, golangci-lint, govulncheck, and the dependency policy
    check.
  • The stream idle timeout and the retry ceiling were measured on a live gateway before landing: over 72
    streams the longest silence was 4.5s before the first byte and 1.2s between chunks. With the timeout
    set to 5s, four live streams completed without a false abort.
  • Each release installs its own artifacts on Linux and Windows and checks the reported version.

简体中文

简体中文 · English

中断的模型流现在会恢复而不是终止这一轮;转录不再每帧重绘;发布产物带校验,可直接安装。

安装

macOS 与 Linux:

curl -fsSL https://raw.githubusercontent.com/rsbin1178/pips/main/install.sh | sh

Windows(PowerShell 5.1 及以上):

irm https://raw.githubusercontent.com/rsbin1178/pips/main/install.ps1 | iex

两者都会先用发布出来的 SHA256SUMS 校验归档再安装。PIPS_VERSION 固定版本,PIPS_BIN_DIR 指定安装
目录,PIPS_NO_MODIFY_PATH=1 不改动 shell 与 PATH 设置。

新增

  • install.sh 与 install.ps1:下载、校验、安装、版本检查。
  • 流空闲超时:流式响应在静默十分钟后以 ai.ErrStreamIdle 中止;可用 WithStreamIdleTimeout 按适配器
    覆盖。
  • 重试过程上界:retry.WithMaxElapsed 约束单次请求,agent.WithStreamRecoveryWindow 约束单轮会话;
    CLI 两者都取二十分钟。
  • 交互 journal 记录重试次数与原因分布。
  • /status 展示会话用量:按天分桶、按模型的行、Stats 页的耗时,以及来自 [cost] 配置表的金额。
  • 新增 Models 页面;列表整行可点选。
  • 每个发布归档内包含 LICENSE;Windows 除 .tar.gz 外提供 .zip;校验和覆盖两种格式。

变更

  • 中断的流默认按整段重新生成;每模型的"续写"仍作为可选项保留。
  • 重试提示会给出原因(rate limited、stream idle 等),不再统一报成连接错误。

修复

  • 把 code 与 message 嵌在 error 下的流内错误事件不再变成空错误;provider 的原文与错误类别得以保留。
  • 因输出上限被截断的答案会被抢救,而不是丢弃。
  • 仅追加的存储按路径截断,Windows 上也能回滚尾部。

性能

  • 转录不再每帧为活动块重建 Markdown 引擎;流式重绘只处理尾部。

验证

  • 测试在 macOS / Ubuntu / Windows 上运行,另有 agent 与 internal/coding 的竞态测试、provider 适配器
    冒烟、go vet、golangci-lint、govulncheck 与依赖策略检查。
  • 流空闲超时与重试上界在落地前于真实网关上量过:72 条流里最长静默为首字节前 4.5 秒、块之间 1.2 秒;
    把超时设为 5 秒后跑了四条真实流,没有误报。
  • 每次发布都会在 Linux 与 Windows 上安装自己的产物并核对报告的版本。

Full Changelog: v0.1.6...v0.1.7