Commit Graph

468 Commits

Author SHA1 Message Date
pys306
50a7544a55 Update server address to 0.0.0.0 2026-04-27 22:31:07 +09:00
pys306
bf8914856e Update Streamlit address to 192.168.50.101 for external access 2026-04-26 02:29:42 +09:00
Liang Jiaqing
cd0ce4d9b0 fix: summary提取与fold_turns防误切,强化thinking模型summary输出 2026-04-26 00:01:42 +08:00
Liang Jiaqing
69f66997fd fix: fallback to getpass.getuser() when os.getlogin() raises OSError 2026-04-25 22:55:17 +08:00
LJQ
567c7f582b Merge pull request #140 from huangrichao2020/feat/macos-desktop-app
feat: add macOS Desktop App installation script
2026-04-25 22:17:44 +08:00
LJQ
adf393c0a5 Merge pull request #173 from Stark-X/fix/linux-desktop-pet-pyside6
fix: add Linux desktop pet implementation
2026-04-25 22:09:35 +08:00
LJQ
12f23138e0 Merge pull request #164 from kukudelaomao/fix/wecomapp-event-handlers
fix(wecomapp): 修复WebSocket连接和事件处理器问题
2026-04-25 22:04:31 +08:00
LJQ
c19ac2dae6 Merge pull request #160 from YooooEX/telegram-polish
fix(tgapp): polish Telegram MarkdownV2 rendering and startup helpers
2026-04-25 21:59:49 +08:00
LJQ
5805566d88 Fix Telegram startup without a configured proxy
Fix Telegram startup without a configured proxy
2026-04-25 21:51:54 +08:00
LJQ
da91a0643f fix(sandbox): patch Popen + block startfile to prevent window leaks
fix(sandbox): patch Popen + block startfile to prevent window leaks
2026-04-25 21:49:15 +08:00
Liang Jiaqing
5b0d96b1b5 tg: support document upload, disable draft streaming; wx: streaming flush during task; llmcore: safeprint, max_tokens fixes 2026-04-25 21:33:38 +08:00
Jiaqing Liang
10776fed51 Remove responses max output token limit 2026-04-25 14:03:21 +08:00
Jiaqing Liang
afa4586e3d fix: _drop_unsigned_thinking对str content崩溃 + _to_responses_input丢弃thinking-only assistant消息导致tool_call被吞 2026-04-25 13:53:08 +08:00
Auston Li
bd2dd42ba4 Fix Telegram startup when proxy is not configured
Only use a proxy for tgapp when mykeys['proxy'] is explicitly configured, avoiding the dead default local proxy and restoring Telegram polling startup.

Closes #175
2026-04-25 00:54:42 -04:00
Stark-X
0f77470fe0 Merge branch 'lsdefine:main' into fix/linux-desktop-pet-pyside6 2026-04-25 11:20:11 +08:00
MuziIsabel
3b93c6137d fix(sandbox): patch Popen + block startfile to prevent window leaks
subprocess.run was already patched with CREATE_NO_WINDOW, but Popen and
os.startfile were unprotected. Agent code could open visible GUI windows
via subprocess.Popen(['notepad.exe']) or os.startfile().
2026-04-25 10:59:15 +08:00
Stark-X
09cf6306af fix: add Linux desktop pet implementation 2026-04-25 10:58:38 +08:00
Liang Jiaqing
08181be4bf fix: use correct token limit params for OpenAI APIs 2026-04-25 10:54:44 +08:00
Liang Jiaqing
cac3ba4769 feat: reasoning/thinking互通适配 + history窗口扩大 + summary提示强化 2026-04-25 10:33:42 +08:00
郭春飞
936501069c fix(wecomapp): 修复WebSocket连接和事件处理器问题
修复企业微信机器人无法正常连接的问题:

1. 修复WSClient初始化参数传递错误
   - 原代码错误地将参数传递给WSClient构造函数
   - 修正为正确传递host, port, path等参数

2. 修复连接方法调用错误
   - 将connect_async()改为connect()方法
   - AiBotSDK的WSClient使用同步connect方法

3. 修复事件处理器签名不匹配
   - on_connected/on_authenticated: 移除frame参数(这些处理器不需要参数)
   - on_disconnected: 添加reason参数
   - on_error: 添加error参数

修复后验证:
- WebSocket连接成功建立
- 认证过程正常完成
- 心跳机制正常工作
- 日志无错误信息

此修复解决了企业微信机器人启动后无法连接服务器的问题。
2026-04-25 01:18:28 +08:00
YooooEX
8e159a9773 feat(tgapp): add support for __ bold and ~~ strikethrough styles 2026-04-24 20:11:40 +08:00
YooooEX
0c5d3c8635 fix(tgapp): align startup with common helpers and render file marker basenames 2026-04-24 20:11:40 +08:00
Liang Jiaqing
114dfdb211 fix: wechatapp单例锁端口19528→19531 避免与qqapp/wecomapp冲突 2026-04-24 19:58:27 +08:00
LJQ
9047e7fe39 fix(cli): 修复中文退格显示残影 (#157)
fix(cli): 修复中文退格显示残影
2026-04-24 18:52:48 +08:00
Huang richao
446d7bf549 Merge remote-tracking branch 'origin/main' into feat/macos-desktop-app 2026-04-24 17:53:18 +08:00
Huang richao
b34965b936 fix: narrow macOS app installer per review 2026-04-24 17:52:47 +08:00
Liang Jiaqing
ee899d4dd5 fix(tgapp): remove hardcoded proxy default, use mykey.py config instead
The proxy was hardcoded to http://127.0.0.1:2082 which breaks for users
without a local proxy (e.g. international users with direct access).
Now defaults to None; users who need a proxy can set it in mykey.py.
2026-04-24 17:30:48 +08:00
Liang Jiaqing
888ce2f9bb fix(pyproject): correct dingtalk-stream version constraint (>=0.20, was >=1.0 which does not exist on PyPI) 2026-04-24 17:24:09 +08:00
VonEquinox
f74cc39c33 fix(cli): 修复中文退格显示残影 2026-04-24 17:21:04 +08:00
LJQ
e2a57e7a32 Merge pull request #153 from ViviqwerAsd/feat/fsapp-add-llm-command
feat(fsapp): add /llm command support for model switching
2026-04-24 16:01:14 +08:00
Xinyi Wang
a6644d580c feat(fsapp): add /llm command support for model switching
- Add /llm command to list available models
- Add /llm [n] command to switch to specific model
- Improve /status command to show current LLM info with emoji indicators
- Update /help text to include /llm command
- Unify command parsing logic using parts and op variables

This brings fsapp.py (Feishu/Lark) frontend in line with other chat frontends (QQ, DingTalk, WeCom) that already support all slash commands.
2026-04-24 04:20:16 -03:00
LJQ
883366ce55 Merge pull request #148 from AspasZhang/docs/update-wechat-qr-codes-v3
docs: update WeChat community group QR codes (remove 6&10, add 11)
2026-04-24 12:32:00 +08:00
AspasZhang
be2386661d docs: update WeChat community group QR codes (remove 6&10, add 11) 2026-04-24 11:08:20 +08:00
Liang Jiaqing
12c2fe1f79 add uv install guide & pyproject.toml; unify error prefix to !!!Error: 2026-04-24 10:00:23 +08:00
Liang Jiaqing
f334994ab6 fix: thinking非空时不再误判为空响应触发重试 2026-04-24 10:00:23 +08:00
LJQ
6974853695 Merge PR #144: style: 重构并优化 qtapp 桌面窗口样式与交互功能
style: 重构并优化 qtapp 桌面窗口样式与交互功能
2026-04-24 09:26:08 +08:00
YooooEX
f516c52a72 feat(tgapp): stream MarkdownV2 replies with draft fallback and file segments (#135) 2026-04-24 09:01:49 +08:00
wellsoren
8065c0d759 style: 重构并优化 qtapp 桌面窗口样式与交互功能 2026-04-24 01:50:09 +08:00
Liang Jiaqing
fd46d61543 fix: SSE tool_call streaming compat for non-standard index/id, MockToolCall handle list args & None fallback; sop: CDP bringToFront note 2026-04-23 23:44:50 +08:00
Huang richao
7255515607 feat: add macOS Desktop App installation script
- Add scripts/install-macos-app.sh for one-click macOS app installation
- Uses bundled assets/images/logo.jpg as app icon
- AppleScript prompts for project folder on first run
- Updates README with macOS Desktop App installation option
- Supports both interactive and --auto non-interactive modes

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-23 23:19:24 +08:00
Liang Jiaqing
8a6a5715ff Fix responses call_id mapping for converted tool history 2026-04-23 20:53:44 +08:00
Liang Jiaqing
df2a7749b4 refactor: unify system prompt injection into _openai_stream; disable gpt done_hooks 2026-04-23 20:07:20 +08:00
Jiaqing Liang
6091bf0c6f fix: add requests to pip install & tune max_turns/prompt 2026-04-23 17:21:22 +08:00
weijia
fd4c833511 feat(stapp): restore chat history bubbles after /continue N (#138)
When the user runs '/continue N' in stapp, the agent's in-memory context
is restored, but the UI previously showed only a single ' restored' line
— all prior chat bubbles were missing.

This change parses the target session log and reconstructs the
user/assistant message pairs into st.session_state.messages, so reopening
a session feels like the conversation was never interrupted.

* continue_cmd.py: add extract_ui_messages(path)
  - parses model_responses log into [{role, content}, ...]
  - groups multi-turn LLM calls (prompts whose text starts with the
    '### [WORKING MEMORY]' header) into a single assistant bubble,
    inserting the existing '**LLM Running (Turn N) ...**' marker so
    fold_turns() renders them as collapsible segments.
  - two small helpers (_user_text / _assistant_text) keep parsing local.

* stapp.py: in the /continue branch, resolve the target log path BEFORE
  calling handle_frontend_command (which snapshots the current log and
  would otherwise shift list_sessions indices), then replace
  session_state.messages with the reconstructed history on success.
  Falls back to the previous behavior for bare /continue or failure.

Co-authored-by: wjl2023 <wjl2023@users.noreply.github.com>
2026-04-23 16:36:41 +08:00
Liang Jiaqing
1678114f1f fix: split concatenated JSON tool args in _parse_openai_sse to prevent _raw death spiral 2026-04-23 11:53:35 +08:00
Liang Jiaqing
97573e6f46 fix: agent-level retry for intermittent SSL errors during streaming
- llmcore: prefix all error outputs with !!! marker
- ga: detect !!!Error: [SSL: in tail of content as incomplete response and retry
- add len(content)>100 guard to avoid false positives on short responses
2026-04-23 11:24:54 +08:00
Liang Jiaqing
17971f642a fix: guard all id/call_id fields with or "" to prevent None leaking into payload 2026-04-23 11:00:04 +08:00
Liang Jiaqing
a53b7a8593 refine L0 sync rule: default L3, bracket trigger words only for non-intuitive scenarios 2026-04-22 19:49:27 +08:00
Liang Jiaqing
08c583d1c6 fix: filter empty text blocks in message conversion & add prompt continuation line 2026-04-22 19:37:06 +08:00
LJQ
928633e4b2 Merge pull request #134 from shenhao-stu/main
template: upload mykey_template_en.py
2026-04-22 19:11:43 +08:00