-
bd94454b91
feat(think): adjust thinking method for dashscope and modelark

PlayDustinDBandXubin Ren
2026-04-06 15:15:10 +08:00
-
c0e161de23
docs: add attachment example to email config JSON

Xubin RenandXubin Ren
2026-04-06 07:07:27 +00:00
-
b98a0aabfc
style: fix stdlib import ordering in email.py

Xubin RenandXubin Ren
2026-04-06 06:45:40 +00:00
-
0c4b1a4a0e
docs(email): document attachment extraction options in README

Ben LenartsandXubin Ren
2026-04-05 08:06:35 +02:00
-
d0527a8cf4
feat(email): add attachment extraction support

Ben LenartsandXubin Ren
2026-04-05 08:06:28 +02:00
-
9174a85b4e
Merge PR #2520: fix(telegram): split oversized final streamed replies

Xubin RenandGitHub
2026-04-06 14:41:00 +08:00
-
-
bdec2637ae
test: add regression test for oversized stream-end splitting
Xubin Ren
2026-04-06 06:39:23 +00:00
-
09ec9991e1
Merge remote-tracking branch 'origin/main' into pr-2520
Xubin Ren
2026-04-06 06:37:54 +00:00
-
-
-
-
b92d54140d
Merge PR #2449: fix: cron reminder notifications being suppressed

Xubin RenandGitHub
2026-04-06 14:33:20 +08:00
-
-
c9d4b7b905
Merge remote-tracking branch 'origin/main' into pr-2449
Xubin Ren
2026-04-06 06:30:11 +00:00
-
-
-
-
219c9c6137
Merge PR #2531: fix(whatsapp): detect phone vs LID by JID suffix, not field name

Xubin RenandGitHub
2026-04-06 14:21:06 +08:00
-
-
897d5a7e58
test: add regression tests for JID suffix classification and LID cache
Xubin Ren
2026-04-06 06:19:06 +00:00
-
722ffe0654
Merge remote-tracking branch 'origin/main' into pr-2531
Xubin Ren
2026-04-06 06:17:56 +00:00
-
-
-
-
4c6a4321e0
Merge PR #2530: feat: unify voice message transcription via OpenAI/Groq Whisper

Xubin RenandGitHub
2026-04-06 14:16:09 +08:00
-
-
019eaff225
simplify: remove transcription fallback, respect explicit config
Xubin Ren
2026-04-06 06:13:43 +00:00
-
3bf1fa5225
feat: auto-fallback to other transcription provider on failure
Xubin Ren
2026-04-06 06:10:08 +00:00
-
35dde8a30e
refactor: unify voice transcription config across all channels
Xubin Ren
2026-04-06 06:07:30 +00:00
-
7b7a3e5748
fix: media_paths NameError, import order, add error logging and tests
Xubin Ren
2026-04-06 06:01:14 +00:00
-
413740f585
Merge remote-tracking branch 'origin/main' into pr-2530
Xubin Ren
2026-04-06 05:59:31 +00:00
-
-
-
-
71061a0c82
fix: return on login failure, use loguru format strings, fix import order

Xubin RenandXubin Ren
2026-04-06 05:56:25 +00:00
-
c40801c8f9
fix(matrix): fix e2ee authentication

Lim Ding WenandXubin Ren
2026-04-01 01:49:03 +08:00
-
f82b5a1b02
fix: graceful fallback when langfuse is not installed

Xubin RenandXubin Ren
2026-04-06 05:51:50 +00:00
-
4e06e12ab6
feat(provider): 添加 Langfuse 观测平台的集成支持

lang07123andXubin Ren
2026-03-31 11:51:57 +08:00
-
c88d97c652
fix: fall back to heuristic when bot open_id fetch fails

Xubin RenandXubin Ren
2026-04-06 05:49:00 +00:00
-
1b368a33dc
fix(feishu): match bot's own open_id in _is_bot_mentioned to prevent cross-bot false positives

有泉andXubin Ren
2026-04-01 23:23:23 +08:00
-
424b9fc262
refactor: extract _kill_process helper to DRY timeout/cancel cleanup

Xubin RenandXubin Ren
2026-04-06 05:45:46 +00:00
-
0e617c32cd
fix(shell): kill subprocess on CancelledError to prevent orphan processes

Lingao MengandXubin Ren
2026-04-03 10:20:45 +08:00
-
202938ae73
feat: support ${VAR} env var interpolation in config secrets

Ben LenartsandXubin Ren
2026-04-05 23:55:50 +02:00
-
7ffd93f48d
refactor: move search_usage to utils/searchusage, remove brave stub

Xubin RenandXubin Ren
2026-04-06 05:34:44 +00:00
-
bc0ff7f214
feat(status): add web search provider usage to /status command

whsandXubin Ren
2026-04-06 07:00:02 +08:00
-
b2e751f21b
docs: another two places for renaming assitant to agent

qixinboandXubin Ren
2026-04-06 10:15:44 +08:00
-
28e0a76b80
fix: path_append must not clobber login shell PATH

Xubin RenandXubin Ren
2026-04-06 05:19:06 +00:00
-
be6063a142
security: prevent exec tool from leaking process env vars to LLM

Ben LenartsandXubin Ren
2026-04-06 00:21:07 +02:00
-
84b1c6a0d7
docs: update nanobot features
Xubin Ren
2026-04-05 20:07:11 +00:00
-
3c28d1e651
docs: rename Assistant to Agent across README
Xubin Ren
2026-04-05 20:06:38 +00:00
-
ee71d8a31f
Merge PR #121: fix typos in readme

Xubin RenandGitHub
2026-04-06 04:01:25 +08:00
-
-
861072519a
chore: remove codespell CI workflow and config, keep typo fixes only
Xubin Ren
2026-04-05 19:59:49 +00:00
-
70bdf4a9f5
Merge origin/main into enh-codespell (resolve pyproject.toml conflict)
Xubin Ren
2026-04-05 19:57:50 +00:00
-
-
-
-
5e01a910bf
Merge PR #1940: feat: sandbox exec calls with bwrap and run container as non-root

Xubin RenandGitHub
2026-04-06 03:33:53 +08:00
-
-
9823130432
docs: clarify bwrap sandbox is Linux-only
Xubin Ren
2026-04-05 19:28:46 +00:00
-
9f96be6e9b
fix(sandbox): mount media directory read-only inside bwrap sandbox
Xubin Ren
2026-04-05 19:08:38 +00:00
-
cef0f3f988
refactor: replace podman-seccomp.json with minimal cap_add, harden bwrap, add sandbox tests
Xubin Ren
2026-04-05 19:03:06 +00:00
-
a8707ca8f6
Merge origin/main into feat/best_skill_and_hook (resolve 4 conflicts)
Xubin Ren
2026-04-05 18:53:17 +00:00
-
-
-
-
bcb8352235
refactor(agent): streamline hook method calls and enhance error logging

Jack LuandXubin Ren
2026-04-05 01:08:30 +08:00
-
bb9da29eff
test: add regression tests for private DM thread session key derivation

Xubin RenandXubin Ren
2026-04-05 18:41:28 +00:00
-
0d6bc7fc11
fix(telegram): support threads in DMs

Ilya SemenovandXubin Ren
2026-04-04 19:08:27 +07:00
-
4b4d8b506d
test: add regression test for DuckDuckGo asyncio.wait_for timeout guard

Xubin RenandXubin Ren
2026-04-05 18:18:59 +00:00
-
6bd2950b99
Fix: add asyncio timeout guard for DuckDuckGo search


2026-04-05 09:12:49 +08:00
-
90caf5ce51
test: remove duplicate test_jina_422_falls_back_to_duckduckgo

Xubin RenandXubin Ren
2026-04-05 17:51:17 +00:00
-
f422de8084
fix(web-search): fix Jina search format and fallback

KimGLeeandXubin Ren
2026-04-05 11:50:16 +08:00
-
acf652358c
feat(dream): non-blocking /dream with progress feedback
Xubin Ren
2026-04-05 15:48:00 +00:00
-
401d1f57fa
fix(dream): allow LLM to retry on tool errors instead of failing immediately

chengyongruandXubin Ren
2026-04-05 22:04:12 +08:00
-
5479a44691
fix: stop leaking reasoning_content to stream output

chengyongruandXubin Ren
2026-04-05 17:16:54 +08:00
-
2cecaf0d5d
fix(feishu): support video (media) download by converting type to 'file'

chengyongruandXubin Ren
2026-04-04 01:36:44 +08:00
-
3003cb8465
test(feishu): add unit tests for reaction add/remove and auto-cleanup

chengyongruandXubin Ren
2026-04-03 22:54:27 +08:00
-
bb70b6158c
feat: auto-remove reaction after message processing complete

Jiajun XieandXubin Ren
2026-04-03 21:07:41 +08:00
-
7e1ae3eab4
feat(provider): add Qianfan provider support (#2699)

JiajunandXubin Ren
2026-04-02 22:16:25 +08:00
-
fce1e333b9
feat(telegram): render tool hints as expandable blockquotes (#2752)

FloandXubin Ren
2026-04-03 13:27:53 +03:00
-
f86f226c17
fix(cli): prevent spinner ANSI escape codes from being printed verbatim

Jiajun XieandXubin Ren
2026-04-01 08:33:47 +08:00
-
04a41e31ac
Merge PR #2754: feat(agent): add built-in grep and glob search tools

Xubin RenandGitHub
2026-04-04 23:30:18 +08:00
-
-
33bef8d508
Merge remote-tracking branch 'origin/main' into feat/search-tools
Xubin Ren
2026-04-04 14:37:59 +00:00
-
-
-
-
f4983329c6
fix(docker): preserve both github ssh rewrite rules for npm install

Xubin RenandXubin Ren
2026-04-04 14:23:51 +00:00
-
c9d6491814
fix(docker): rewrite github ssh git deps to https for npm build

Wenzhang-ChenandXubin Ren
2026-03-08 12:44:56 +08:00
-
1c1eee523d
fix: secure whatsapp bridge with automatic local auth token
Xubin Ren
2026-04-04 14:16:46 +00:00
-
cf56d15bdf
Merge PR #2722: perf(cache): stabilize tool prefix caching under MCP tool churn

Xubin RenandGitHub
2026-04-04 21:57:15 +08:00
-
-
77a88446fb
Merge remote-tracking branch 'origin/main' into pr-2722
Xubin Ren
2026-04-04 13:51:59 +00:00
-
-
-
-
17d9d74ccc
fix(provider): omit temperature for GPT-5 models

Xubin RenandXubin Ren
2026-04-04 12:15:05 +00:00
-
7dc8c9409c
feat(providers): add GPT-5 model family support for OpenAI provider


2026-04-04 07:05:46 +00:00
-
11c84f21a6
test(session): preserve reasoning_content in session history

Xubin RenandXubin Ren
2026-04-04 12:02:42 +00:00
-
519911456a
test(provider): fix incorrect assertion in reasoning_content sanitize test

Lingao MengandXubin Ren
2026-04-04 12:17:17 +08:00
-
3f8eafc89a
fix(provider): restore reasoning_content and extra_content in message sanitization

Lingao MengandXubin Ren
2026-04-04 11:52:22 +08:00
-
05fe7d4fb1
fix(tools): isolate decorated tool schemas and add regression tests

Xubin RenandXubin Ren
2026-04-04 11:53:42 +00:00
-
e7798a28ee
refactor(tools): streamline Tool class and add JSON Schema for parameters

Jack LuandXubin Ren
2026-04-04 14:22:42 +08:00
-
9ef5b1e145
fix: reset ssrf whitelist on config reload and document config refresh

Xubin RenandXubin Ren
2026-04-04 11:35:09 +00:00
-
5f08d61d8f
fix(security): add ssrfWhitelist config to unblock Tailscale/CGNAT (#2669)

04cbandXubin Ren
2026-04-01 21:54:35 +08:00
-
193eccdac7
Merge PR #2779: feat: integrate Jinja2 templating for agent responses and memory

Xubin RenandGitHub
2026-04-04 19:17:56 +08:00
-
-
c3b4ebae53
refactor(agent): move internal prompts into packaged templates
Xubin Ren
2026-04-04 11:09:37 +00:00
-
-
-
-
7b852506ff
fix(telegram): register Dream menu commands with Telegram-safe aliases
Xubin Ren
2026-04-04 10:31:26 +00:00
-
549e5ea8e2
fix(telegram): shorten polling network errors
Xubin Ren
2026-04-04 10:26:58 +00:00
-
b9ee236ca1
Merge PR #2717: feat(memory): two-stage memory system with Dream consolidation

Xubin RenandGitHub
2026-04-04 18:18:43 +08:00
-
-
04419326ad
fix(memory): migrate legacy HISTORY.md even when history.jsonl is empty
Xubin Ren
2026-04-04 10:11:53 +00:00
-
0a3a60a7a4
refactor(memory): simplify Dream config naming and rename gitstore module
Xubin Ren
2026-04-04 10:01:45 +00:00
-
a166fe8fc2
docs: clarify memory design and source-vs-release features
Xubin Ren
2026-04-04 09:34:37 +00:00
-
408a61b0e1
feat(memory): protect Dream cron and polish migration UX
Xubin Ren
2026-04-04 09:01:42 +00:00
-
6e896249c8
feat(memory): harden legacy history migration and Dream UX
Xubin Ren
2026-04-04 08:41:46 +00:00
-
d436a1d678
feat: integrate Jinja2 templating for agent responses and memory consolidation
Jack Lu
2026-04-04 00:56:22 +08:00
-
-
-
31d3061a0a
fix(retry): classify 429 as WAIT vs STOP using semantic signals
pikaxinge
2026-04-04 05:23:21 +00:00
-
cabf093915
Merge remote-tracking branch 'origin/main' into fix/structured-retry-classification-main
pikaxinge
2026-04-04 05:04:43 +00:00
-
-
-
-
7e0c196797
fix(memory): repair Dream follow-up paths and move GitStore to utils
Xubin Ren
2026-04-04 04:49:42 +00:00
-
30ea048f19
Merge remote-tracking branch 'origin/main' into pr-2717-review
Xubin Ren
2026-04-04 04:42:52 +00:00
-
-
-
-
7229a81594
fix(providers): disable Azure SDK retries by default

Xubin RenandXubin Ren
2026-04-04 04:33:20 +00:00
-
dbdf7e5955
fix: prevent retry amplification by disabling SDK retries

pikaxingeandXubin Ren
2026-04-02 17:29:08 +00:00
-
6fbcecc880
Merge PR #2761: fix: Retry-After was ignored, causing premature retries

Xubin RenandGitHub
2026-04-04 03:10:14 +08:00
-
-
91a9b7db24
Merge origin/main into fix/retry-after-robust
Xubin Ren
2026-04-03 19:07:30 +00:00
-
-
-
-
9840270f7f
test(tools): cover media dir access under workspace restriction

Xubin RenandXubin Ren
2026-04-03 19:00:53 +00:00
-
84c4ba7609
refactor: use unified get_media_dir() to get media path

ShinieseandXubin Ren
2026-04-02 15:30:42 +08:00
-
624f607872
fix(filesystem): add media directory exemption to filesystem tool path checks

ShinieseandXubin Ren
2026-04-01 16:19:53 +08:00
-
bc879386fe
fix(shell): allow media directory access when restrict_to_workspace is enabled

ShinieseandXubin Ren
2026-04-01 15:45:02 +08:00
-
ca3b918cf0
docs: clarify retry behavior and web search defaults
Xubin Ren
2026-04-03 18:57:44 +00:00
-
b084122f9e
Merge PR #2643: feat: unify web tool config under WebToolsConfig

Xubin RenandGitHub
2026-04-04 02:51:40 +08:00
-