v0.1.0
Features
- feat(desktop): simplify provider cards in Settings → API 服务 (re-open)
- PR: #117
- feat(scripts): pnpm smoke — batch model/prompt API tester
- PR: #108
- feat(prompts): align with Claude Design conventions (empty EDITMODE, 9-token palette, 2-font default, animation cap, Fraunces for marketing)
- PR: #115
- feat(core): progressive disclosure for system prompt by user-prompt keywords
- PR: #109
- feat(core): chart rendering contract
- PR: #78
- feat(core): switch skills to progressive-disclosure model routing
- PR: #101
- feat(core): permit cdnjs library whitelist in generated artifacts
- PR: #102
- feat(desktop): connection error diagnostic panel
- PR: #35
- feat(desktop): comment mode gating
- PR: #75
- feat(core): EDITMODE protocol — declarable tweakable params
- PR: #84
- feat(core): reasoning for all providers (auto fallback)
- PR: #90
- feat(core): dashboard ambient signals directive
- PR: #89
- feat(desktop): preview zoom dropdown
- PR: #73
- feat(core): extended thinking + bigger output budget
- PR: #83
- feat(core): inline iOS frame starter template
- PR: #82
- feat(core): Skills PR-B — wire loader into generation
- PR: #79
- feat(desktop): project (design) management — list / create / switch / rename / duplicate / delete
- PR: #52
- feat(core): system prompt — adopt Claude Design patterns
- PR: #43
- feat(desktop): viewport switcher (desktop / tablet / mobile with phone bezel)
- PR: #32
- feat(core): Skills system foundation — loader + 4 starter skills
- PR: #33
- feat(exporters): Markdown export of generated artifact
- PR: #66
- feat(desktop): Snapshots SQLite schema + IPC handlers (PR-A)
- PR: #29
- feat(core): Brand token extraction — Tailwind config + CSS vars + W3C DTCG
- PR: #30
- feat(core): system prompt v2 — denser, smarter, artifact-type aware
- PR: #44
- feat(ui): disabled button tooltip audit
- PR: #34
- feat(desktop): full-page Settings + fix API switching pipeline
- PR: #28
- feat(ui): Anthropic-inspired warm aesthetic + starter cards + BYOK badge
- PR: #25
- feat(core): provider-aware errors + named-step logging in generate
- PR: #41
- feat(desktop): named loading stages (sending/thinking/streaming/parsing/rendering)
- PR: #37
- feat(exporters): PDF export (lazy puppeteer-core + system Chrome)
- PR: #31
- feat(desktop): TopBar connection status badge
- PR: #36
- feat(desktop): proxy presets + connection test + real model list
- PR: #23
- feat(core): structured system prompt v1 (composer + 8 sections)
- PR: #22
- feat(desktop): implement settings tabs with multi-provider management
- PR: #16
- feat(desktop): redesign sidebar input + add cancellation IPC
- PR: #15
- feat(desktop): surface language toggle
- PR: #20
- feat(desktop): add input context and inline comments
- PR: #18
- feat(reliability): error boundaries + cancellation + retry + iframe error reporting
- PR: #11
- feat(desktop): settings + theme + command palette + better preview states
- PR: #10
- feat: i18n infrastructure + en/zh-CN translations + per-locale demos
- PR: #9
- feat(exporters): real PDF/PPTX/ZIP via system Chrome + pptxgenjs + zip-lib (lazy-loaded)
- PR: #8
- feat(core,exporters,desktop): end-to-end first demo + HTML export
- PR: #4
- feat: marketing website (VitePress + Tailwind v4 + en/zh + llms.txt + GH Pages deploy)
- PR: #5
- feat(desktop): first-run onboarding wizard with safeStorage
- PR: #1
Bug Fixes
- fix(desktop): harden sqlite bindings install flow
- PR: #112
- fix(artifacts): close remaining streaming parser leak paths
- PR: #104
- fix(desktop): wire generationTimeoutSec preference to in-flight aborts
- PR: #100
- fix(desktop): onboarding polish per audit 27
- PR: #49
- fix(desktop): preview perf + token counter wiring
- PR: #47
- fix(desktop): preserve artifact dark theme in iframe
- PR: #77
- fix(desktop): validate locale:set input against supported locales
- PR: #97
- fix(providers): Chinese keywords for skill matcher
- PR: #88
- fix(desktop): load designs on app startup so persisted work reappears
- PR: #99
- fix(desktop): dual-ABI prebuilt for better-sqlite3 (Node + Electron)
- PR: #96
- fix(artifacts): hold back partial open tag mid-attribute
- PR: #95
- fix(desktop): persist generated artifacts so designs reload correctly
- PR: #93
- fix(desktop): add 10s timeout to connection-ipc fetches
- PR: #92
- fix(providers): treat empty Retry-After header as no hint
- PR: #91
- fix(exporters): prevent zip-slip via asset path traversal
- PR: #72
- fix(exporters): quote YAML frontmatter titles starting with reserved indicators
- PR: #87
- fix(skills): mobile-mock no double phone chrome
- PR: #81
- fix(ui): PhoneFrame v2 visual polish
- PR: #80
- fix(ui): PhoneFrame sizing + iframe containment
- PR: #76
- fix(desktop): i18n ErrorBoundary fallback strings
- PR: #59
- fix(desktop): honor XDG_CONFIG_HOME in locale-ipc and preferences-ipc
- PR: #71
- fix(runtime): replace silent catches in overlay with console.warn
- PR: #61
- fix(desktop): tokenize raw utilities in preview Loading/Error states
- PR: #64
- fix(desktop): i18n ThemeToggle aria/tooltip strings
- PR: #70
- fix(desktop): PreviewPane hint pill + iframe dark-mode tokens
- PR: #69
- fix(desktop): drop unused fileURLToPath import in main entry
- PR: #63
- fix(desktop): tokenize PreviewToolbar values missed by #57
- PR: #62
- fix(desktop): tokenize LanguageToggle hardcoded sizes/spacing
- PR: #60
- fix(desktop): tokenize ConnectionStatusDot tooltip values
- PR: #58
- fix(desktop): localize Toast dismiss aria-label
- PR: #56
- fix(desktop): replace hardcoded text-[Npx] with --text-* tokens (preview + inline-comment)
- PR: #57
- fix(desktop): active provider sync — UI badge and generate IPC now share single source of truth
- PR: #55
- fix(desktop): toast polish — auto-dismiss, countdown bar, a11y
- PR: #54
- fix(desktop): bundle Plus Jakarta + JetBrains Mono locally (no Google Fonts CDN)
- PR: #53
- fix(desktop): Settings UI polish — compact provider cards, accent stripe, dashed add-card
- PR: #45
- fix(desktop): onboarding i18n audit + locale-reactive switching
- PR: #39
- fix(desktop): language switching + window drag hardening
- PR: #27
- fix(desktop): dedupe error UI + wire iframe error listener
- PR: #14
- fix(core): recover html from fenced revision replies
- PR: #19
- fix(providers): adapt assistant history for pi-ai
- PR: #17
Documentation
- docs: launch-ready marketing — README, website, SEO, AI-SEO, og:image
- PR: #40
- docs: rebrand to Open CoDesign + Anthropic-style README & website
- PR: #26
Other Changes
- refactor(desktop): unify API config IPC + drop separate fast model slot
- PR: #113
- perf(prompts): shrink Layer 1 to lower 8k-ctx token cost
- PR: #114
- chore(deps): bump 3 low-risk major deps (lucide-react / electron-builder / pptxgenjs)
- PR: #105
- chore(deps): bump happy-dom to fix 6 security advisories
- PR: #98
- refactor(desktop): unify validate+test into single ConnectionCheck
- PR: #38
- ci: narrow CI matrix to ubuntu (cost reduction)
- PR: #24
- ci(release): GitHub Releases for v0.1 (unsigned)
- PR: #21
Full Changelog: 9e9e5a6...v0.1.0