Commit Graph
586 Commits
Author SHA1 Message Date
nianyucatfish 9024af7499 feat(stapp): add /export command (clip/file/all) (#322) 2026-05-09 23:08:20 +08:00
Liang Jiaqing 3c5c99fd6d chore: replace alarming warning with neutral "(无文本输出)" in feishu display 2026-05-09 19:51:35 +08:00
AspasZhang 321ad8ad4f docs: update WeChat group 16 QR code (#318) 2026-05-09 18:37:48 +08:00
Liang Jiaqing a2f0f0d46a fix(stapp): restore finally abort guard in agent_backend_stream 2026-05-09 18:12:09 +08:00
Liang Jiaqing a6c010d25a fix: prevent empty response from corrupting history & add _fix_messages to non-native paths 2026-05-09 17:28:11 +08:00
Liang Jiaqing 67d135ab4d fix: avoid empty content messages in native tool flow 2026-05-09 16:28:44 +08:00
Liang Jiaqing 4af02c5f98 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 HaoandClaude Opus 4.7 03d19c9821 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.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 15:26:05 +08:00
KailigithubandKailigithub 2a80e1e931 修复:清理 TMWebDriver 未使用的导入,修正裸 except 语法 (#311)
Co-authored-by: Kailigithub <Kailigithub@users.noreply.github.com>
2026-05-09 15:00:39 +08:00
Liang Jiaqing ca79699492 feat(tui): add /clear and /close commands 2026-05-09 14:56:52 +08:00
AspasZhang 268ceab408 fix: disable Streamlit dev shortcuts to prevent Ctrl+C triggering Clear Caches on Windows (#309) 2026-05-09 12:31:28 +08:00
wangjc683 cde1620710 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 2ddeab20a0 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 dcab4b7608 docs: replace WeChat group 15 QR code (#302) 2026-05-08 22:34:19 +08:00
AspasZhang 7b07b6649a docs: update WeChat group QR code from 14 to 15 (#300) 2026-05-08 19:57:44 +08:00
Liang Jiaqing d7f5a3445a docs: add configure_mykey.py references to README & GETTING_STARTED 2026-05-08 17:49:24 +08:00
Liang Jiaqing 787bc1f9f3 move configure_mykey.py to assets/, fix PROJECT_ROOT 2026-05-08 17:44:26 +08:00
Liang Jiaqing c6d8d87e64 rename: configure.py -> configure_mykey.py 2026-05-08 17:40:10 +08:00
WindCatandguowenjiao54 e1c128e32f 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 1a7d54b82f Add lightweight goal mode reflect workflow 2026-05-08 17:28:16 +08:00
Liang Jiaqing 639da67916 feat: fsapp reconnect loop, tui branch/rewind, simphtml flow-child fix, sop updates 2026-05-08 15:48:16 +08:00
solopole 2fdbb289ed feat(discord): improve channel activation and progress display (#292) 2026-05-08 11:56:55 +08:00
TraderLife 8586310867 feat: add --wechat/--wx launch argument (#288) 2026-05-08 11:53:54 +08:00
Liang Jiaqing 7b51599088 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 c7cef56cb2 fix: invalidate panel cache on fold toggle 2026-05-07 22:23:48 +08:00
Liang Jiaqing cc6b3fbee1 tuiapp: cache rendered panels; llmcore: simplify fast_ask 2026-05-07 22:18:25 +08:00
Liang Jiaqing 379b69e0ec 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 072390e0fc README: remove --demo tips, split install deps for GUI/TUI 2026-05-07 18:19:48 +08:00
Liang Jiaqing 98e2e3f483 tuiapp: improve session nav (ctrl+arrows), CJK-aware sidebar, README restructure 2026-05-07 18:15:08 +08:00
Liang Jiaqing a9450b1f18 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 d4ab909144 feat: add Textual TUI frontend + minor fixes to agentmain/llmcore/stapp 2026-05-07 17:38:58 +08:00
Jiaqing Liang 93490d1634 refactor: rename GeneraticAgent, default bg for task, add fork history support 2026-05-07 15:12:46 +08:00
SONG ZHENRUI 71914044d7 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 0148446fab 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 346d26bdf1 Merge pull request #279 from sontianye/fix/qqapp-reconnect-backoff
fix(qqapp): exponential reconnect backoff
2026-05-07 12:33:51 +08:00
LJQ b1fdd777f7 Merge pull request #283 from draj1e/feature/sophub
add sophub link to readme
2026-05-07 12:33:48 +08:00
draj1e 9ecc68ba59 add sophub 2026-05-07 11:18:08 +08:00
Tianye Song fd7bfcd9d3 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 0807b130e9 refine: worker on_done + 120s window + prompt tweaks 2026-05-06 19:16:29 +08:00
Liang Jiaqing edbc473660 feat: agent BBS server + team worker + timeout bump 2026-05-06 18:55:18 +08:00
LJQ e08d7c7370 Merge pull request #266 from wellsoren/qt-ui-redesign
QT界面持续优化和bug修复
2026-05-06 13:33:36 +08:00
LJQ 04f7158aa7 Merge pull request #274 from yiqi-017/feat/acp-bridge
fix: ACP bridge streaming overlap and truncation
2026-05-06 13:33:07 +08:00
Jiaqing Liang 2d0b8e9648 Improve English UI defaults and task timeout 2026-05-06 13:23:33 +08:00
Liang Jiaqing 6e2ec39052 file_write: support content arg in native mode, strip it in text-emulated mode 2026-05-06 10:30:08 +08:00
yiqi-017andClaude Opus 4.6 a7a1487004 fix: use incremental streaming in ACP bridge to prevent text overlap
Switch to inc_out=True mode so queue items are incremental deltas
instead of cumulative text. The old cumulative approach broke when
agentmain's post-processing (</summary>\n\n insertion) shifted offsets,
causing the bridge's delta calculation to produce overlapping or
truncated content.

Now "next" items are forwarded directly, and "done" is only used as
content when no streaming occurred (error fallback).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-06 03:54:09 +08:00
LJQ f98f6eac39 Merge pull request #268
fix: remove duplicate backtick key in VK_CODE dictionary
2026-05-05 18:44:57 +08:00
LJQ 4299a83cc0 Merge pull request #269
fix: add request timeout and replace assert with proper exception
2026-05-05 18:41:56 +08:00
LJQ 7ed28f1e56 Merge pull request #271 from AspasZhang/docs/update-wechat-qr-group14
docs: update WeChat group QR to group 14, remove old group 13 image
2026-05-05 18:11:25 +08:00
LJQ a0e0cc66d8 Merge pull request #272 from yiqi-017/feat/acp-bridge
feat: add ACP bridge for codeg integration
2026-05-05 18:10:33 +08:00
yiqi-017andClaude Opus 4.6 7deb330c11 docs: add codeg integration section to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-05 15:34:57 +08:00