Commit Graph
100 Commits
Author SHA1 Message Date
Liang Jiaqing 308153b1c9 reflect: hub connect for put_task; llmcore: softer trim interval, rate-limit as ConnectionError, slower backoff; L3: no project-specific facts 2026-08-10 14:02:51 +08:00
Liang Jiaqing 4e92d5d88d p2p: split peer_timeout(120s) from direct_timeout(15s) so pairing code stays usable for its full TTL 2026-08-09 00:19:44 +08:00
Liang Jiaqing 8f9732ec0c hub: /api/peers incremental via psig (unchanged list -> {same:1}, ~68% less relay bytes) 2026-08-08 14:31:41 +08:00
Liang Jiaqing d426d45e9b hub: incremental polling (since= skeleton delta, nt rewind marker, seg ?off tail fetch) to cut relay traffic 2026-08-08 12:20:15 +08:00
Liang Jiaqing 0c54d5c0bc stapp: unify hub input path via _inject_prompt (single entry for user/auto/hub) 2026-08-08 12:20:15 +08:00
Liang Jiaqing 0c2b3e0d51 tune prompt tags, raise context_win defaults, simplify code_run schema desc
- ga: blank/incomplete/max_tokens retries use [ERROR]; summary tip [TIPS]; turn checkpoints [DANGER]
- llmcore: default context_win 30k->35k, deepseek 70k->80k
- tools_schema: shorten code_run.script description
2026-08-08 12:20:15 +08:00
LJQ d946498bcf Merge pull request #725 from dd3xp/main2
Add desktop workspace copy and switch action
2026-08-07 08:53:55 +08:00
LJQ 2757bdd8ef Merge pull request #735 from nianyucatfish/fix/tui-agent-worker-cleanup
fix(tui): release agent workers on close
2026-08-06 23:50:51 +08:00
Liang Jiaqing 7083b9377e p2p_ws_client: X25519 raw-bytes compat shim for old cryptography builds 2026-08-06 15:44:40 +08:00
Liang Jiaqing 89a8ab717a hub: optional P2P phone pairing sidecar (hub_p2p) + p2p_ws_client peer_left self-heal (watch peer_left -> close -> fresh handshake on reconnect) 2026-08-06 15:07:07 +08:00
Liang Jiaqing a1e470bb11 stapp: all_outputs stream + single 1s tick; llmcore: null-safe usage
stapp:
- stream paints agent.all_outputs[-1].outputs (queue is doorbell+done only)
- drop partial_response / mount_main_stream / multi 1s fragments
- one always-on _tick: stream | detached salvage | hub wake | loop/auto
- RUNNING badge projects agent.is_running; history still fold_turns

llmcore:
- coerce null/bad usage token fields to int in _record_usage
  (dict.get default skips explicit JSON null)
2026-08-03 18:16:09 +08:00
Liang Jiaqing c59410855d stapp: soft-import slash cmd modules so main chat runs without them
- wrap chatapp_common/continue_cmd/btw_cmd/export_cmd in one try/ImportError
- guard /new /continue /btw; /export help+all still work via agent.log_path
2026-08-03 16:49:37 +08:00
Liang Jiaqing 284b33216a hub: split bus/panel ports, token-auth the panel
- bus port (19736): WebSocket only, all HTTP returns 404
- panel port (GA_HUB_WEB_PORT, default 19737): token via ?t= or cookie, /ws rejected
- token from GA_HUB_TOKEN or random 6 chars, printed on startup
- drop dead /api/ev HTTP endpoint (zero callers; bus ev goes over WS)
- pet: inline single-instance lock; CJK-aware title width
2026-08-03 16:24:23 +08:00
Liang Jiaqing d8d90eef8c fix: abort sets should_stop before close; llmcore skip retry on user stop; hub serve-on-connect + stapp hub optional 2026-08-03 11:44:34 +08:00
Liang Jiaqing 41e1fcebe8 hub: WS peer hub (frontends/hub.py + hub.html) with composer, busy-reject and abort; stapp adopts hub tasks as real bubbles; agentmain tracks all_outputs/_current_queue 2026-08-02 23:18:35 +08:00
LJQ c8136d05b3 Merge pull request #721 from chenwushuang007-stack/feat/reasoning-effort-max
feat: add max reasoning effort option
2026-08-02 21:26:53 +08:00
LJQ bd6eccd37c Merge pull request #710 from Kailigithub/fix/issue-683-scroll-bottom-on-session-switch
fix(desktop): scroll to bottom when switching to active session
2026-07-31 23:36:09 +08:00
LJQ 5a512293a8 Merge pull request #713 from wjl2023/docs/refresh-wechat-group22-qr
docs: refresh WeChat group 22 QR code
2026-07-31 23:35:39 +08:00
Liang Jiaqing 6bed654dce feat: improve conductor files and runtime handling 2026-07-31 21:56:27 +08:00
Liang Jiaqing b913a89ace stapp: show active model in runtime stats 2026-07-30 00:16:04 +08:00
Liang Jiaqing a3a626af89 stapp: stabilize long-session streaming and add runtime stats 2026-07-29 18:25:46 +08:00
Liang Jiaqing fb9ea53c3a stapp: lazy-render chat history (tail 6 + i18n toggle) to fix gray/RUNNING freeze on long sessions 2026-07-29 12:31:06 +08:00
Liang Jiaqing c8163dcfc3 docs: remove expired WeChat QR codes 2026-07-29 11:48:30 +08:00
Liang Jiaqing ff9a6e6451 docs: refresh WeChat group 22 QR code 2026-07-29 11:42:05 +08:00
Liang Jiaqing b4597a067b stapp: non-blocking fragment-based stream polling + loop epoch guard; RUNNING badge; conductor SOP subdir hint; agent_loop verbose simplification 2026-07-28 23:15:18 +08:00
Liang Jiaqing 7ffc95823b fix(llmcore): cap retry-after to avoid hanging on oversized values 2026-07-27 20:29:01 +08:00
Liang Jiaqing 5c3fc72da4 fix: drop empty text blocks in _fix_messages to avoid HTTP 400 2026-07-25 21:46:05 +08:00
Liang Jiaqing a1f7368f81 feat: wechat conductor forwarding mode with /switch 2026-07-25 13:39:39 +08:00
Liang Jiaqing 4086d5c858 refactor: tighten working memory tool guidance 2026-07-23 15:30:36 +08:00
Liang Jiaqing 0a54c74924 fix: handle invalid mixin placeholder on model reload 2026-07-23 14:18:37 +08:00
Liang Jiaqing 7fede5a050 feat: improve conductor controls and token import refresh 2026-07-23 13:25:22 +08:00
Liang Jiaqing 733615d889 fix: sticky llm_no on reload, portal UX, mainland install without Git
- agentmain: keep current LLM across mykey hot-reload by backend.name
- stapp: fix DeltaGenerator leak from ternary, update reopen_page wording
- ga_install: mainland mode skips PortableGit, use NJU python mirror + --no-bin
- ga: block start_long_term_update before turn 10
2026-07-22 23:38:10 +08:00
Liang Jiaqing 400c9ef34f feat(stapp): empty-key boot and portal hot-reload wait
Allow GenericAgent to start with empty mykey, watch subscription
portal writes via list_llms, and app-rerun so sidebar LLM select
refreshes without a manual click. Also harden mykey reimport and
note the fastest tmwebdriver autofill login path.
2026-07-22 20:33:37 +08:00
Jiaqing Liang 8a75b39bf8 docs(memory): deprecate plan mode and index project mode 2026-07-22 15:48:13 +08:00
Jiaqing Liang 022299a6ab fix(conductor): notify on user chat messages 2026-07-22 15:48:13 +08:00
Jiaqing Liang caa41dd08e refactor(tmwebdriver): remove legacy DOM bridge and guard HTTP origin 2026-07-22 15:48:12 +08:00
Liang Jiaqing 277c4859a4 feat(desktop): optional quick-access helper hook + trim factor
- Probe optional helper availability; show button only if present

- Bridge route for optional helper; i18n + cache bump

- llmcore: maxlen_multiplier factor 0.85->0.75
2026-07-21 11:15:21 +08:00
Liang Jiaqing facbca6b7d feat(stapp): improve missing-key UX and sidebar controls
- Optional helper hook when available; warn reopen if used

- Sidebar cleanup: drop auto_start, tighten hr CSS
2026-07-21 11:15:20 +08:00
LJQ 5802df3d1c Merge pull request #695 from wjl2023/docs/update-wechat-group-qr
docs: update WeChat group QR to group 22
2026-07-20 21:50:19 +08:00
Jiaqing Liang 2b661eb265 chore: update gitignore, memory templates, ga retry logic, llmcore beta parts 2026-07-20 15:38:01 +08:00
LJQ 5d8897ff32 Merge pull request #691 from dd3xp/main
fix(desktop): restore permissive empty-turn handling
2026-07-17 21:54:18 +08:00
Liang Jiaqing 0c67da2364 revert(ga): restore pre-c921bad empty-response check in do_no_tool
c921bad tightened blank-turn detection by stripping <thinking>/<summary>
and treating meta-only replies as empty. That is too aggressive for the
main agent loop (summary-only / thinking-only turns get forced retries).
Keep desktop_bridge behavior; only revert ga.py core path.
2026-07-15 18:20:06 +08:00
Liang Jiaqing 89632b05e3 Refine execution principles and conductor API wording 2026-07-15 18:15:08 +08:00
LJQ 20eebe7441 Merge pull request #671 from dd3xp/main
Merge desktop fork updates into upstream main
2026-07-14 21:33:44 +08:00
Jiaqing Liang 5b0b8ead6e chore: stop tracking local model instruction files
Ignore assets/glm52_instruction.txt and assets/gpt55_instruction.txt
so local customizations stay out of the repo.
2026-07-13 17:00:59 +08:00
Jiaqing Liang 0700e57597 feat: add trim_keep_prefix to keep leading messages on hard trim
Hard-delete path can preserve the first K history messages, insert a "..." gap, and strip dangling tool_use at the cut. Default 0 keeps previous behavior.
2026-07-13 16:03:40 +08:00
Jiaqing Liang 5e31b4d59a docs(project_mode): clarify cwd is ./temp to avoid nested temp/ paths 2026-07-13 15:11:43 +08:00
Liang Jiaqing b298cc1b72 refactor: make MixinSession a routed session facade 2026-07-13 11:30:13 +08:00
Liang Jiaqing 8553e98723 feat: scale tool-output limits with context_win
Add maxlen_multiplier derived from context_win (capped 3x); drives per-tool
truncation caps and history compression interval. WebScan uses half-increment
growth to avoid saturating its 35000 base. Docs updated for the new coupling.
2026-07-13 09:55:52 +08:00
Liang Jiaqing d910b689be rename verify_sop -> deliverable_audit_sop (避免名字过宽导致主agent小任务误触发验证审计SOP); ga.py: file_patch/file_write 保持原文件换行符, 修复LF文件被污染成CRLF; _arg 类型强转修复字符串false等 2026-07-12 15:09:34 +08:00
Liang Jiaqing 3a315f3e1c Fix Python compatibility and tune checkpoint intervals 2026-07-11 22:05:05 +08:00
LJQ 1c4f9ffc7b Merge pull request #679 from shenhao-stu/fix/update-prompt-overlay-merge
fix(slash_cmds): merge additive-overlay files (e.g. .gitignore) on /update
2026-07-11 10:20:34 +08:00
Liang Jiaqing 14c7734f5a Allow max OpenAI reasoning effort 2026-07-10 22:27:19 +08:00
Liang Jiaqing 9d99e9fc74 fix: isolate project mode per agent instance 2026-07-10 17:31:52 +08:00
Liang Jiaqing 3f6fb9c63b fix: persist UI history and retain recent L4 sessions 2026-07-10 14:56:36 +08:00
Liang Jiaqing 8ea8807ced Improve session controls and compact LLM logs 2026-07-10 11:40:22 +08:00
Liang Jiaqing a195bdc101 Handle Claude refusal without retry 2026-07-09 13:45:43 +08:00
Liang Jiaqing 15853775c9 Add model extra system prompt config support 2026-07-07 18:52:35 +08:00
Liang Jiaqing 91b5a14312 simplify mykey_template: remove non-native & antigravity configs, merge GLM/Kimi/MiniMax into vendor tables 2026-07-02 20:26:27 +08:00
Liang Jiaqing 94d1e2e907 Add background ljqCtrl tool and GUI SOP guardrails 2026-06-30 18:33:52 +08:00
Liang Jiaqing b636a8df61 Refine UltraPlan orchestration workflow 2026-06-30 17:22:16 +08:00
Liang Jiaqing 7ed13c009d fix(ga): turn_end summary fallback prefers cleaned response body (_c) over args dict 2026-06-28 22:24:52 +08:00
Liang Jiaqing 6c775def61 fix httpapp output auth and update ultraplan docs 2026-06-28 19:17:02 +08:00
Liang Jiaqing 1e4ca151a7 feat: support --history arg and in-memory intervene/keyinfo injection; add export_history; fix GenericAgent typo 2026-06-27 17:10:33 +08:00
Liang Jiaqing 84d5bf9291 Update loop controller and service discovery 2026-06-27 14:57:10 +08:00
Liang Jiaqing 03fe8a618c fix: limit parallel max_workers to 3 2026-06-26 19:02:03 +08:00
Liang Jiaqing f573b8f397 add ga_httpapp, update ga_ultraplan, whitelist ultraplan_sop 2026-06-26 18:01:00 +08:00
Liang Jiaqing 5de55ea872 feat(ultraplan): add phase/parallel/pipeline orchestrator with phase-tree HTML monitor
- assets/ga_ultraplan.py: 3 primitives (phase/parallel/pipeline), file-first
  message passing, runtime f-string prompt fill, subagent via subprocess,
  nested phase tree + random-port auto-popup HTML panel (1h idle self-destruct)
- agentmain.py: --nolog flag
- llmcore.py: honor log suppression
2026-06-26 15:16:11 +08:00
Liang Jiaqing 5bc4945dcb feat: --func pure function mode for subagent; merge bg launch; refine SOP 2026-06-26 12:03:36 +08:00
LJQ da811dc955 Merge pull request #639 from nianyucatfish/revert/remove-worldline
Revert worldline checkpoint tree integration
2026-06-25 08:34:00 +08:00
Liang Jiaqing 904ade4907 fix(desktop_bridge): collect all mixin members for inMixin check; simplify ask_user schema; enhance turn-25 prompt
- desktop_bridge.py: iterate all keys to collect mixin llm_nos, fixing inMixin bug when multiple mixins exist
- tools_schema*.json: trim verbose descriptions for token efficiency
- ga.py: clarify turn-25 prompt to write to file (not only working_checkpoint)
2026-06-23 10:06:09 +08:00
Liang Jiaqing 99954324bc feat: generic extra_sys_prompts slot replaces hardcoded commit_signature module 2026-06-20 21:03:38 +08:00
Liang Jiaqing 8c3522fb8b ljqCtrl: Add SetProcessDPIAware; FindBlock returns raw max_val float 2026-06-20 16:40:11 +08:00
Liang Jiaqing f052a27af1 chore: simplify summary, english turn hints, reasoning field compat 2026-06-20 10:43:46 +08:00
Liang Jiaqing d30701c07e cleanup_sop: 补充触发词判定标准+归位≠移出L1+幽灵审计+禁值存储 2026-06-19 19:53:04 +08:00
Liang Jiaqing 209995d87c Improve loop prompt sidebar input 2026-06-19 19:36:14 +08:00
Liang Jiaqing df025ab34f feat: loop mode + idle auto-action in stapp, cleanup launch.pyw
- stapp.py: add loop mode (auto-inject prompt after each reply)
- stapp.py: replace DOM-based idle monitor with st.fragment timer
- stapp.py: i18n for all new UI text and LLM prompts
- launch.pyw: remove inject/get_last_reply_time/idle_monitor, keep only paste hook
- agentmain/ga: raise max_turns 80->180, DANGER thresholds accordingly
- remove obsolete tool_usable_history.json
2026-06-19 19:00:44 +08:00
Liang Jiaqing 0ca5811e24 docs: clarify ui_detect OmniParser model 2026-06-18 17:14:10 +08:00
Jiaqing Liang bdbaab9b3c feat(log): include model in response logs 2026-06-18 14:26:04 +08:00
Liang Jiaqing 33f486d08b Add codex metadata for responses requests 2026-06-16 21:16:30 +08:00
Liang Jiaqing 21158fff43 Update agent docs and task help 2026-06-16 11:27:31 +08:00
Liang Jiaqing b267ce8dd3 Update supervisor SOP and execution reminders 2026-06-15 21:35:28 +08:00
Liang Jiaqing 0990c10f20 Improve conductor approval workflow 2026-06-15 10:15:17 +08:00
Liang Jiaqing 63128dd5bb Fix reflect loop throttling 2026-06-15 10:01:08 +08:00
Liang Jiaqing 9405d3fe09 docs(vision): add GA bootstrap hints to vision_api template
Annotate config block to guide new GA instances: enumerate candidate
mykey.py variable names and experimentally probe which config works;
only print var/field names, model, apibase host/path, status codes and
error types (never full dict or apikey/token); include a config format
example. Also flag that apibase/endpoint may differ per provider/proxy
at the two request-building sites.
2026-06-15 10:01:08 +08:00
Liang Jiaqinganddilong888 80679c3d6b fix(desktop): clear busy flag after ESC cancel and on bridge close to prevent UI freeze
ESC cancel sent session/cancel RPC but never cleared the busy flag, leaving the UI stuck if the server-side cancelled event never arrived. Also clear busy on all sessions when the bridge closes so pending poll loops exit cleanly.

Co-authored-by: dilong888 <dilong888@users.noreply.github.com>
2026-06-14 09:43:07 +08:00
Liang Jiaqing 9ac89d4462 Remove legacy desktop_pet v1 (desktop_pet.pyw, pet.gif); v2 fully covers 2026-06-14 09:24:33 +08:00
LJQ 1d2f3597eb Merge pull request #595 from Michaelxwb/main
修复个人微信前端在 headless 容器内无法登录
2026-06-13 15:52:18 +08:00
Liang Jiaqing abe233b06e Fix stapp bottom input layout 2026-06-13 12:07:46 +08:00
Liang Jiaqing de501f785b Fix truncation warning placement and untrack skill_search 2026-06-12 14:33:03 +08:00
Liang Jiaqing 2cb4ad0d8d fix responses codex client metadata 2026-06-11 21:58:58 +08:00
Liang Jiaqing 87c4f63340 Update Codex native user agent 2026-06-11 11:05:32 +08:00
Liang Jiaqing 0b7c6fccae docs: clarify tiered dependencies (core vs [ui] extra) 2026-06-10 23:22:06 +08:00
Liang Jiaqing 8a823c940e docs+fix: README install overhaul, self-hosted install scripts, TMWebDriver logging fix
- README (EN): clone+uv as recommended install; one-line installer demoted to convenience with script source link; drop unpolished exe section; recommend frontends/tui_v3.py (prompt_toolkit+rich, not Textual); note agent core's single dependency (requests); TMWebdriver naming
- assets: add ga_install.ps1/.sh (GLOBAL mode uses GitHub/astral-sh sources)
- TMWebDriver.py: don't let logging failure mask successful remote JS result
2026-06-10 23:18:10 +08:00
Liang Jiaqing efda2c3202 goal_mode: strengthen continuation prompt (mandatory substantive improvement, standard-upgrade report) 2026-06-10 20:25:51 +08:00
Liang Jiaqing 920f7e3f2b llmcore: fix empty-response not triggering mixin failover; distinct default UA for NativeOAISession 2026-06-10 20:25:51 +08:00
Jiaqing Liang fb69e768b3 configure: generic protocol entries (OAI chat/responses, Claude messages) with custom apibase; neutral descs 2026-06-10 16:31:11 +08:00
Jiaqing Liang 862fd8c375 README: drop trivial chat-commands sections (EN/CN) - ask the agent instead 2026-06-10 14:54:04 +08:00
Jiaqing Liang 79550d1175 README: platform-aware launch steps, hCaptcha real-browser demo, EN/CN section polish 2026-06-10 14:49:13 +08:00
Liang Jiaqing 432b2a6570 memory: subagent.md 更新fork/cwd共享约定 2026-06-10 11:14:31 +08:00