v0.11.2
Document generation, web-content quality, TUI, and small-model streaming
refinements — all additive fixes, no breaking changes.
Added
- Rich Word document generation.
create_docxnow renders inline markdown
(**bold**,*italic*,`code`) as real Word runs instead of literal
asterisks, and converts markdown tables (| col | col |) into bordered Word
tables with a bold header row. Emphasis is conservative — arithmetic like
5 * 3, glob patterns, andsnake_caseare left untouched. - Structured web search.
web_searchreturns numberedtitle / url / snippetresults (recovering the real target URL from DuckDuckGo's redirect
wrapper) instead of the raw page run through an HTML stripper — far easier for
small models to read. Falls back to the stripped text if the markup changes.
Fixed
- Numeric HTML entities in fetched content.
strip_htmland the search
parser now decode decimal/hex character references (’,’,
—), so fetched pages and snippets no longer show garbled curly quotes
and dashes. - TUI markdown emphasis. An unbalanced
`,**, or single*(e.g.
5 * 3) no longer styles the rest of the line — the inline renderer only
opens a style when a matching closer exists ahead and the marker flanks
non-space text. <think>reasoning leakage. Reasoning models (DeepSeek-R1 distills, Qwen
thinking variants) that emit<think>…</think>inline in content no longer
leak that into the final answer or written files: it's stripped on the
non-streaming parse path, and a<think>/</think>tag split across streaming
chunks (routine with token-by-token local streaming) is now reassembled
instead of leaking a partial marker.
What's Changed
Full Changelog: v0.11.1...v0.11.2
Document generation, web-content quality, TUI, and small-model streaming
refinements — all additive fixes, no breaking changes.
Added
- Rich Word document generation.
create_docxnow renders inline markdown
(**bold**,*italic*,`code`) as real Word runs instead of literal
asterisks, and converts markdown tables (| col | col |) into bordered Word
tables with a bold header row. Emphasis is conservative — arithmetic like
5 * 3, glob patterns, andsnake_caseare left untouched. - Structured web search.
web_searchreturns numberedtitle / url / snippetresults (recovering the real target URL from DuckDuckGo's redirect
wrapper) instead of the raw page run through an HTML stripper — far easier for
small models to read. Falls back to the stripped text if the markup changes.
Fixed
- Numeric HTML entities in fetched content.
strip_htmland the search
parser now decode decimal/hex character references (’,’,
—), so fetched pages and snippets no longer show garbled curly quotes
and dashes. - TUI markdown emphasis. An unbalanced
`,**, or single*(e.g.
5 * 3) no longer styles the rest of the line — the inline renderer only
opens a style when a matching closer exists ahead and the marker flanks
non-space text. <think>reasoning leakage. Reasoning models (DeepSeek-R1 distills, Qwen
thinking variants) that emit<think>…</think>inline in content no longer
leak that into the final answer or written files: it's stripped on the
non-streaming parse path, and a<think>/</think>tag split across streaming
chunks (routine with token-by-token local streaming) is now reassembled
instead of leaking a partial marker.
What's Changed
Full Changelog: v0.11.1...v0.11.2
Document generation, web-content quality, TUI, and small-model streaming
refinements — all additive fixes, no breaking changes.
Added
- Rich Word document generation.
create_docxnow renders inline markdown
(**bold**,*italic*,`code`) as real Word runs instead of literal
asterisks, and converts markdown tables (| col | col |) into bordered Word
tables with a bold header row. Emphasis is conservative — arithmetic like
5 * 3, glob patterns, andsnake_caseare left untouched. - Structured web search.
web_searchreturns numberedtitle / url / snippetresults (recovering the real target URL from DuckDuckGo's redirect
wrapper) instead of the raw page run through an HTML stripper — far easier for
small models to read. Falls back to the stripped text if the markup changes.
Fixed
- Numeric HTML entities in fetched content.
strip_htmland the search
parser now decode decimal/hex character references (’,’,
—), so fetched pages and snippets no longer show garbled curly quotes
and dashes. - TUI markdown emphasis. An unbalanced
`,**, or single*(e.g.
5 * 3) no longer styles the rest of the line — the inline renderer only
opens a style when a matching closer exists ahead and the marker flanks
non-space text. <think>reasoning leakage. Reasoning models (DeepSeek-R1 distills, Qwen
thinking variants) that emit<think>…</think>inline in content no longer
leak that into the final answer or written files: it's stripped on the
non-streaming parse path, and a<think>/</think>tag split across streaming
chunks (routine with token-by-token local streaming) is now reassembled
instead of leaking a partial marker.
What's Changed
Full Changelog: v0.11.1...v0.11.2