Skip to content

v0.3.7

Latest

Choose a tag to compare

@x5427876 x5427876 released this 22 Oct 14:21

Highlights

  • Fix: thinking-mode requests with tools to Zen's DeepSeek models were rejected because assistant messages without reasoning were sent without reasoning_content. Models whose models.dev record declares interleaved.field = "reasoning_content" now set pi-ai's requiresReasoningContentOnAssistantMessages flag (29 of 46 derived free models at release time, including deepseek-v4.1-flash-free).
  • thinkingFormat is unchanged, so no extra thinking or reasoning_effort parameters are sent.

Contributors

Thanks to Evgeny Khudoba (@xilec) for diagnosing the missing reasoning_content passback and contributing the fix and its tests in #39.

Compatibility and limitations

Supports DeepSeek Harness 0.2.1-rc.2 (exact). Node.js ^22.19.0 or >=24.0.0.

  • A live compat run covered only deepseek-v4.1-flash-free. The other models Zen serves were not re-run for this release.
  • For non-DeepSeek models that receive the flag, the extra empty reasoning_content field on assistant messages is unverified on their backends.

Validation

  • pnpm run check on macOS: typecheck, docs links, 305/305 tests, pack.
  • pnpm compat --dsh 0.2.1-rc.2 --tools --model deepseek-v4.1-flash-free: ok (L0 probe, L2 read and bash).
  • GitHub CI passed for the release commit (pnpm run check and pnpm pack --dry-run).
  • Request bodies captured against a local mock server: flagged models send reasoning_content: "", unflagged models do not.

Install

dsh plugin --profile web add dsh-opencode-free@0.3.7