-
b16865722b
fix(tool-hint): fold paths in exec commands and deduplicate by formatted string

chengyongruandxzq.xu
2026-04-08 11:21:29 +08:00
-
af6c75141f
feat(): telegram support stream edit interval
stutiredboy
2026-04-08 09:27:47 +08:00
-
a068df5a79
feat(api): support file uploads via JSON base64 and multipart/form-data
dengjingren
2026-04-08 15:28:36 +08:00
-
-
-
e21ba5f667
feat(telegram): add location/geo support
kronk307
2026-04-07 17:10:27 +00:00
-
c7d10de253
feat(soul): restore friendly and curious tone to SOUL.md
Xubin Ren
2026-04-07 18:20:56 +00:00
-
edb821e10d
feat(agent): prompt behavior directives, tool descriptions, and loop robustness
Xubin Ren
2026-04-07 18:14:44 +00:00
-
ef0284a4e0
fix(exec): add Windows support for shell command execution
Xubin Ren
2026-04-07 08:24:11 +00:00
-
63acfc4f2f
test: fix trailing-space mismatch and add regression tests for normal models
Xubin Ren
2026-04-07 16:58:47 +00:00
-
12ff8b22d6
fix(provider): extend StepFun reasoning fallback to all code paths
moranfong
2026-04-07 23:38:04 +08:00
-
9e7c07ac89
test(provider): add StepFun reasoning field fallback tests
moranfong
2026-04-07 23:30:08 +08:00
-
53107c6683
fix(provider): support StepFun Plan API reasoning field fallback
moranfong
2026-04-07 23:12:10 +08:00
-
c736cecc28
chore(gitignore): remove bogus extensions and relocate nano.*.save
Xubin Ren
2026-04-07 16:40:51 +00:00
-
873bf5e692
chore: update .gitignore to include additional project-specific, build, test, and environment files
Jack Lu
2026-04-07 00:04:57 +08:00
-
8871a57b4c
fix(mcp): forward prompt arg descriptions & standardise error format
Xubin Ren
2026-04-07 16:25:20 +00:00
-
7cc527cf65
feat(mcp): expose MCP resources and prompts as read-only tools
Tim O'Brien
2026-04-06 16:10:18 +00:00
-
ce7986e492
fix(memory): add timestamp and cap to recent history injection
Xubin Ren
2026-04-07 16:00:41 +00:00
-
05d8062c70
test: add regression tests for unprocessed history injection in system prompt
Xubin Ren
2026-04-07 15:31:39 +00:00
-
31c154a7b8
fix(memory): prevent potential loss of compressed session history
Lingao Meng
2026-04-07 15:10:31 +08:00
-
acafcf3cb0
docs: fix inaccurate claim about supports_streaming and dict config
Xubin Ren
2026-04-07 15:00:40 +00:00
-
4648cb9e87
docs: use model_dump(by_alias=True) for default_config in plugin guide
invictus
2026-04-07 00:14:24 +08:00
-
83ad013be5
docs: fix channel plugin guide — require Pydantic config model
invictus
2026-04-06 21:18:44 +08:00
-
1e8a6663ca
test(anthropic): add regression tests for thinking modes incl. adaptive
Xubin Ren
2026-04-07 14:52:44 +00:00
-
1c2f4aba17
feat(anthropic): add adaptive thinking mode
Balor.LC3
2026-04-06 20:54:39 -07:00
-
423aab09dd
test(cron): add regression test for running service picking up external adds

Xubin Renandchengyongru
2026-04-07 14:47:34 +00:00
-
a982d9f9be
add reload jobs test
xinnan.hou
2026-04-07 17:44:21 +08:00
-
fd2bb3bb7d
fix comment
xinnan.hou
2026-04-07 17:27:07 +08:00
-
4e914d0e2a
fix not reload job config
xinnan.hou
2026-04-07 16:58:21 +08:00
-
b4f985f3dc
feat(memory):dream enhancement (#2887)
chengyongru
2026-04-07 15:41:54 +08:00
-
82dec12f66
refactor: extract tool hint formatting to utils/tool_hints.py
Xubin Ren
2026-04-07 07:14:12 +00:00
-
3e3a7654f8
fix(agent): address code review findings for tool hint enhancement
chengyongru
2026-04-07 14:18:53 +08:00
-
b1d3c00deb
test(feishu): add compatibility tests for new tool hint format
chengyongru
2026-04-07 11:34:54 +08:00
-
238a9303d0
test: update tool_hint assertion to match new format
chengyongru
2026-04-07 11:33:01 +08:00
-
8ca9960077
feat(agent): rewrite _tool_hint with registry, path abbreviation, and call folding
chengyongru
2026-04-07 11:32:28 +08:00
-
f452af6c62
feat(utils): add abbreviate_path for smart path/URL truncation
chengyongru
2026-04-07 11:31:00 +08:00
-
02597c3ec9
fix(runner): silent retry on empty response before finalization
Xubin Ren
2026-04-07 06:58:54 +00:00
-
0355f20919
test: add regression tests for _resolve_mentions
Xubin Ren
2026-04-07 06:02:18 +00:00
-
b3294f79aa
fix(feishu): ensure access token is initialized before fetching bot open_id
wudongxue
2026-03-31 12:52:32 +08:00
-
0291d1f716
feat: resolve mentions data
wudongxue
2026-03-30 18:11:01 +08:00
-
075bdd5c3c
refactor: move SafeFileHistory to module level + add regression tests
Xubin Ren
2026-04-07 05:56:52 +00:00
-
64bd7234b3
fix(cli): sanitize surrogate characters in prompt history to prevent UnicodeEncodeError
bahtya
2026-04-07 11:26:18 +08:00
-
67e6f8cc7a
fix(docker): strip Windows CRLF from entrypoint.sh
flobo3
2026-04-07 07:37:01 +03:00
-
5ee96721f7
ci: add ruff lint check for unused imports and variables
Jiajun Xie
2026-04-06 19:35:06 +08:00
-
f4904c4bdf
fix(cron): add optional name parameter to separate job label from message (#2680)
04cb
2026-04-06 22:47:48 +08:00
-
44c7992095
fix(filesystem): correct write success message from bytes to characters
Leo fu
2026-04-06 12:12:34 -04:00
-
cefeddab8e
fix(matrix): correct e2eeEnabled camelCase alias mapping
bahtya
2026-04-07 11:24:29 +08:00
-
bf459c7887
fix(docker): fix volume mount path and add permission error guidance
Xubin Ren
2026-04-06 13:15:40 +00:00
-
4dac0a8930
docs: update nanobot docs badge
Xubin Ren
2026-04-06 11:55:47 +00:00
-
a30e84bfd1
docs: update v0.1.5 release news
Xubin Ren
2026-04-06 11:46:16 +00:00
-
6269876bc7
docs: update v0.1.5 release news
Xubin Ren
2026-04-06 11:45:37 +00:00
-
bc2253c83f
docs: update v0.1.5 release news
Xubin Ren
2026-04-06 11:45:08 +00:00
-
b719da7400
fix(feishu): use RawRequest for bot info API
Xubin Ren
2026-04-06 11:39:23 +00:00
-
79234d237e
chore: bump version to 0.1.5
Xubin Ren
2026-04-06 11:26:07 +00:00
-
1243c08745
docs: update news section
Xubin Ren
2026-04-06 11:22:20 +00:00
-
dad9c07843
fix(tests): update Tavily usage tests to match actual API response shape
Xubin Ren
2026-04-06 11:17:00 +00:00
-
e528e6dd96
fix(status): parse actual Tavily API response structure
yanghan-cyber
2026-04-06 18:56:28 +08:00
-
84f0571e0d
fix(status): use correct AgentLoop attribute for web search config
yanghan-cyber
2026-04-06 18:47:38 +08:00
-
f65f788ab1
Merge PR #2762: fix: make app-layer retry classification structured
Xubin Ren
2026-04-06 16:47:49 +08:00
-
-
35f53a721d
refactor: consolidate _parse_retry_after_headers into base class
Xubin Ren
2026-04-06 08:44:52 +00:00
-
aeba9a23e6
refactor: remove dead _error_response wrapper in Anthropic provider
Xubin Ren
2026-04-06 08:35:02 +00:00
-
b575aed20e
Merge origin/main into fix/structured-retry-classification-main
Xubin Ren
2026-04-06 08:28:20 +00:00
-
-
-
-
d108879b48
security: bind api port to localhost by default
Xubin Ren
2026-04-06 08:16:13 +00:00
-
634261f07a
fix: correct api-workspace path for non-root container user
Xubin Ren
2026-04-06 08:14:26 +00:00
-
d99331ad31
feat(docker): add nanobot-api service with isolated workspace

dengjingrenandClaude Opus 4.6
2026-04-06 16:06:32 +08:00
-
ebf29d87ae
fix: include byteplus providers, guard None reasoning_effort, merge extra_body
Xubin Ren
2026-04-06 08:11:14 +00:00
-
bd94454b91
feat(think): adjust thinking method for dashscope and modelark
PlayDustinDB
2026-04-06 15:15:10 +08:00
-
c0e161de23
docs: add attachment example to email config JSON
Xubin Ren
2026-04-06 07:07:27 +00:00
-
b98a0aabfc
style: fix stdlib import ordering in email.py
Xubin Ren
2026-04-06 06:45:40 +00:00
-
0c4b1a4a0e
docs(email): document attachment extraction options in README
Ben Lenarts
2026-04-05 08:06:35 +02:00
-
d0527a8cf4
feat(email): add attachment extraction support
Ben Lenarts
2026-04-05 08:06:28 +02:00
-
9174a85b4e
Merge PR #2520: fix(telegram): split oversized final streamed replies
Xubin Ren
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 Ren
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 Ren
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 Ren
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 Ren
2026-04-06 05:56:25 +00:00
-
c40801c8f9
fix(matrix): fix e2ee authentication
Lim Ding Wen
2026-04-01 01:49:03 +08:00
-
f82b5a1b02
fix: graceful fallback when langfuse is not installed
Xubin Ren
2026-04-06 05:51:50 +00:00
-
4e06e12ab6
feat(provider): 添加 Langfuse 观测平台的集成支持
lang07123
2026-03-31 11:51:57 +08:00
-
c88d97c652
fix: fall back to heuristic when bot open_id fetch fails
Xubin 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
有泉
2026-04-01 23:23:23 +08:00
-
424b9fc262
refactor: extract _kill_process helper to DRY timeout/cancel cleanup
Xubin Ren
2026-04-06 05:45:46 +00:00
-
0e617c32cd
fix(shell): kill subprocess on CancelledError to prevent orphan processes
Lingao Meng
2026-04-03 10:20:45 +08:00
-
202938ae73
feat: support ${VAR} env var interpolation in config secrets
Ben Lenarts
2026-04-05 23:55:50 +02:00
-
7ffd93f48d
refactor: move search_usage to utils/searchusage, remove brave stub
Xubin Ren
2026-04-06 05:34:44 +00:00
-
bc0ff7f214
feat(status): add web search provider usage to /status command
whs
2026-04-06 07:00:02 +08:00
-
b2e751f21b
docs: another two places for renaming assitant to agent
qixinbo
2026-04-06 10:15:44 +08:00
-
28e0a76b80
fix: path_append must not clobber login shell PATH
Xubin Ren
2026-04-06 05:19:06 +00:00
-
be6063a142
security: prevent exec tool from leaking process env vars to LLM
Ben Lenarts
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 Ren
2026-04-06 04:01:25 +08:00
-