Commit Graph
490 Commits
Author SHA1 Message Date
Liang Jiaqing 7070880b4e refactor: extract _stream_with_retry, MixinSession failover on stream abort 2026-04-28 17:54:37 +08:00
YooooEX baf0f27793 feat(tg): stream Telegram responses by turn with summaries (#208) 2026-04-28 12:01:07 +08:00
Liang Jiaqing f421913703 autonomous sop: 收尾改为4步,完成即停不贪多 2026-04-28 11:45:12 +08:00
Liang Jiaqing e58934c744 fix: /resume normalize literal \n to real newlines before regex matching 2026-04-28 09:38:04 +08:00
LJQ 776f4e267d Merge pull request #196 from YooooEX/telegram-polish
feat(tgapp): add ask_user inline candidate menu
2026-04-27 18:51:29 +08:00
LJQ 0ed89ebdeb Merge pull request #198 from voidborne-d/fix/stapp-autonomous-enabled-fragment-rerun
fix(stapp): defend autonomous_enabled init against fragment-only reruns
2026-04-27 18:20:24 +08:00
Liang Jiaqing 78a9414e05 feat: add SSL verify option and enable TG draft 2026-04-27 18:15:57 +08:00
voidborne-d b8ecdc7922 fix(stapp): defend autonomous_enabled init against fragment-only reruns
closes #197
2026-04-27 17:51:32 +08:00
Liang Jiaqing 3c9496ffa2 refactor: 提取script_dir为模块级变量,清理procmem_sop涉敏感代码 2026-04-27 17:46:31 +08:00
YooooEX 7ef7283fad feat(tgapp): add ask_user inline candidate menu 2026-04-27 16:02:24 +08:00
Jiaqing Liang b83cf28e29 feat: ensure thinking blocks for deepseek models in history 2026-04-27 15:11:09 +08:00
Jiaqing Liang 16c22432e3 refactor: _openai_stream takes sess+messages; add service_tier support 2026-04-27 15:11:08 +08:00
UnsongK 11442847b0 feat(wecom): upgrade wecom bot to full media + progress streaming (#184)
* feat(wecom): upgrade wecom bot from text-only to full media + progress streaming

- Add image/file message handling with encrypted media download
- Add media upload & send (auto image/file type detection, fallback to text on failure)
- Add real-time per-turn progress streaming via _turn_end_hooks
- Add send_done with automatic file attachment extraction from agent replies
- Add terminal CLI: help/status/stop/exit for runtime control
- Add run stats tracking (received/completed counts)
- Refactor message parsing into shared _accept() method (dedup + auth + register)
- Harden None-safety on body.get(from) and dedup ID fallback
- Move state from module globals to instance attributes

* refactor(wecomapp): parameterize agent & client, remove dead code

- Remove module-level agent creation; inject via constructor
- Make WSClient injectable in start() for testability
- Clean up stale comments and version tag
- Add inline doc for split_limit
2026-04-27 14:13:28 +08:00
Junghwan 15112bccf1 fix(schema): align file_write mode default with implementation
assets/tools_schema.json declares file_write.mode default as 'append',
but assets/tools_schema_cn.json and ga.py both default to 'overwrite':

    # ga.py:369
    mode = args.get("mode", "overwrite")

Since the i18n switch in 7cadbd7 loads the English schema for en_*
locales, an LLM that trusts the schema default and omits the mode
parameter will silently overwrite instead of append. Align the English
schema with the Chinese schema and the Python handler so all three
agree on 'overwrite'.
2026-04-27 10:06:15 +08:00
LJQ 8e7cb8f559 Merge pull request #185 from AspasZhang/docs/update-wechat-group12-qr
docs: 更新微信群二维码,移除群8,新增群12
2026-04-27 09:34:21 +08:00
weijia db6bf00d0a fix(fsapp): show truncated tail instead of silent "..." fallback (#186)
When model output contains only stripped tags, surface warning + last 300 chars instead of silent "...".
2026-04-26 23:16:43 +08:00
Liang Jiaqing df77311516 chore: remove unused test files 2026-04-26 22:58:43 +08:00
AspasZhang fd58b85fe4 docs: 更新微信群二维码,移除群8,新增群12 2026-04-26 22:55:02 +08:00
Liang Jiaqing 1d0b86d110 fix: remove inherited HTTPS_PROXY to prevent WeChat long-poll SSL EOF 2026-04-26 22:09:55 +08:00
Liang Jiaqing f11a056d17 handle file paste in webview 2026-04-26 20:51:49 +08:00
Liang Jiaqing d949a59ebb file_read: add PARTIAL hint when count < total lines 2026-04-26 20:11:00 +08:00
Liang Jiaqing adfa805fe3 improve ask_user tool display and memory SOP prompt 2026-04-26 18:24:21 +08:00
Liang Jiaqing 13850b85a8 hotreload mykeys, fix SSE residual block, unify context_win, cleanup 2026-04-26 17:46:24 +08:00
Liang Jiaqing 6f1f02eddb wechatapp: add image thumbnail pipeline, UA coverage, refactor turn-based streaming 2026-04-26 17:24:32 +08: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