Skip to content

Releases: huiliyi37/oh-my-tianshu

v0.8.0 — 引用闸门、TUI 品牌重设计、子代理路由修复、发布链修复

Choose a tag to compare

@huiliyi37 huiliyi37 released this 05 Sep 08:04

Changelog

English | 中文

2026-09-05 — 0.8.0

0.8.0 ships the advisory citation gate, the TUI welcome-page and brand-wordmark redesign, three subagent routing fixes, and a repo-wide release/docs-chain repair — 23 commits since the 0.7.0 tag.

cite-gate: advisory citation reminders

A base-bundle guard folds one budgeted advisory reminder into the next step when an assistant message cites something it cannot back: fabricated upgrade-card IDs absent from the compiled vocabulary, 0.1.1-era legacy error codes, and workspace paths the session never read or wrote (read-before-cite). Findings never block — reminderBudget caps per turn (default 3), deduplicated per finding; opt-in namespacedCodeCheck flags unknown namespaced codes.

TUI welcome page and brand wordmark

The welcome card gains a switchable mascot (pixel whale by default, fox retained via /welcome), a two-step pixel-grid fidelity pass with a 44-band oversized wordmark, and a semi-block mixed-case brand font with whale-native grid refinement. Resuming a session re-attaches the default preset so the standing tool surface no longer goes missing.

Subagent routing fixes

Routing-policy parsing covers resume top-level and parent-unreachable child sessions (sampling instead of rejecting), strategy parsing scans events exactly once per delegation by writing to disk directly, and list_subagent_models registers with the fiber (not the provider) lifecycle so re-adding no longer crashes on duplicate registration.

Release and docs chain repair

The first clean-checkout build since 09-01 exposed and fixed: ten phantom ide/mission project references in tsconfig.host.json (build blocker), a strict-mode type error in the welcome-art scripts, cite-gate's packaging conventions (outDir, files whitelist, ./invariant export, baseline version), and tool-subagent's hashed chunk missing from its publish whitelist. doc-sync returns to 27/27 green: generated catalogs and graphs regenerated with zh counterparts synced, eight stale pairing records re-recorded, and the doctor note restructured.

README and branding

The README is retitled Oh My Tianshu (the repository's own name — Tianshu-harness is the render-core source repository), carries the TUI welcome screenshot, documents the web startup path with its full flag set, and corrects every render-core attribution to Tianshu-harness (SOURCE-MAP.md included).

v0.7.0 — Web 追平、上游双浪回流、子代理模型路由

Choose a tag to compare

@huiliyi37 huiliyi37 released this 05 Sep 08:05

2026-08-29 — 0.7.0

0.7.0 closes the Web-parity program, backflows two upstream waves (official harness alpha.1 and the sibling opencode-tui), and lands the child-model routing arc end to end — 21 commits since the 0.6.0 release.

Web parity (P2④)

The Web face catches up with the TUI: the approval card grows [a] allow for this session backed by standing grants, session.rewind drives a trajectory-bar rewind control, corrupt sessions are labeled in lists with the spark alias, and /model role pins get a settings row.

Upstream alpha.1 backflow (wave 1)

FIRST_PARTY_SECTION_ORDER centralizes every first-party prompt-section placement in a sparse table (adjacent gaps ≥ 10) with deterministic name tie-breaks — three previously registration-order-dependent section pairs become deterministic. JSONL logs range-encode sourceEventSeqs (−14.1% stored size upstream's corpus measured, read/write backward compatible). Deliberately deferred with written dependency inventories: the SQLite compression stack (schema 19), the subagent authorization layer's Web card, and the fail-closed event vocabulary.

TUI interaction backflow (dsh-tui rc.25)

Completion events ring a terminal BEL (the only reminder that reaches SSH sessions; /bell toggles). Messages typed while the agent runs queue locally ( line, ↑ takes back, turn/end delivers in order, interrupts keep the queue). Ctrl+Enter is cancel-and-send — abort with keepInbox, then the draft submits ahead of the queue once the agent settles. Custom themes get WCAG contrast warnings at load (fail-open) and NO_COLOR is honored. Ctrl+R aliases the history search.

Child-model routing arc

The model can route a delegation to an exact provider/model/effort: a Host-owned subagent-model-selection settings section (default off, exact-route allowlist), a log-only per-session policy event recorded at first delegation, provider+model+reasoning_effort fields on the delegation tool gated by that policy, a prefix-stable list_subagent_models discovery tool, executor-side enforcement, and an agentOptions capability that ends accepted-then-ignored route config (in-process providers true; acp/dsh-sdk false until the SDK transport ships). The TUI /config gains a 子代理模型 category: toggle, per-route removal, provider→model picker, a ⚡ one-click recommendation (flash → deepseek → first catalog model), live-catalog ⚠ warnings on routes that stopped resolving, and a per-session /subagents nudge. /model adjusts the reasoning effort on the selected row (</>) and persists model + effort in one save. Fork delegation keeps selection off to preserve inherited-prefix KV Cache reuse.

Error-terminal recovery

A turn ending in error prints the failure summary plus a one-line classified next step (auth → /key, quota → wait or lighter model, 5xx → provider switch, context overflow → /compact, network → /doctor), refills the last real user message into the input rail (never overwriting a draft; the base clears on success and abort), and /doctor ends with a troubleshooting pointer.

Hygiene

Capability literals swept repo-wide (16 sites) after the new required agentOptions field, three max-len violations and seven legacy non-null assertions cleared, generated catalogs/graphs/type-equiv blocks re-synced (390+390), three pre-format Agent Notes restructured into the standard skeleton, and example configs' upstream-name remnants rescoped.

v0.4.0 — 路由灰度地基、自动记忆管线、多供应商视觉链、TUI 三面

Choose a tag to compare

@huiliyi37 huiliyi37 released this 22 Aug 04:14

2026-08-22 — 0.4.0

0.4.0 lands the single-expert routing rollout foundation, the automatic memory pipeline, a multi-provider vision chain, and the configuration/keys/preview surfaces of the TUI — 127 commits since 0.3.0.

agent-router: single-expert auto rollout (Phases 1–4)

Every non-zen qualified turn-end now records a full decision ledger entry (router/decision, self and delegate alike, branded decisionId + complete metric inputs), so any session log reconstructs the denominator, the self/delegate ratio, and every decision's evidence. Closed observation windows settle into router/evaluation (recovered / persisted / inconclusive; windows never cross a later decision, and a session's final window closes at disposal). Two deterministic promotion gates — shadow readiness and canary health — record verdicts and veto reasons as log-only router/gate records; mode switches stay human. The subagent seam gained runBudget (steps + wall clock, enforced in-process, settling distinguishably as budget-exhausted); auto dispatching requires explicit assembly-level canary caps (single-flight, total, cooldown over qualified turns) and fails loud without them. Completed children return bounded structured findings (closed discriminant schema, one-shot parent-boundary sanitization) that the synthesis section quotes verbatim into the adopt/reject loop. The shipped TUI stays in shadow — promotion waits for ≥30 real shadow decisions.

Memory: automatic pipeline

dsh-memory-pipeline backfills history: an idle sweep scans persisted past sessions, extracts candidates through a lease-and-ledger workflow (provenance dedup via sourceRefs, per-session outcomes, retry caps), and accumulates into a cross-session global consolidation phase once a configurable threshold is met. The sqlite memory surface now returns sourceRefs on entries; Markdown stores stay source-free by design.

Multi-provider and vision

dsh-llm-pi-ai gains the pi-ai authentication face (credential storage, environment-context adapters, provider login flows) and image-input declarations on model entries. Built-in routes: OpenRouter stealth/ox-alpha (1M context, vision) and the officially vision-capable deepseek-v4-flash-vision-exp. The upstream rc.2 unified image pipeline lands in two groups — normalized attachments and the request-version seam — and vision descriptions that hit the output ceiling now auto-continue once (default budget 1024 → 2048).

TUI

/key is a multi-provider key wizard (provider picker → masked input → live probe → hot save), /config is an interactive two-pane editing panel over live seams, and image sending gained pixel-level preview: truecolor half-block thumbnails in any terminal while composing, with a half-block fallback under the user bubble for terminals without graphics protocols. Input history persists across sessions (↑/↓), Alt+Backspace removes the last attachment, oversized clipboard images route through the budget pipeline, and a unified capped activity band converges subagent/workflow/background activity. /model vision|secondary|subagent pins role models through the new model-roles seam with per-consumer fallback chains; route keys split on the first slash so slashed model ids survive.

Token efficiency

The tool-bash series ships: successful output tail-folding with failure error-line selection (P1), semantic compaction for git log/diff and test runs (P2), and read-reference dedup plus standardized environment-failure diagnostics (P3).

Upstream and platform

Upstream v0.1.1-rc.1 waves (credential records with the authorization chain, web client fixes, runtime fixes for subagent/sandbox/turn errors) and the rc.2 image pipeline. $DSH_HOME defaults to the isolated ~/.dsh-tianshu with a migrate-home path. The host-face typecheck gate returned to green across the tree.