Commit Graph
597 Commits
Author SHA1 Message Date
Jinyi Han 294a7c0fbc docs: add Evaluation — Five Dimensions section (EN & CN) (#339) 2026-05-13 08:47:05 +08:00
nianyucatfish d40f76d7b1 feat(tui): add tuiapp_v2.py — refined Textual frontend (#350)
新版 TUI 与 tuiapp.py 并存,共享 GenericAgent 调度/队列/线程协议,
重做视觉与交互:
- 多行 InputArea:≤3 行自适应、>3 行三行滑动窗口、粘贴占位符
- 命令面板(OptionList + 模糊匹配 + Tab 补全)
- /llm、command 选择走 ChoiceList,选完区域收缩
- Markdown HardBreak 渲染 + ANSI 缓存
- 响应式布局(窄屏隐藏侧栏 / 宽屏按比例放大)
- selection-aware 自动滚动(选文本时不抢滚动)
- 新增 /btw、/continue、/export、/restore

不改 cli / hub / README / tuiapp.py 入口。
2026-05-12 22:26:35 +08:00
Jiaqing Liang 5f54d4570f feat(reflect): add init() for runtime args with fallback to env/config 2026-05-12 12:59:30 +08:00
Liang Jiaqing bb3179807c feat(tui): multi-line input with Enter submit, Ctrl+Enter newline, paste-safe 2026-05-11 21:12:28 +08:00
AspasZhang 5a65a98e1e docs: update WeChat group 17 QR code (#338) 2026-05-11 20:38:38 +08:00
Liang Jiaqing 1a32a3030c fix(launch): skip paste interception when clipboard contains text
PPT/Word copies include both image/png and text/plain items.
Only intercept paste when no text item is present (pure screenshot/image).
2026-05-11 20:27:26 +08:00
YooooEX 50390b84bf feat(tgapp): add /btw command handling (#335) 2026-05-11 20:06:04 +08:00
Liang Jiaqing d46f51140c refactor: rename command/ to ga_cli/ to avoid namespace collision 2026-05-11 10:01:03 +08:00
WindCat 8600ed9799 feat: 添加跨平台 GA 命令行入口系统 (#329)
新增 command/ 包和 ga.cmd/ga 入口脚本,用户可通过 `ga <command>` 启动各前端。
2026-05-11 09:57:51 +08:00
manaskarra c3a1b24175 fix(tgapp): preserve streaming overflow segments (#330)
Keep Telegram streaming overflow messages tied to the primary live message, reuse them across edits, and delete stale overflow replies when streamed content shrinks.
2026-05-11 09:40:18 +08:00
Liang Jiaqing ffeae5e59b fix: hide code runner console window 2026-05-11 09:39:52 +08:00
nianyucatfish 2d848e9a4e feat(stapp): add /export command (clip/file/all) (#322) 2026-05-09 23:08:20 +08:00
Liang Jiaqing c181c7186f chore: replace alarming warning with neutral "(无文本输出)" in feishu display 2026-05-09 19:51:35 +08:00
AspasZhang 298e490f4e docs: update WeChat group 16 QR code (#318) 2026-05-09 18:37:48 +08:00
Liang Jiaqing fe3b3441d5 fix(stapp): restore finally abort guard in agent_backend_stream 2026-05-09 18:12:09 +08:00
Liang Jiaqing b6617afb2e fix: prevent empty response from corrupting history & add _fix_messages to non-native paths 2026-05-09 17:28:11 +08:00
Liang Jiaqing 14f50a2a59 fix: avoid empty content messages in native tool flow 2026-05-09 16:28:44 +08:00
Liang Jiaqing b80a13fd4d fix: unify retry logic in do_no_tool with shared counter to prevent infinite loop (#312) 2026-05-09 15:40:39 +08:00
Shen Hao a2e1686218 feat: add /btw side-question subagent (#317)
Mirrors Claude Code's /btw: ask the agent a quick question without
interrupting the in-flight main task.

- frontends/btw_cmd.py: snapshot backend.history under lock + deepcopy →
  background-thread backend.raw_ask single-turn answer; never writes
  backend.history; never touches task_queue. Reuses backend.raw_ask +
  make_messages, no new LLM instance.
- frontends/chatapp_common.py: register /btw in HELP_COMMANDS; handle
  /btw in AgentChatMixin (sync via asyncio.to_thread); install() at
  module bottom so the slash hook is wired for any frontend that
  imports chatapp_common.
- frontends/stapp.py: persist display_queue + partial_response in
  st.session_state so the streaming bubble survives Streamlit reruns;
  new render_main_stream() helper covers both new tasks and resume;
  /btw branch uses plain st.rerun() (preserves dq) so the main task's
  remaining output renders in a follow-up bubble; non-/btw prompts
  explicitly call agent.abort() to keep the original "submit cancels"
  UX. Strip <summary> meta tags from text segments and drop dangling
  "LLM Running (Turn N) ..." markers in resumed partials to clean up
  the rendered chat.
2026-05-09 15:26:05 +08:00
KailigithubandKailigithub dd9a9c5b04 修复:清理 TMWebDriver 未使用的导入,修正裸 except 语法 (#311)
Co-authored-by: Kailigithub <Kailigithub@users.noreply.github.com>
2026-05-09 15:00:39 +08:00
Liang Jiaqing ceec6c9d08 feat(tui): add /clear and /close commands 2026-05-09 14:56:52 +08:00
AspasZhang 6a4db9a140 fix: disable Streamlit dev shortcuts to prevent Ctrl+C triggering Clear Caches on Windows (#309) 2026-05-09 12:31:28 +08:00
wangjc683 1416f70efb fix: filter whitespace-only text blocks in NativeToolClient.chat() (#307)
When the model only outputs tool calls with no meaningful text,
combined_content may contain only whitespace text blocks (e.g. '\n').
Strict API proxies reject this with HTTP 400 'empty content' error.
Filter out such blocks before sending to the API.
2026-05-09 10:41:29 +08:00
Liang Jiaqing f33a814e56 hub.pyw: add EXCLUDES set for goal_mode/chatapp_common/tuiapp; ga.py: fix missing summary prompt wording 2026-05-09 09:51:32 +08:00
AspasZhang 8e5c9ec0fb docs: replace WeChat group 15 QR code (#302) 2026-05-08 22:34:19 +08:00
AspasZhang 05d60f7583 docs: update WeChat group QR code from 14 to 15 (#300) 2026-05-08 19:57:44 +08:00
Liang Jiaqing 01ffcacab7 docs: add configure_mykey.py references to README & GETTING_STARTED 2026-05-08 17:49:24 +08:00
Liang Jiaqing 9f67087fad move configure_mykey.py to assets/, fix PROJECT_ROOT 2026-05-08 17:44:26 +08:00
Liang Jiaqing 0f163b2d0c rename: configure.py -> configure_mykey.py 2026-05-08 17:40:10 +08:00
WindCatandguowenjiao54 0aacc0475d feat: add configure.py — interactive initialization wizard (#295)
* feat: add setup.py -- interactive initialization wizard

* fix: address PR #295 review — rename to configure.py, improve all feedback

- Rename setup.py → configure.py to avoid pip/setuptools conflict
- Fix lark exception: catch generic Exception instead of non-existent AppAccessDeniedError/AppExpiredError
- Add proxy support to probe_models via HTTPS_PROXY/HTTP_PROXY env vars
- Implement masked_input() with real-time API key masking
- Add pip install hints for messaging platform dependencies
- Add 2 new providers: CRS Gemini Ultra (Antigravity), Kimi/Moonshot OAI
- Restructure main menu: LLM only / platform only / or both with cascade prompts
- Add Python 3.14 compatibility warning and reconfiguration detection
- Fix welcome_message: WeCom only, correct variable name
- Show GETTING_STARTED example commands after configuration
- Add advanced LLM options: proxy, context_win, stream, user_agent

---------

Co-authored-by: guowenjiao54 <guowenjiao54@users.noreply.github.com>
2026-05-08 17:36:38 +08:00
Liang Jiaqing 3ddf4cb6f9 Add lightweight goal mode reflect workflow 2026-05-08 17:28:16 +08:00
Liang Jiaqing 1f99a5553b feat: fsapp reconnect loop, tui branch/rewind, simphtml flow-child fix, sop updates 2026-05-08 15:48:16 +08:00
solopole 6738e17a1d feat(discord): improve channel activation and progress display (#292) 2026-05-08 11:56:55 +08:00
TraderLife 35f249bd95 feat: add --wechat/--wx launch argument (#288) 2026-05-08 11:53:54 +08:00
Liang Jiaqing 2acb55b798 fix: 堵死自主规划绕过subagent评审的漏洞
- subagent.md: 隐藏--nobg选项防止同步阻塞超时
- task_planning.md: 加第7条无限重试禁自评+探测策略重排序
- autonomous_operation_sop.md: set_todo前缀提示
2026-05-08 08:02:23 +08:00
Liang Jiaqing c9b126c7de fix: invalidate panel cache on fold toggle 2026-05-07 22:23:48 +08:00
Liang Jiaqing e5265a03dc tuiapp: cache rendered panels; llmcore: simplify fast_ask 2026-05-07 22:18:25 +08:00
Liang Jiaqing 0a2be47c00 refactor: simplify LLM client init with resolve_client; add fast_ask; auto-fold old tasks in TUI 2026-05-07 21:06:14 +08:00
Liang Jiaqing ad61ce583d README: remove --demo tips, split install deps for GUI/TUI 2026-05-07 18:19:48 +08:00
Liang Jiaqing 20553a05aa tuiapp: improve session nav (ctrl+arrows), CJK-aware sidebar, README restructure 2026-05-07 18:15:08 +08:00
Liang Jiaqing eb90075f6a fix(tui): shorten sidebar Q/S to prevent wrapping, add Ctrl+1~9 session switch 2026-05-07 17:41:12 +08:00
Liang Jiaqing 6fd7e2d7a0 feat: add Textual TUI frontend + minor fixes to agentmain/llmcore/stapp 2026-05-07 17:38:58 +08:00
Jiaqing Liang 27428395e2 refactor: rename GeneraticAgent, default bg for task, add fork history support 2026-05-07 15:12:46 +08:00
SONG ZHENRUI 83d5f5715d Update README with virtual environment setup instructions (#243)
Added instructions for setting up a virtual environment and installing dependencies.

error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment
2026-05-07 13:11:20 +08:00
succ985andsucc985 4eb0afb083 feat(wechat): add persistent typing indicator (#278)
The previous implementation called send_typing once with an empty
typing_ticket, which had no effect. The iLink API requires a valid
typing_ticket obtained from getconfig first.

Changes:
- Add get_typing_ticket() method to fetch ticket via getconfig API
- Replace single send_typing call with continuous typing loop
- Typing refreshes every 2 seconds until agent finishes processing
- Stops cleanly via threading.Event when message handling completes

Co-authored-by: succ985 <succ985@users.noreply.github.com>
2026-05-07 13:11:15 +08:00
LJQ 6221fc7017 Merge pull request #279 from sontianye/fix/qqapp-reconnect-backoff
fix(qqapp): exponential reconnect backoff
2026-05-07 12:33:51 +08:00
LJQ 838d278a04 Merge pull request #283 from draj1e/feature/sophub
add sophub link to readme
2026-05-07 12:33:48 +08:00
draj1e 2267239267 add sophub 2026-05-07 11:18:08 +08:00
Tianye Song ae8ac9b08b fix(qqapp): exponential reconnect backoff
Replace fixed 5s sleep with the same backoff pattern already used in
dcapp.py: 5 -> 10 -> 20 -> ... -> 300s, resetting to 5s when a session
survived >=60s. Uses time.monotonic() to avoid clock-jump skew.
2026-05-07 10:29:37 +08:00
Liang Jiaqing 74c88d4d04 refine: worker on_done + 120s window + prompt tweaks 2026-05-06 19:16:29 +08:00