Skip to content

system1-agents 0.3.0

Latest

Choose a tag to compare

@hsliuustc0106 hsliuustc0106 released this 30 Oct 08:12
113ef26

Third release. Served OneJev and JEV-VL browser backends, option-order probing, injection-guard coverage and labelled sets, MCP long-run and annotation polish, and a unified confidence meaning — on top of the 0.2.0 decision-backend / recovery base.

Install

git clone https://github.com/ThinkFlowLab/system1-agents && cd system1-agents
uv sync && cp .env.example .env

From Claude Code, Codex or Cursor: npx skills add ThinkFlowLab/system1-agents. Claude Code plugin: claude plugin marketplace add ThinkFlowLab/system1-agents && claude plugin install s1a@system1-agents.

Highlights since 0.2.0

Decision models

  • --model onejev: served OneJev multimodal System One client (ONEJEV_URL / optional model, key, timeout); browser + build_model (#88 / #101); shared HTTP deadline across retries (#105)
  • jev-vl-served: JEV-27B-VL over System1-Omni flat HTTP for browser decisions; validated scope in docs (#78)
  • Direct TypeSafe path pins jev-1.13.0 (not moving jev-latest); TYPESAFE_MODEL honored; ticks keep requested_model next to model (#93 / #95)
  • Choice.confidence / Noul.confidence unified as max_k p_k / max(p, 1-p); backend-native values kept as backend_confidence (#89 / #91)

Agents, MCP & rails

  • Injection guard: withhold uninspected long tool/page text; record handling / coverage; labelled-set clip + failure rows (#73)
  • Public InjecAgent/AgentDojo labelled set (evals/labelled/injection-public.jsonl) (#23)
  • BrowseSafe-Bench stratified test sample + clip coverage notes (#77)
  • s1a-mcp: tool titles, read-only/destructive hints, typed output schemas (#84); long-run progress, fail-fast busy, clean cancel (#85)
  • mcp>=1.26,<2 bound documented (#76)

Eval & CLI

  • s1a probe --order reverse|shuffle:N|same:N option-order / non-determinism check (#90 / #92)
  • Offline quality consumer for shared Omni public231 raw (#69)
  • Changed-image decision replay with retained evidence (#72)
  • decide rejects duplicate --option keys; ticket JSONL errors name dataset/line without contents (#67 / #65)

CHANGELOG.md Unreleased (post-v0.2.0 bullets) has the full list. Note: Unreleased still also holds leftover 0.2.0-era entries that were never promoted when v0.2.0 shipped—cutting should move only the post-0.2.0 bullets under ## 0.3.0 - 2026-10-30 (and ideally backfill ## 0.2.0 from the tag-time Unreleased).