Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
265 commits
Select commit Hold shift + click to select a range
0945470
fix(i18n): localize zh-TW write tool mode label
limityan Jun 1, 2026
39ea960
Merge branch 'main' into fmy/dev
limityan Jun 1, 2026
ccccd1f
fix(startup): keep splash logo first frame stable
limityan Jun 1, 2026
f9beb45
ci(i18n): reduce contract check runtime
limityan Jun 1, 2026
9502598
fix(ai-adapters): align DeepSeek Anthropic thinking semantics
wsp1911 Jun 1, 2026
8d63143
refactor(agent-tools): move tool execution admission gate
limityan Jun 1, 2026
9bc79bd
Merge pull request #994 from kev1n77/fmy/dev
GCWing Jun 1, 2026
7d602d3
fix: add agentic mode first entry reminder
wsp1911 Jun 1, 2026
ad29e3f
fix(flow-chat): reduce streaming code preview work
limityan Jun 1, 2026
ae2a02b
fix(web-ui): unify startup overlay
G-CWing Jun 1, 2026
8706b3b
Merge pull request #1001 from GCWing/gcwing/startup-overlay-unification
GCWing Jun 1, 2026
c681448
refactor(i18n): reduce fallback and format debt
limityan Jun 1, 2026
33a8da0
refactor(core): move get tool spec owner into product runtime
limityan Jun 1, 2026
990029f
refactor(core): move tool manifest owner into product runtime
limityan Jun 1, 2026
25eb0df
feat(agentic): refactor goal mode to persisted thread goals
bobleer Jun 1, 2026
ba41b57
refactor(i18n): clear static fallback baseline
limityan Jun 1, 2026
e7d6661
fix(agentic): remove Windows absolute path from bash tool prompt
bobleer Jun 1, 2026
7ff4a0a
feat(cli): TUI slash-command autocomplete now matches substrings
jarvis24young Jun 1, 2026
b17cb45
fix(i18n): resolve thread goal governance debt without raising baselines
bobleer Jun 1, 2026
2804443
fix(flow-chat): keep historical sessions responsive
limityan Jun 1, 2026
6bb18a5
test(agentic): update registry manifest snapshots for thread goal tools
bobleer Jun 1, 2026
10a10be
fix(web-ui): support multiline objectives in /goal command parsing
bobleer Jun 1, 2026
24b06d4
fix(agentic): replace Windows drive paths in registry test fixtures
bobleer Jun 1, 2026
5fa4cef
fix(agentic): pause thread goals on cancel and resume continuation cl…
bobleer Jun 1, 2026
6942259
feat(web-ui): add Bitfun Bifang mascot as default companion pet
bobleer Jun 1, 2026
75960d4
Merge pull request #1008 from bobleer/feat/thread-goal-codex-parity
bobleer Jun 1, 2026
f3f776b
refactor(i18n): tighten l10n signal governance
limityan Jun 1, 2026
0b6f22e
fix(web-ui): stabilize chat input capsule and multiline transitions
wsp1911 Jun 1, 2026
a7cfa21
refactor(core): move tool runtime context ownership
limityan Jun 1, 2026
2a01636
refactor(i18n): consolidate shared labels and restore locale inventory
limityan Jun 1, 2026
244128a
ci: make PR rust cache restore-only
limityan Jun 1, 2026
d7d64b0
refactor(agentic): unify Write tool to inline file_path + content
bobleer Jun 1, 2026
76b2cf1
Merge pull request #1016 from bobleer/refactor/write-inline-unified
bobleer Jun 1, 2026
66cf3ff
Merge pull request #992 from jarvis24young/feat/cli-substring-command…
kev1n77 Jun 1, 2026
8c3d078
perf(startup): add startup tracing and reduce shell latency
limityan Jun 1, 2026
244b068
refactor(agent-runtime): move thread goal runtime owner
limityan Jun 1, 2026
d823f6b
fix(web-ui): restore hidden subagent sessions for task projections
wsp1911 Jun 1, 2026
7e5250d
fix(web-ui): restrict @ file mention trigger and keep arrow-key curso…
wsp1911 Jun 1, 2026
b6da725
fix: resolve web lint warnings and desktop dead code warning
wsp1911 Jun 1, 2026
16f7bae
fix: reduce false positives in repo hygiene path checks
wsp1911 Jun 1, 2026
c4168d5
refactor: keep background result UI messages concise
wsp1911 Jun 2, 2026
8c27781
fix(web-ui): keep chat input anchored on session open
limityan Jun 2, 2026
01fc6ca
refactor(agent-runtime): own registry and scheduler decisions
limityan Jun 2, 2026
9197056
Bump version to 0.2.9
wgqqqqq Jun 2, 2026
cb81e02
fix(chat-input): make Escape close slash/mention popups instead of ca…
kev1n77 Jun 2, 2026
ec51d12
Merge pull request #1024 from kev1n77/fmy/dev
kev1n77 Jun 2, 2026
67b0f1f
fix(chat-input): support Ctrl+Z undo for pasted images and hide place…
kev1n77 Jun 2, 2026
2daf815
Merge pull request #1029 from kev1n77/fmy/dev
kev1n77 Jun 2, 2026
f43765f
Merge pull request #1028 from wgqqqqq/codex/bump-version-0.2.9
wgqqqqq Jun 2, 2026
b06d0ef
refactor(agent-runtime): own prompt loop facts
limityan Jun 2, 2026
09bf6d1
refactor(agent-runtime): own event facts
limityan Jun 2, 2026
8c96a48
fix(flow-chat): keep streaming code preview tail visible
limityan Jun 2, 2026
c65b9f3
refactor(agent-runtime): own prompt cache and registry facts
limityan Jun 2, 2026
65eff1e
fix: improve cache baseline reuse across derived agent sessions
wsp1911 Jun 2, 2026
3a4b5ff
feat(web-ui): add reveal-in-explorer action to plan viewer
wsp1911 Jun 2, 2026
471c3dc
refactor(runtime): close product and tool owners
limityan Jun 2, 2026
8318ab3
feat(web-ui): show tool descriptions in agent editor
wsp1911 Jun 2, 2026
176659c
fix(web-ui): keep toolbar window within desktop bounds
wgqqqqq Jun 3, 2026
d119f4a
feat(acp): surface session command and plan updates
wgqqqqq Jun 3, 2026
2bdf7a8
Merge pull request #1056 from wgqqqqq/fix/acp-session-updates-ui
GCWing Jun 3, 2026
e57dab4
Merge pull request #1054 from wgqqqqq/fix/toolbar-window-bounds
GCWing Jun 3, 2026
f46113e
refactor(runtime): migrate product capability registry owners
limityan Jun 2, 2026
cd083a9
fix(acp): isolate provider slash commands
wgqqqqq Jun 3, 2026
15c0076
perf(web-ui): reduce post-interactive session pressure
limityan Jun 2, 2026
255499e
refactor(runtime): migrate scheduler owner decisions
limityan Jun 3, 2026
e875565
Merge pull request #1059 from wgqqqqq/fix/acp-session-updates-ui
GCWing Jun 4, 2026
fb7996c
feat: add /reload-skills slash command (CLI + Web UI)
jarvis24young Jun 4, 2026
8bb2921
refactor(runtime): migrate session store and tool IO owners
limityan Jun 4, 2026
49cc435
feat: unify scheduled job management across sessions and workspaces
wsp1911 Jun 3, 2026
4622097
refactor(runtime): close function-agent and scheduled job owners
limityan Jun 4, 2026
e073822
fix acp session recovery
wgqqqqq Jun 3, 2026
70d43d1
refactor: close agent runtime extension owners
limityan Jun 4, 2026
e2d3374
refactor(agent-runtime): close delivery contract owners
limityan Jun 4, 2026
1dd3572
fix(model-selection): make model selection per-session instead of global
kev1n77 Jun 4, 2026
2360a87
refactor(runtime): move function-agent git service owner
limityan Jun 4, 2026
fb8333a
refactor(runtime): close product assembly service boundary
limityan Jun 4, 2026
e11e146
Merge pull request #1069 from kev1n77/fmy/dev
GCWing Jun 4, 2026
d71ca77
Merge pull request #1052 from wgqqqqq/codex/fix-acp-session-recovery
GCWing Jun 4, 2026
8a7a546
refactor(tool-runtime): move remote tool execution helpers
limityan Jun 5, 2026
8cbbec3
refactor(agent-runtime): move lifecycle decisions out of core
limityan Jun 5, 2026
ba13d3b
fix(session-archive): fix stale expand toggle after archiving session…
kev1n77 Jun 5, 2026
948aa51
refactor: move MiniApp host plans and developer tooling
limityan Jun 5, 2026
5610477
perf(flow-chat): stabilize historical session rendering
limityan Jun 5, 2026
ea5321d
refactor(core): layer crates and close product assembly facade
limityan Jun 5, 2026
401b9e6
refactor(core): organize crates into six ownership layers
limityan Jun 5, 2026
856434b
perf(web-ui): defer inactive session metadata startup
limityan Jun 5, 2026
6dc44c4
refactor(stream): move stream contracts out of adapters
limityan Jun 5, 2026
2a50f90
fix(chat): prevent scroll compensation ratchet causing huge white space
limityan Jun 5, 2026
91b19c7
Merge pull request #1074 from kev1n77/fmy/dev
GCWing Jun 5, 2026
ca48283
Merge pull request #1057 from jarvis24young/feat/reload-skills-command
GCWing Jun 5, 2026
5e5f044
fix(subagent): sync subagent session context window from AI config
kev1n77 Jun 5, 2026
e2dcbf0
perf: add React.memo to NavItem and SectionHeader
kev1n77 Jun 6, 2026
9f3d1eb
perf: skip console forwarding when below minimum log level
kev1n77 Jun 6, 2026
0a71be1
Merge pull request #1086 from kev1n77/fmy/dev
kev1n77 Jun 6, 2026
11981de
Merge pull request #1087 from kev1n77/fmy/perf
GCWing Jun 6, 2026
60bd9d8
feat(tools): add exec command session tools
wsp1911 Jun 2, 2026
aba4bf9
feat(core): support remote ExecCommand sessions
wsp1911 Jun 4, 2026
9c1d3f7
feat: add streaming cards for exec process tools
wsp1911 Jun 4, 2026
6a29ed7
fix: prevent duplicate ExecCommand progress output
wsp1911 Jun 5, 2026
9f3f0d3
fix(exec-control): clean up non-tty process trees across local and re…
wsp1911 Jun 5, 2026
e7b0756
fix(exec-command): note tty=false output ordering limits
wsp1911 Jun 5, 2026
e46cdfa
feat(flow-chat): add background command activity controls
wsp1911 Jun 6, 2026
493745a
refactor(agent-tools): migrate agents from Bash to ExecCommand tools
wsp1911 Jun 6, 2026
2c0ecba
fix: treat missing exec sessions as tool-rendered results
wsp1911 Jun 6, 2026
8a25be2
fix(flow-chat): switch to multi-line input when target switcher is shown
kev1n77 Jun 7, 2026
f80cfeb
Merge pull request #1092 from kev1n77/fmy/bugfix
GCWing Jun 7, 2026
2a2d2dd
perf: add subscribeSelector API with equality check to FlowChatStore
kev1n77 Jun 6, 2026
a07a44e
perf: replace SessionsSection full subscribe with subscribeSelector
kev1n77 Jun 6, 2026
de45950
perf: merge ChatInput dual subscriptions into single subscribeSelector
kev1n77 Jun 6, 2026
f4eb8e7
refactor(web-ui): unify shell terminal navigation
wsp1911 Jun 7, 2026
9c2a7f5
feat(web-ui): support opening terminals in bottom panel
wsp1911 Jun 7, 2026
8d52b8d
chore(web-ui): remove obsolete terminal shell guidance
wsp1911 Jun 7, 2026
dd991f2
Merge pull request #1093 from kev1n77/fmy/perf
GCWing Jun 7, 2026
f4e713e
refactor(core): remove project context service and stale locale keys
wsp1911 Jun 8, 2026
f7a62f8
refactor(core): move remote and shell execution owners
limityan Jun 8, 2026
486645d
refactor(core): move workspace search owner
limityan Jun 8, 2026
221890f
fix: hide Windows pipe exec console window
wsp1911 Jun 8, 2026
8bd1997
feat(controlhub): enhance controlhub browser
kev1n77 Jun 8, 2026
b0dd346
Merge pull request #1100 from kev1n77/fmy/dev
kev1n77 Jun 8, 2026
3f25e4d
refactor(core): migrate remaining search runtime policies
limityan Jun 8, 2026
dbe506f
fix(web-ui): restore markdown link routing for duplicate labels
wsp1911 Jun 8, 2026
8e160a8
refactor(agent): scope computer file links to remote delivery
wsp1911 Jun 8, 2026
c1c2045
fix(web-ui): tighten chat slash-command matching
wsp1911 Jun 8, 2026
acd46f5
refactor(core): move DeepReview runtime policy owner
limityan Jun 8, 2026
d7868c8
perf: add snapshot guard to background subagent scan
kev1n77 Jun 6, 2026
900b319
perf: cache turnSummaries by turnId to avoid recomputing stable turns
kev1n77 Jun 6, 2026
a824830
Merge pull request #1107 from kev1n77/fmy/perf
GCWing Jun 8, 2026
b34a970
perf(flow-chat): reduce historical session hydration stalls
limityan Jun 8, 2026
d0c22b1
fix(remote-connect): prevent rustls CryptoProvider panic on reconnect
ococl Jun 8, 2026
2ca1574
fix(flow-chat): preserve history window expansion scroll
limityan Jun 8, 2026
12ce967
perf: batch observer-triggered schedules into single rAF per frame
kev1n77 Jun 6, 2026
414da7e
perf: add visibility-based throttle to continuous follow RAF loop
kev1n77 Jun 6, 2026
fe5fef5
perf: reduce history content paint polling from 120 to 30 RAF attempts
kev1n77 Jun 6, 2026
a2bff7a
feat(exec-command): honor configured local shell with Windows fallback
wsp1911 Jun 9, 2026
b37ed18
Merge pull request #1110 from kev1n77/fmy/perf
kev1n77 Jun 9, 2026
fab3f74
refactor(core): move M10 runtime decisions into agent-runtime
limityan Jun 9, 2026
b110ed9
fix(flow-chat): prevent white screen on input collapse and blank view…
kev1n77 Jun 7, 2026
2132992
refactor(core): migrate concrete runtime owners to services
limityan Jun 9, 2026
10a2a21
refactor: refine agent runtime context handling
wsp1911 Jun 9, 2026
a8758bc
fix: clear ci error and warnings
wsp1911 Jun 9, 2026
568dbfd
refactor(core): move stable AI DTOs into core types
limityan Jun 9, 2026
3627b03
Merge pull request #1095 from kev1n77/bugfix/flowchat
GCWing Jun 9, 2026
afbff84
Merge pull request #1101 from ococl/main
GCWing Jun 9, 2026
4640c86
fix: clarify session usage timing diagnostics
limityan Jun 9, 2026
2a23a8f
fix: reserve left space for macOS traffic lights in ToolbarMode float…
nonoqing Jun 9, 2026
147bb5a
refactor(core): migrate DeepReview capacity decisions to runtime
limityan Jun 9, 2026
a68cf16
fix(web-ui): improve terminal output copy and scrolling
wsp1911 Jun 9, 2026
7e69cc5
Merge pull request #1125 from nonoqing/yuyiqing/dev
GCWing Jun 9, 2026
d9fb09b
fix: stabilize long session tail anchoring
limityan Jun 9, 2026
dd573aa
refactor(prompt): restructure runtime context and add PowerShell exec…
wsp1911 Jun 9, 2026
650d778
fix(flow-chat): preserve explicit session selection during restore
limityan Jun 10, 2026
22cfa41
refactor(core): migrate MiniApp manager workflow facade
limityan Jun 10, 2026
21e608e
feat: add append mode to Write tool and relax content sanitization
wsp1911 Jun 10, 2026
0cbd9a2
refactor(web-ui): use Activity icon for flow chat background activity…
wsp1911 Jun 10, 2026
6822764
fix(web-ui): prevent exec tool cards from flashing expanded on comple…
wsp1911 Jun 10, 2026
bc3e5f3
fix(exec-command): clarify tty semantics
wsp1911 Jun 10, 2026
2633cec
refactor(tools): simplify collapsed tool prompts and stub schema
wsp1911 Jun 10, 2026
f13283e
perf(flow-chat): improve long session readiness
limityan Jun 10, 2026
e81ce07
feat(web-ui): add dedicated cards for WebFetch and GetToolSpec
wsp1911 Jun 10, 2026
3241ddb
docs: add SDLC harness design docs
limityan Jun 10, 2026
efbf5ec
refactor(core): migrate DeepReview runtime ownership
limityan Jun 10, 2026
507651b
docs: clarify lifecycle quality architecture
limityan Jun 10, 2026
29c78cf
refactor(tool-contracts): tighten collapsed tool GetToolSpec contracts
wsp1911 Jun 10, 2026
c339e11
docs: refine SDLC harness design contracts
limityan Jun 10, 2026
bb02237
refactor: move MiniApp import and tool pipeline policies
limityan Jun 10, 2026
7e81fff
fix(flow-chat): preserve session bottom anchor on resize
limityan Jun 10, 2026
6546f77
Merge main and fix resume card date formatting
bobleer Jun 11, 2026
3bd2c7c
Merge pull request #937 from jarvis24young/feat/mobile-resume-card
bobleer Jun 11, 2026
24c02a3
fix(flow-chat): prevent stale history projection handoff
limityan Jun 11, 2026
f6b433e
docs: reframe SDLC harness as adaptive control
limityan Jun 11, 2026
186290e
docs(sdlc): localize harness terminology
limityan Jun 11, 2026
149d096
refactor: move session storage primitives to services core
limityan Jun 11, 2026
df0943b
refactor: improve web tools extraction and WebFetch presentation
wsp1911 Jun 11, 2026
3e27832
fix(git): repair CONFLICTED detection, stale branch logic, and blocki…
kev1n77 Jun 11, 2026
bdd3878
Merge pull request #1148 from kev1n77/fmy/dev
kev1n77 Jun 11, 2026
7f61181
docs(sdlc): clarify configurable governance narrative
limityan Jun 11, 2026
fba91a1
docs(sdlc): refine configurable experience personas
limityan Jun 11, 2026
a8f9ecf
perf(acp): skip npm adapter probe when npx is available
limityan Jun 11, 2026
80b98df
docs: refine configurable development experience
limityan Jun 11, 2026
3c661f3
feat(web-ui): add workspace session batch manager and fix session col…
wsp1911 Jun 11, 2026
febfd57
refactor(agent-runtime): route session entries through runtime facade
limityan Jun 11, 2026
9c23a37
docs: clarify plugin extension roadmap
limityan Jun 11, 2026
f8a32ce
fix(edit): add whitespace-normalization candidates and fix CRLF blind…
kev1n77 Jun 11, 2026
5265a7e
Merge pull request #1156 from kev1n77/fmy/dev
kev1n77 Jun 11, 2026
b1cb6b8
perf(session): reduce long session switch contention
limityan Jun 11, 2026
d4e9e57
docs: clarify product experience use cases
limityan Jun 12, 2026
f958420
docs: align SDLC harness execution planning
limityan Jun 12, 2026
05be491
feat(miniapp): add PPT Live built-in app with agent bridge and deck e…
bobleer Jun 12, 2026
5f29052
fix(ppt-live): satisfy i18n locale-format audit and commit bundled ui…
bobleer Jun 12, 2026
38c1a1a
fix(desktop): restore Duration import removed from theme.rs
bobleer Jun 12, 2026
1555bf6
test(agentic): align GetToolSpec catalog tests with expanded WebFetch…
bobleer Jun 12, 2026
6910b2d
refactor(core): route agent lifecycle through runtime ports
limityan Jun 12, 2026
47309b0
Merge pull request #1162 from bobleer/feat/ppt-live-miniapp-agent-bridge
bobleer Jun 12, 2026
94bee69
feat: show response timing and token usage
limityan Jun 12, 2026
3a3e2cd
feat(web-ui): add invert selection to workspace session batch modal
wsp1911 Jun 12, 2026
d915082
refactor(agentic): remove queued-turn round preempt and finalize-afte…
wsp1911 Jun 12, 2026
7fcc31a
docs: detail SDLC harness stage governance
limityan Jun 12, 2026
9bed91f
refactor(core): migrate service owner paths
limityan Jun 12, 2026
99c4532
docs: add SDLC harness foundational safeguards
limityan Jun 12, 2026
1fa9785
refactor(core): migrate session metadata IO owner
limityan Jun 12, 2026
970c338
perf: tighten startup loading boundaries
limityan Jun 12, 2026
3319729
feat(logging): add model exchange tracing for AI requests
wsp1911 Jun 12, 2026
e040764
fix(agentic): keep shared coding-mode cache stable across mode switches
wsp1911 Jun 12, 2026
b2c83cb
fix(ui): @ file picker supports subdirectory navigation
kev1n77 Jun 12, 2026
dbce1cc
fix(exec-command): harden non-tty process-tree control on Windows and…
wsp1911 Jun 12, 2026
6ad3bc1
chore: bump version to 0.2.10
wgqqqqq Jun 13, 2026
2a840fb
fix(ui): show queued/waiting state for tools blocked by concurrency s…
limityan Jun 13, 2026
f32a8a6
feat(core): refine model exchange tracing config
wsp1911 Jun 13, 2026
a960424
feat(ask-user-question): make multiSelect optional with false default
wsp1911 Jun 13, 2026
6be0d49
fix(core): stop round stream retries immediately when dialog turn is …
wsp1911 Jun 13, 2026
5559bd7
feat(scripts): add request trace usage analysis tools
wsp1911 Jun 13, 2026
7ef2ee3
fix(agent-runtime): keep tool definitions cache-stable across turns
wsp1911 Jun 13, 2026
052fdd8
feat(tracing): capture context compression model exchanges
wsp1911 Jun 13, 2026
5215986
refactor(agentic): uncap exec command output and tune runtime hints
wsp1911 Jun 13, 2026
d4c7067
refactor(core): remove unused /btw persistence helpers
wsp1911 Jun 13, 2026
bb9f057
feat(web-ui): add dedicated ExecControl tool card
wsp1911 Jun 13, 2026
db41603
feat(ppt-live): add staged deck generation with reusable agent sessions
bobleer Jun 13, 2026
22d9763
fix(flow-chat): eliminate excess footer whitespace after tool-card co…
limityan Jun 13, 2026
8da820d
fix(agentic): restore finalize round helpers after upstream rebase
bobleer Jun 13, 2026
c62a470
Merge pull request #1177 from wgqqqqq/codex/bump-version-0.2.10
wgqqqqq Jun 13, 2026
2b456ba
fix(agentic): import ToolCall in execution engine unit tests
bobleer Jun 13, 2026
0a6e6d1
fix(flow-chat): restore write arg streaming and stabilize file card c…
wsp1911 Jun 13, 2026
808bc9f
Merge pull request #1182 from bobleer/feat/ppt-live-staged-deck-gener…
bobleer Jun 13, 2026
00e03b2
fix: eliminate retry storm on 429/TPM rate limits (issue #1120)
limityan Jun 13, 2026
7892f7f
fix(flow-chat): resolve diff card text truncation on long lines
limityan Jun 13, 2026
0c3d7b4
refactor(theme): align tokens, token-ize hardcoded colors, clean up l…
limityan Jun 13, 2026
ed4717b
fix(flow-chat): skip collapse compensation in follow+streaming to pre…
limityan Jun 13, 2026
9259067
refactor(ppt-live): remove final audit and slide repair from deck gen…
bobleer Jun 14, 2026
6fdd1af
Merge pull request #1188 from bobleer/refactor/ppt-live-remove-audit-…
bobleer Jun 14, 2026
30711fa
feat(ppt-live): defer style application until generation and simplify…
bobleer Jun 14, 2026
a8d47cd
feat(ppt-live): block headless-incompatible agent tools and surface s…
bobleer Jun 14, 2026
b682319
fix(deps): pin brotli-decompressor 5.0.0 to avoid alloc-no-stdlib gra…
bobleer Jun 14, 2026
ee7e4be
chore(ppt-live): bump builtin asset version to 174
bobleer Jun 14, 2026
11fb859
fix(deps): pin alloc-stdlib 2.0.2 to complete brotli allocator stack
bobleer Jun 14, 2026
01e4d63
Merge pull request #1189 from bobleer/feat/ppt-live-defer-style-until…
bobleer Jun 14, 2026
db780ed
Merge pull request #1171 from kev1n77/fmy/dev
GCWing Jun 14, 2026
be6e42d
feat(flow-chat): surface abnormal turn completion with stable finaliz…
wsp1911 Jun 14, 2026
0f5367a
feat(flow-chat): group same-round retry attempts and persist attempt …
wsp1911 Jun 14, 2026
c299df7
feat(flow-chat): fold finalize retries into round history
wsp1911 Jun 14, 2026
f48dcd8
fix(exec_command): clarify exec_command non-TTY output behavior
wsp1911 Jun 14, 2026
23af54f
refactor(core): migrate runtime event and session owners
limityan Jun 15, 2026
4f95543
fix(flow-chat): settle interrupted attempt items on cancel
wsp1911 Jun 15, 2026
b5f4f13
feat(web-ui): surface background subagent activity controls
wsp1911 Jun 15, 2026
79750f6
feat(web-ui): track background subagents with activity store
wsp1911 Jun 15, 2026
ef843b9
refactor(web-ui): consolidate theme color tokens
limityan Jun 15, 2026
470376c
refactor(core): move lifecycle state owners out of core
limityan Jun 15, 2026
19bc3dc
refactor(web-ui): continue theme token fallback migration
limityan Jun 15, 2026
032c72f
refactor(core): complete product workflow owner migration
limityan Jun 15, 2026
861deb9
Merge remote-tracking branch 'upstream/main' into rebase
SWangHash Jun 15, 2026
e424286
fix(tool-provider): add Calendar tool to core.openharmony provider group
SWangHash Jun 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 11 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ jobs:
with:
shared-key: "ci-check-v2-${{ runner.os }}-no-cargo-bin-v1"
cache-bin: false
# PR caches are scoped to merge refs; main pushes own shared cache refreshes.
save-if: ${{ github.event_name != 'pull_request' }}

- name: Check compilation
run: cargo check --workspace --exclude bitfun-cli
Expand Down Expand Up @@ -123,8 +125,16 @@ jobs:
- name: Validate GitHub config
run: pnpm run check:github-config

- name: Select i18n contract profile
shell: bash
run: |
if git rev-parse HEAD^1 >/dev/null 2>&1 &&
git diff --name-only HEAD^1 HEAD -- scripts/i18n-audit.mjs scripts/i18n-contract.test.mjs | grep -q .; then
echo "BITFUN_I18N_CONTRACT_TEST_AUDIT_INTEGRATION=1" >> "$GITHUB_ENV"
fi

- name: Validate i18n contract
run: pnpm run i18n:contract:test
run: pnpm run i18n:contract:test:ci

- name: Audit i18n resources
run: pnpm run i18n:audit
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ dist-ssr
*.local
**/dist
**/dist-ssr
!src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/dist/
!src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/dist/ui.bundle.js

# Build outputs - Rust/Tauri
target/
Expand Down Expand Up @@ -52,6 +54,7 @@ src/apps/desktop/.tauri/*.key
!.vscode/extensions.json
.idea
.claude
.codebuddy
.DS_Store
*.suo
*.ntvs*
Expand All @@ -62,6 +65,10 @@ src/apps/desktop/.tauri/*.key
# E2E test reports and screenshots
tests/e2e/reports/

# Eval job artifacts
.eval/
Cross.toml

# BitFun sandbox data - auto managed
.bitfun/
.cursor
Expand Down
108 changes: 35 additions & 73 deletions AGENTS-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,27 @@ BitFun 是一个由 Rust workspace 与 React 前端组成的项目。
3. 修改 Rust 文件后,优先使用 `pnpm run fmt:rs`,只格式化已改动或已暂存的 `.rs` 文件。只有在你明确需要更大范围格式化时才使用 `cargo fmt`。
4. 改完后按下方表格执行与改动范围匹配的最小验证。

## 模块索引

| 模块 | 路径 | Agent 文档 |
|---|---|---|
| Core(产品逻辑) | `src/crates/core` | [AGENTS.md](src/crates/core/AGENTS.md) |
| 已拆出的 core 支撑 crate | `src/crates/{core-types,agent-stream,runtime-ports,runtime-services,terminal,tool-runtime}` | (使用 core 指南) |
| Agent runtime owner crate | `src/crates/agent-runtime` | [AGENTS.md](src/crates/agent-runtime/AGENTS.md) |
| Service core owner crate | `src/crates/services-core` | [AGENTS.md](src/crates/services-core/AGENTS.md) |
| Service integrations owner crate | `src/crates/services-integrations` | [AGENTS.md](src/crates/services-integrations/AGENTS.md) |
| Agent tool contracts | `src/crates/agent-tools` | [AGENTS.md](src/crates/agent-tools/AGENTS.md) |
| Tool pack provider plan | `src/crates/tool-packs` | [AGENTS.md](src/crates/tool-packs/AGENTS.md) |
| 产品领域 crate | `src/crates/product-domains` | [AGENTS.md](src/crates/product-domains/AGENTS.md) |
| Transport 适配层 | `src/crates/transport` | (使用 core 指南) |
| API layer | `src/crates/api-layer` | (使用 core 指南) |
| ACP 集成 | `src/crates/acp` | [AGENTS.md](src/crates/acp/AGENTS.md) |
| AI adapters | `src/crates/ai-adapters` | [AGENTS.md](src/crates/ai-adapters/AGENTS.md) |
| 桌面应用 | `src/apps/desktop` | [AGENTS.md](src/apps/desktop/AGENTS.md) |
| Server | `src/apps/server` | (使用 core 指南) |
| CLI | `src/apps/cli` | (使用 core 指南) |
| 中继服务器 | `src/apps/relay-server` | (使用 core 指南) |
| 共享前端 | `src/web-ui` | [AGENTS.md](src/web-ui/AGENTS.md) |
| Mobile web | `src/mobile-web` | [AGENTS.md](src/mobile-web/AGENTS.md) |
| 安装器 | `BitFun-Installer` | [AGENTS.md](BitFun-Installer/AGENTS.md) |
| E2E 测试 | `tests/e2e` | [AGENTS.md](tests/e2e/AGENTS.md) |
## 分层模块索引

依赖关系按自上而下读取:上层只能依赖下层,同层 crate 也应保持最小依赖。

| # | 层级 | 路径 | 职责 | 模块 / 入口 | 层级文档 |
|---|---|---|---|---|---|
| 1 | 接口与入口层 | `src/apps/*`, `src/web-ui`, `src/mobile-web`, `BitFun-Installer`, `tests/e2e`, `src/crates/interfaces` | 产品宿主、命令、UI 入口、协议接口和跨形态测试 | desktop、CLI、server、relay、Web UI、mobile web、installer、E2E、`acp` | 最近的本地 `AGENTS.md`;[interfaces](src/crates/interfaces/AGENTS.md) |
| 2 | 产品组装层 | `src/crates/assembly` | 兼容导出、产品能力选择、product-full 接线和 adapter/service 注册 | `core`, `product-capabilities` | [AGENTS.md](src/crates/assembly/AGENTS.md) |
| 3 | 适配层 | `src/crates/adapters` | AI/API/transport/WebDriver 协议 adapter 和外部 provider 转换 | `ai-adapters`, `api-layer`, `transport`, `webdriver` | [AGENTS.md](src/crates/adapters/AGENTS.md) |
| 4 | 服务实现层 | `src/crates/services` | 可复用 OS、filesystem、terminal、MCP、remote、git、watch、process、session persistence primitives、network 和 MiniApp runtime IO 实现 | `services-core`, `services-integrations`, `terminal` | [AGENTS.md](src/crates/services/AGENTS.md) |
| 5 | 执行原语层 | `src/crates/execution` | 可移植 agent、harness、stream、DeepReview policy/report、typed-service、tool-contract、tool-group 和 tool-execution 构件 | `agent-runtime`, `agent-stream`, `tool-contracts`, `harness`, `runtime-services`, `tool-provider-groups`, `tool-execution` | [AGENTS.md](src/crates/execution/AGENTS.md) |
| 6 | 稳定契约与产品领域层 | `src/crates/contracts` | 跨层共享 DTO、事件形状、runtime port、产品领域契约和策略 | `core-types`, `events`, `runtime-ports`, `product-domains` | [AGENTS.md](src/crates/contracts/AGENTS.md) |

边界规则:

- 接口与入口层暴露选定产品行为;可复用行为应下移。
- 组装层只接线下层并选择产品能力事实,不实现具体 adapter、OS 或 service 细节。
- 适配层翻译协议和外部系统,不拥有产品能力选择或可复用 OS service 行为。
- 服务实现层负责可复用的 OS、process、terminal、MCP、remote、git、filesystem、session persistence primitives 和 MiniApp runtime IO 能力。
- 执行原语层只放可移植运行时构件,不拥有宿主或交付形态。
- 契约层保持轻行为,不得向上依赖。

## 常用命令

Expand Down Expand Up @@ -94,8 +91,11 @@ pnpm run desktop:build:nsis:fast # Windows 安装器,release-fast profile
- 不要把 Web UI locale 资源导入 `src/mobile-web`、`BitFun-Installer` 等较小形态。
- Web UI 只急切加载 bootstrap namespace;路由或功能文案使用
`useI18n(namespace)`,直接 `i18nService.t(...)` 只用于 bootstrap namespace。
- `pnpm run i18n:audit` 会检查 key / 占位符一致性、直接静态 key 是否存在,以及
source 中不再新增硬编码 CJK 文案。
- 用户可见的日期、时间和数字应通过共享 i18n 格式化 helper 处理,避免在产品代码中直接
使用 `Intl.*` 或 `toLocale*`。
- `pnpm run i18n:audit` 会检查 key / 占位符一致性、直接静态 key、dynamic key
source proof、literal fallback / locale-format 零增长基线、shared-term / l10n
治理基线、非阻断 same-text locale 盘点,以及 source 中不再新增硬编码 CJK 文案。

### 日志

Expand Down Expand Up @@ -152,39 +152,16 @@ await api.invoke('your_command', { request: { ... } });
- 产品表面可以有差异;共享稳定 facts 或 ports,不共享 UI、protocol、lifecycle 或平台实现。
- 迁移 runtime owner 必须有评审过的 port/provider 设计、旧路径兼容、行为等价测试;如果可能改变行为边界,还需要先确认。

### DeepReview 护栏

Deep Review / 代码审核团队横跨 core runtime 与 Web UI。target resolution 与
manifest construction 保持在前端;policy validation、queue/retry state 和
report enrichment 保持在 shared core。

### 后端链路

大多数功能建议按这个顺序追踪:

1. `src/web-ui` 或应用入口
2. `src/apps/desktop/src/api/*` 或 server routes
3. `src/crates/api-layer`
4. `src/crates/transport`
5. `src/crates/core`

### `bitfun-core`
### SDLC 质量护栏

`src/crates/core` 是代码库中心。
涉及生命周期证据、门禁、Artifact Graph、Project Profile、Deep Review 策略、
OpenCode 兼容或目标项目治理的变更,先阅读
[`docs/sdlc-harness/README.md`](docs/sdlc-harness/README.md),再阅读
[`docs/sdlc-harness/design.md`](docs/sdlc-harness/design.md)。如果变更影响模块边界或行为,
继续参考 `docs/sdlc-harness/architecture/` 或 `docs/sdlc-harness/features/` 下的对应设计。

主要区域:

- `agentic/`:agents、prompts、tools、sessions、execution、persistence
- `service/`:config、filesystem、terminal、git、LSP、MCP、remote connect、project context、AI memory
- `infrastructure/`:AI clients、app paths、event system、storage、debug log server

Agent 运行时心智模型:

```text
SessionManager → Session → DialogTurn → ModelRound
```

会话数据保存在 `.bitfun/sessions/{session_id}/`。
不要把 BitFun 自身验证假设硬编码成目标项目通用规则;质量保护行为必须保持面向目标项目、
基于证据、按风险分级、成本可控并可审计。

## 验证

Expand All @@ -198,29 +175,14 @@ SessionManager → Session → DialogTurn → ModelRound
| Locale contract 或 shared terms | `pnpm run i18n:generate && pnpm run i18n:contract:test && pnpm run i18n:audit` |
| Web UI i18n runtime、namespace loading 或直接 `i18nService.t(...)` 调用 | `pnpm run i18n:contract:test && pnpm run type-check:web && pnpm --dir src/web-ui run test:run src/infrastructure/i18n/core/I18nService.test.ts` |
| Mobile web UI、状态、配对、断开或重连行为 | `pnpm --dir src/mobile-web run type-check`;行为变化还需要在 PR 中说明手动配对 / 重连验证 |
| Deep Review / 代码审核团队行为 | 运行最近的 Web UI 检查,再运行 `cargo test -p bitfun-core deep_review -- --nocapture`;如果触及后端或 Tauri API,还需要运行对应 Rust / 桌面端检查 |
| `core`、`transport`、`api-layer` 或共享服务中的 Rust 逻辑 | `cargo check --workspace`;行为变化时再加最近的 focused `cargo test` |
| 桌面端集成、Tauri API、browser/computer-use 或桌面专属行为 | `cargo check -p bitfun-desktop`;行为变化时再加 focused desktop tests |
| 被桌面端 smoke/functional 流覆盖的行为 | 优先运行最近的 focused E2E/smoke check;除非改动影响构建,否则 broad build/test 交给 CI |
| `src/crates/ai-adapters` | 运行上面相关 Rust 检查;只有 stream contract 改动时再加 `cargo test -p bitfun-agent-stream` |
| `src/crates/adapters/ai-adapters` | 运行上面相关 Rust 检查;只有 stream contract 改动时再加 `cargo test -p bitfun-agent-stream` |
| 不涉及打包的安装器前端或 i18n runtime | `pnpm --dir BitFun-Installer run type-check` |
| 安装器 Tauri/Rust 改动 | `cargo check --manifest-path BitFun-Installer/src-tauri/Cargo.toml` |
| 安装器打包、payload、安装/卸载流程或 native bundling | `pnpm run installer:build` |

## 先看哪里

| 功能 | 关键路径 |
|---|---|
| Agent mode | `src/crates/core/src/agentic/agents/`、`src/crates/core/src/agentic/agents/prompts/`、`src/web-ui/src/locales/*/scenes/agents.json` |
| Deep Review / 代码审核团队 | `src/crates/core/src/agentic/deep_review/`、`src/crates/core/src/agentic/deep_review_policy.rs`、`src/crates/core/src/agentic/agents/definitions/hidden/deep_review.rs`、`src/crates/core/src/agentic/tools/implementations/{task_tool.rs,code_review_tool.rs}`、`src/web-ui/src/shared/services/review-team/`、`src/web-ui/src/flow_chat/deep-review/`、`src/web-ui/src/app/scenes/agents/components/ReviewTeamPage.tsx` |
| Mobile web 配对 / 远程控制 | `src/mobile-web/src/pages/PairingPage.tsx`、`src/mobile-web/src/pages/SessionListPage.tsx`、`src/mobile-web/src/pages/ChatPage.tsx`、`src/mobile-web/src/services/RemoteSessionManager.ts`、`src/mobile-web/src/services/RelayHttpClient.ts`、`src/mobile-web/src/services/store.ts` |
| 会话用量报告(`/usage`) | `src/crates/core/src/service/session_usage/`、`src/web-ui/src/flow_chat/components/usage/`、`src/web-ui/src/locales/*/flow-chat.json` |
| Tool | `src/crates/core/src/agentic/tools/implementations/`、`src/crates/core/src/agentic/tools/registry.rs` |
| MCP / LSP / remote | `src/crates/core/src/service/mcp/`、`src/crates/core/src/service/lsp/`、`src/crates/core/src/service/remote_connect/`、`src/crates/core/src/service/remote_ssh/` |
| 桌面端 API | `src/apps/desktop/src/api/`、`src/crates/api-layer/src/`、`src/crates/transport/src/adapters/tauri.rs` |
| 中继服务器 | `src/apps/relay-server/` |
| Web/server 通信 | `src/web-ui/src/infrastructure/api/`、`src/crates/transport/src/adapters/websocket.rs`、`src/apps/server/src/routes/`、`src/apps/server/src/main.rs` |

## Agent 文档优先级

进入具体目录后,优先遵循离目标文件最近的 `AGENTS.md` / `AGENTS-CN.md`。如果局部文档与本文件冲突,以更具体、更近的文档为准。
Loading
Loading