Releases: ChrisChen667788/Your-First-LLM-Studio
Releases · ChrisChen667788/Your-First-LLM-Studio
Release list
v0.4.0 · Product IA Release
v0.4.0 - 2026-06-12
This release completes the v0.4 product information architecture refactor and publishes the same committed tree to GitHub and ModelScope.
Scope
Move daily product workflows into feature-owned foreground routes, narrow Admin to governance, and establish release evidence for the new product information architecture.
Included
- Foreground
/fine-tune,/compare,/models,/benchmarks,/retrieval, and/experimentsroutes. - Agent chat stream/resume/tool-decision transport in
features/agent/chat-actions.ts. - Agent submit/replay/resume/tool-decision lifecycle in
features/agent/turn-lifecycle.tsand secondary analysis composition insecondary-analysis-panel.tsx. - Agent runtime phase/stage/guardrail projection in
features/agent/runtime-view-model.ts. - Retrieval document CRUD, path import/probe, chunk inspection, and grounded query validation through canonical
/api/retrieval*routes. - Experiments artifact lineage, cross-feature navigation, filters, and explicit retention policy through
/api/experiments. - Admin Retrieval product state/actions removed and replaced by a governance handoff.
- Admin runtime transport and provider/telemetry read models moved into
features/admin. - Canonical
/api/finetunetransport plus dated deprecation headers on legacy Fine-tune, Retrieval, Models, and Timeline Admin APIs. - Bilingual README route/version map, route ownership matrix, migration notes, and expanded route/screenshot smoke coverage.
Verification
npm run typecheck:changedpassed forcore-agent,core-finetune,agent-api,agent-ui,admin, andapp.npm run smoke:routespassed for Agent, Compare, Fine-tune, Models, Benchmarks, Retrieval, Experiments, and Admin.- Route smoke also passed the Retrieval foreground snapshot, Experiments timeline, Fine-tune summary, Models discovery, Benchmark progress, Dashboard summary, sessions, and local runtime contracts.
npm run smoke:screenshotscaptured all eight foreground/governance routes successfully.npm run buildcompleted the optimized production build and generated all 42 static pages.- In-app browser verification found no runtime error overlay, console error/warning, or horizontal overflow on
/agent,/admin, and/fine-tuneat 1280 px; the earlier foreground verification also covered/retrievaland/experiments.
Screenshots
Generated locally under output/smoke-screenshots/:
agent.pngcompare.pngfine-tune.pngmodels.pngbenchmarks.pngretrieval.pngexperiments.pngadmin.png
Notes
- Legacy Admin APIs remain as thin compatibility wrappers until the September 30, 2026 sunset.
- Timeline retention is user-triggered and preserves failure/conflict and artifact-bearing events by default.
- GitHub and ModelScope packages are generated from the same committed Git tree.
v0.3.0 · First LLM Studio
v0.3.0 · 2026-04-11
Scope
First LLM Studio v0.3.0 is the first polished public release of the project under the new brand. This release turns the workbench from a local runtime experiment into a more complete operating surface for local-first LLM workflows on Apple Silicon.
Included
Product and UI
- Rebranded the project as First LLM Studio across the web app, launch assets, and bilingual documentation.
- Added a bilingual homepage and bilingual README surfaces for public launch.
- Reworked the
/agentlayout for wide screens so the workbench uses space more intentionally instead of collapsing into long vertical rails. - Compressed Compare Lab into a denser review flow with clearer lane review, export, preview, and benchmark handoff actions.
- Tightened the runtime side rail so status is visible first and lower-signal details stay tucked behind collapsible sections.
Compare Lab and review workflow
- Embedded Compare Lab directly into the existing
/agentworkbench instead of opening a separate product surface. - Added compare run execution, base-lane diff review, rerun-single-lane, markdown export, preview, and benchmark handoff.
- Added compare recovery progress, recovery timeline export, and manual recovery actions for stalled local lanes.
- Added compact share formats for issue, PR, and chat review summaries.
Runtime and local model workflow
- Added dynamic local model discovery, including models found in local libraries such as LM Studio-compatible directories.
- Added richer model metadata such as parameter scale, quantization label, recommended context, and source path.
- Added local runtime telemetry and trend cards for CPU, memory, GPU, shared GPU memory, energy signal, and storage pressure.
- Fixed local runtime status so unloaded models are represented as unloaded/idle instead of ambiguous failure states.
- Added one-click scanning in the Agent target rail to refresh newly discovered local models and configured remote APIs.
Provider and benchmark operations
- Added DeepSeek remote targets and wired them through chat, thinking mode, tools/function-calling, compare, connection checks, and benchmark flows.
- Added provider-aware output contracts and remote benchmark budgets for OpenAI-compatible endpoints.
- Stabilized remote regression handling with provider-specific first-token budgets, retry budgets, and stream idle protection.
- Added formal and focused benchmark improvements, including DeepSeek-focused remote regression runs.
Performance and developer workflow
- Split compare-only helpers, lifecycle, actions, preferences, and review parsing out of
AgentWorkbenchto reduce main workbench weight. - Split Next.js dev and build artifact directories so production builds no longer corrupt local dev sessions.
- Simplified the local gateway shell to avoid heavyweight framework import stalls during development.
Verification
- Local version:
0.3.0 - TypeScript:
./node_modules/.bin/tsc --noEmit - Lint:
npm run lint - Build:
npm run build - Agent URL: http://localhost:3011/agent
- Admin URL: http://localhost:3011/admin
- Remote formal subset: OpenAI + Claude remote regression subset recovered to full green in the latest repaired run.
- DeepSeek focus subset:
26 / 26successful after tool-first / thinking optimization.
Screenshots
- Landing page:
docs/assets/landing-page.png - Agent workbench:
docs/assets/agent-workbench.png - Admin dashboard:
docs/assets/admin-dashboard.png
Notes
- The GitHub repository slug remains
local-agent-labfor continuity, but public-facing branding in this release is First LLM Studio. - ModelScope launch packaging for this release includes bilingual documentation, launch copy, and visual assets.
- A few historical hook warnings remain in legacy UI files, but this release passes build, lint, and type-check gates.
v0.2.3
v0.2.3 · 2026-03-30
Scope
- 收口本地 4B 主力模型切换、Qwen3.5 4B 直答 serving 修正,以及 benchmark progress 偶发误报
failed的状态链问题。
Included
- Local 4B target updates:
Local Qwen3.5 4B 4-bit提升为默认本地 4B 主力Local Qwen3 4B 4-bit保留为对比项,而不是默认主项- 后台本地 benchmark 目标区补充提示:
Qwen3.5 4B 为默认本地 4B 主力,Qwen3 4B 保留为对比项。
- Local serving updates:
- 对
mlx-community/Qwen3.5-4B-4bit接入chat_template_kwargs.enable_thinking=false - 本地
standard模式下不再依赖 prompt 级/no_think软约束 - 本地普通请求、流式聊天、benchmark 链路都统一走这套 no-think serving 口径
- 对
- Benchmark updates:
- benchmark 评分优先使用完整输出
outputText,避免仅看预览放大格式误判 benchmark progress增加 stale grace window,避免 controller 短暂缺席时被过早误判为failed- progress 在
completed / stopped / abandoned时会清理残留error Local Qwen3.5 4B 4-bit的本地 benchmark 上限正式从16K提到32K- 三个本地模型在 benchmark 里的默认执行上下文现已统一为
32K - 当 benchmark 对比模式同时选择本地与远端目标时,远端 API 会自动跟随所选本地目标里最保守的有效上下文,避免远端在更宽上下文里占便宜
- 本地 benchmark prewarm 增加更稳的恢复链:
- benchmark 专用网关恢复会禁用启动脚本里的默认
0.6B自动预热 - 本地目标之间改成
release runtime -> prewarm target,而不是无差别全重启 - prewarm 现在会识别并恢复:
- 长时间
waiting-load - 网关掉线
waiting-gateway - 发出 prewarm 后网关空转、模型未开始加载的 idle prewarm
- 长时间
- benchmark 专用网关恢复会禁用启动脚本里的默认
benchmark progress新增本地 prewarm 阶段状态:releasing-runtimeensuring-gatewayprewarmingwaiting-loadwaiting-gatewayrestarting-gateway
- benchmark 评分优先使用完整输出
- Runtime / UI updates:
- 本地运行时卡片不再把共享网关的全局
loadedAlias误显示成每张卡自己的“已加载别名”
- 本地运行时卡片不再把共享网关的全局
- Prod baseline recovery:
- 主工作区重新对齐
Node 22 + npm ci的依赖树 - 清理了导致 prod 构建异常的脏依赖状态
3011已恢复为稳定的next start常驻模式,而不是临时 dev 常驻
- 主工作区重新对齐
- Repo grounding updates:
- repo 类问题新增
workspace scout服务端路径提示 - 回答这类“哪个文件改了什么”问题时,会优先给出候选文件并附 1-2 条文件级代码线索,减少直接猜路径
- repo 类问题新增
Verification
- TypeScript: passed (
tsc --noEmit) - Agent URL: http://localhost:3011/agent
- Admin URL: http://localhost:3011/admin
- Runtime availability:
agent=200,admin=200
Qwen3.5 4B formal regression
- old run:
rerun-qwen35-formal-clean-e7919209-4294-435a-8074-a36f41c18429avgScore=31.48passRate=27.78%
- fixed serving run:
rerun-qwen35-no-think-benchmark-fixed-180af822-e100-434e-a43e-e43ca436fc17avgScore=88.89passRate=88.89%
Local 4B side-by-side formal comparison
- run:
compare-local-4b-formal-4438a024-3828-4adc-b875-3a333350ae26 Local Qwen3.5 4B 4-bit58/58avgScore=88.89passRate=88.89%first-token=460.64 mstotal latency=991.29 ms
Local Qwen3 4B 4-bit58/58avgScore=80.09passRate=77.78%first-token=326.38 mstotal latency=784.88 ms
Qwen3.5 4B benchmark context cap experiment
16Kbaseline:- run:
local-qwen35-formal-32k-182c3966-a4d6-4875-96eb-4265119e9f3c - actual
contextWindow=16384 58/58avgScore=88.89passRate=88.89%first-token=607.02 mstotal latency=1126.26 mstoken throughput=63.20
- run:
32Kexperiment:- run:
local-qwen35-formal-32k-validation-2 - actual
contextWindow=32768 58/58avgScore=88.89passRate=88.89%first-token=435.86 mstotal latency=938.78 mstoken throughput=66.62
- run:
- LongBench context smoke:
- run:
local-longbench-context-compare-$(date +%s) Local Qwen3.5 4B 4-bit @ 32K:avgScore=83.33,passRate=100%Local Qwen3 4B 4-bit @ 16K:avgScore=63.89,passRate=66.67%Local Qwen3 0.6B @ 8K:avgScore=61.11,passRate=66.67%
- run:
- conclusion:
Qwen3.5 4B的本地 benchmark 上限长期保留32K是合理的Qwen3 4B与0.6B这轮暂不跟随上调
Local benchmark unified 32K validation
- run:
5c6879b9-0862-4ade-8e73-4f6b02dbf933 - request:
- custom prompt
contextWindow=32768- local targets:
Local Qwen3 0.6BLocal Qwen3 4B 4-bitLocal Qwen3.5 4B 4-bit
- result:
- all three local results returned
contextWindow=32768
- all three local results returned
- conclusion:
- benchmark execution no longer keeps the older
8K / 16K / 32Ksplit for local models - local benchmark comparisons now run on a unified
32Kcontext setting by default
- benchmark execution no longer keeps the older
All-local 32K formal recovery
- old failing run:
local-formal-all32k-clean-2216110a-4fd0-4f50-8c8b-442fef20fa5a174 / 174 failed- root cause:
- benchmark recovery restarted the shared local gateway
- gateway startup script auto-prewarmed
local-qwen3-0.6b - later
Qwen3 4B / Qwen3.5 4Bprewarms hitstill loading local-qwen3-0.6b - the whole run cascaded into prewarm failures
- recovered run:
all-local-32k-prewarm-progress3-b52a5359-d322-4312-9c13-10de9f1c07d5174 / 174 ok3 / 3 groupsfailed = 0
- staged validation:
0.6Bfirst group completed58 / 58Qwen3.5 4Bsecond group also completed cleanlyQwen3 4Bthird group completed cleanly
- conclusion:
- the all-local
32Kformal benchmark is now stable on the shared gateway again - the key fix was not rolling back context, but hardening local prewarm recovery and visibility
- the all-local
All-local 32K milestone-full validation
- validation run:
all-local-32k-milestone-full-prod6-1775220000426 / 426 ok3 / 3 groupsfailed = 0
- group breakdown:
Local Qwen3 0.6B @ 32Kcompleted cleanlyLocal Qwen3.5 4B 4-bit @ 32Kcompleted cleanlyLocal Qwen3 4B 4-bit @ 32Kcompleted cleanly
- conclusion:
- the all-local
32Krecovery is not limited to the lighter formal pass milestone-fullnow completes end-to-end on the shared local gateway as well
- the all-local
Mixed local + remote 32K compare validation
- first compare run:
mixed-compare-32k-full-1775244980426 / 426 completed422 ok4 failed- all failures were
Claude API502 Bad Gatewayresponses inlatency-smoke
- retry hardening:
- increased remote benchmark retry attempts from
4to6 - added longer retry backoff for
502/503/504upstream failures
- increased remote benchmark retry attempts from
- validation rerun:
mixed-compare-32k-full-retry-1775248797426 / 426 ok0 failed
- verified execution context:
Local Qwen3.5 4B 4-bitexecuted at32768OpenAI GPT-5.4executed at32768Claude APIexecuted at32768
- conclusion:
- the mixed local + remote
32Kcompare path is now stable enough for release - compare-mode context alignment remains correct across local and remote targets
- the mixed local + remote
Benchmark progress chain
- run:
compare-local-4b-formal-4438a024-3828-4adc-b875-3a333350ae26status=completedcompletedSamples=116/116completedGroups=2/2error=null
Real chat smoke
Local Qwen3.5 4B 4-bit预热后可稳定输出:- 紧凑 JSON
- 直接代码答案
- 在
无工具 / 无检索的纯聊天仓库问题上,Qwen3.5 4B 仍会给出偏泛化解释,因此真实项目问答的最终体验仍然取决于工具循环与检索链路。
Prod baseline recovery
- 主工作区在重新执行
npm ci后恢复正常 prod 构建 ./scripts/run-next.sh build已恢复通过./scripts/smoke-test.sh通过3011当前以 prod 模式稳定返回:agent=200admin=200
Repo grounding smoke
Local Qwen3.5 4B 4-bit在 repo 问题上可以正确给出:- API route:
app/api/admin/benchmark/progress/route.ts - store:
lib/agent/benchmark-progress-store.ts
- API route:
- 并附带文件级代码线索,减少只报路径不解释的情况
Screenshots
- Agent:
- use current
/agentpage as the acceptance reference
- use current
- Admin:
- use current
/adminpage as the acceptance reference
- use current
Notes
- 这次
Qwen3.5 4B的大幅回升,主因不是评分器修正,而是 serving 终于切到了直答口径。 Qwen3 4B仍然更快,适合作为本地对比项或回退项;Qwen3.5 4B更适合作为默认本地 4B 主力。- 如果后续继续推进,建议下一步重点看:
- 工具循环开启后的真实项目问答手感
- grounded / retrieval 开启后的仓库问答质量