| ✨ feat: support use remote device in IM integration (#12798)
* support timezone in system prompt
refactor to improve user prompts
refactor tool engine
refactor tools map mode
add bot callback service
clean
improve cli
update agentic tracing
refactor cli login
refactor cli
add device auth
improve device gateway implement
implement gateway pipeline
support device Gateway connect
support gateway
* revert electron device
* inject builtins agent prompts
* update tracing
* add testing
* refactor the activeDeviceId
* refactor BotCallbackService
* fix test and lint
* fix test and lint
* add tests
* fix tests
* fix lint | 2 个月前 |
| ✨ feat: support use remote device in IM integration (#12798)
* support timezone in system prompt
refactor to improve user prompts
refactor tool engine
refactor tools map mode
add bot callback service
clean
improve cli
update agentic tracing
refactor cli login
refactor cli
add device auth
improve device gateway implement
implement gateway pipeline
support device Gateway connect
support gateway
* revert electron device
* inject builtins agent prompts
* update tracing
* add testing
* refactor the activeDeviceId
* refactor BotCallbackService
* fix test and lint
* fix test and lint
* add tests
* fix tests
* fix lint | 2 个月前 |
| ✨ feat: support use remote device in IM integration (#12798)
* support timezone in system prompt
refactor to improve user prompts
refactor tool engine
refactor tools map mode
add bot callback service
clean
improve cli
update agentic tracing
refactor cli login
refactor cli
add device auth
improve device gateway implement
implement gateway pipeline
support device Gateway connect
support gateway
* revert electron device
* inject builtins agent prompts
* update tracing
* add testing
* refactor the activeDeviceId
* refactor BotCallbackService
* fix test and lint
* fix test and lint
* add tests
* fix tests
* fix lint | 2 个月前 |
| ✨ feat: improve agent context injection (skills discovery, device optimization, prompt cleanup) (#13021)
* ✨ feat: inject all installed skills into <available_skills> for AI discovery
Previously, only skills explicitly added to the agent's plugins list appeared
in <available_skills>. Now all installed skills are exposed so the AI can
discover and activate them via activateSkill.
Changes:
- Frontend: use getAllSkills() instead of getEnabledSkills(plugins)
- Backend: pass skillMetas through createOperation → RuntimeExecutors → serverMessagesEngine
- Add skillsConfig support to serverMessagesEngine
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* 🐛 fix: use DB + builtin skills for available_skills instead of provider manifests
lobehubSkillManifests are tool provider manifests (per-provider, containing
tool APIs), not skill metadata. Using them for <available_skills> incorrectly
showed provider names (e.g. "Arvin Xu") as skills.
Now fetches actual skills from AgentSkillModel (DB) + builtinSkills for correct
<available_skills> injection.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* 💄 style: use XML structure for online-devices in system prompt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* ♻️ refactor: extract online-devices prompt to @lobechat/prompts package
Move device XML prompt generation from builtin-tool-remote-device into
the shared prompts package for reusability and consistency.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* ✅ test: add failing tests for Remote Device suppression when auto-activated
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* ⚡️ perf: suppress Remote Device tool when device is auto-activated
When a device is auto-activated (single device in IM/Bot or bound device),
the Remote Device management tool (listOnlineDevices, activateDevice) is
unnecessary — saves ~500 tokens of system prompt + 2 tool functions.
- Add autoActivated flag to deviceContext
- Move activeDeviceId computation before tool engine creation
- Disable Remote Device in enableChecker when autoActivated
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* update system role
* update system role
* ♻️ refactor: use agentId instead of slug for OpenAPI responses model field
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* 🐛 fix: use JSON round-trip instead of structuredClone in InMemoryAgentStateManager
structuredClone fails with DataCloneError when state contains non-cloneable
objects like DOM ErrorEvent (from Neon DB WebSocket errors).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* 🐛 fix: only inject available_skills when tools are enabled
Restore plugins guard to prevent skills injection when tool use is
disabled (plugins is undefined), fixing 28 test failures.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* ✅ test: update system message assertions for skills injection
Use stringContaining instead of exact match for system message content,
since available_skills may now be appended after the date.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> | 2 个月前 |
| ✨ feat: support use remote device in IM integration (#12798)
* support timezone in system prompt
refactor to improve user prompts
refactor tool engine
refactor tools map mode
add bot callback service
clean
improve cli
update agentic tracing
refactor cli login
refactor cli
add device auth
improve device gateway implement
implement gateway pipeline
support device Gateway connect
support gateway
* revert electron device
* inject builtins agent prompts
* update tracing
* add testing
* refactor the activeDeviceId
* refactor BotCallbackService
* fix test and lint
* fix test and lint
* add tests
* fix tests
* fix lint | 2 个月前 |