文件最后提交记录最后更新时间
✨ feat: Agent Task System available (#14540) * 🔥 chore: remove agent_task feature flag and graduate task feature Drop the agent_task / enableAgentTask gate that was guarding the agent task rollout. The feature is now permanently enabled, so all flag checks, disabled-state redirects, and disabled-only fallback UI (SuggestQuestions, CommunityAgents) are removed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix(brief): create regular task instead of cron job from template card The "Add task" button on DailyBrief recommendation cards was creating an agentCronJob (scheduled recurring job). Switch to taskService.create via the createTask store action so it creates a one-off inbox task and refreshes the task list, matching user expectation that the click adds a task rather than a schedule. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(task): support schedule fields on task.create The brief recommendation card needs to create a recurring scheduled task in one shot (template carries `cronPattern`). Extend `task.create` to accept `automationMode`, `schedulePattern`, `scheduleTimezone`, and thread them through the service + store action. The model already accepts these via NewTask, and the central schedule-dispatch sweep picks the task up once status is dispatchable. TaskTemplateCard now creates a schedule-mode task with the template's cron pattern and the user's local timezone, restoring the recurring behavior previously provided by AgentCronJob. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 i18n(home): shorten brief.title from "Daily brief" to "Brief" Daily-frequency tasks are no longer the only source feeding the section (scheduled, manual, and on-demand briefs all flow through it now), so the more general label fits better. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(task-list): show skeleton instead of blank while task list loads Both the list view (TaskList) and kanban view (KanbanBoard / KanbanColumn) returned null until isInit, leaving the page empty during the first SWR fetch. Render a TaskItemSkeleton (default + compact variants) to keep the layout stable and signal that data is loading. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(git-status): toggle review panel on diff-stat click Clicking the diff-stat chip used to always open the review panel — if the panel was already showing review, the click was a no-op. Switch to a toggle: clicking again with the review tab active closes the panel, matching the implicit expectation that the chip is the entry/exit control for that view. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✅ test(brief): update TaskTemplateCard test for createTask flow Card now calls useTaskStore.createTask with schedule fields instead of agentCronJobService.create. Replace the agentCronJob service mock with a useTaskStore mock exposing createTask, and assert the schedule-mode payload (automationMode + schedulePattern + scheduleTimezone) on the success path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(brief): jump to task detail after creating from template The success toast asked users to look in the inbox agent for the new scheduled task; navigating directly to the task detail is a clearer landing for what they just confirmed. Drop the toast and route to `/task/<identifier>` once createTask resolves. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>15 天前
✨ feat(tasks): unified Tasks routes, detail polish & CC Agent streaming (#14109) * ✨ feat: polish task list id and date display * ✨ feat: hide completed tasks from agent task card list Completed tasks crowd the homepage card list and bury the ones that still need attention; extract sort/limit into a testable helper so the filter lives in one place. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(claude-code): render Agent tool streaming with instruction and subagent thread toggle While a subagent is running (args parsed, tool_result not back) the CC Agent tool fell back to the generic 参数列表 dump. Surface the instruction markdown and, once the executor has created the subagent Thread, the open/close subtopic button — so the user can jump into the live conversation instead of waiting for the summary. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(tasks): add /tasks sidebar entry and Linear-style item context menu - Wire up /tasks as a top-level home sidebar item (gated on enableAgentTask) and register route metadata for Electron tab title - Render a dashed UserRound placeholder when a task has no assignee, and add a search input + arrow-key navigation to the agent picker popover - Wrap task list rows in a ContextMenuTrigger with status/priority submenus, copy id/link, and delete-with-confirm Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(tasks): unify task routes under /tasks and /task/:id, drop agent-scoped pages Removes the per-agent `/agent/:aid/tasks` list and detail routes in favor of a single cross-agent surface (`/tasks` list/kanban + `/task/:taskId` detail). Kanban board now fetches across all agents via `useFetchTaskGroupList({ allAgents })`, fixing the blank board on the `/tasks` route. UI polish shipped alongside: - Hidden kanban columns panel persists to global status, pinned to the right with a swim-lane background to match other columns. - Breadcrumb chevron margins tightened; separator, ancestors, and task detail crumbs share the same compact styling. - TaskDetailAssignee renders a clickable "Unassigned" placeholder when no agent is set, so the selector is always reachable. - Run button stays clickable without an assignee; falls back to the inbox agent on click so users get a working default. - Breadcrumb drops the per-agent tasks link; nav inside agents removes the now dangling Tasks tab since `/tasks` is a top-level sidebar entry. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(tasks): hide completed & canceled tasks by default with Show footer Hides completed/canceled tasks by default in the list view with a Linear-style "N tasks hidden by display options · Show" footer and a toggle in the display-options popover. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(tasks): add copy id/link actions to task detail header, use app origin Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🔥 refactor(tasks): drop agentId plumbing from unified task detail route Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): float topic chat drawer with read-only messages Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): inline subtasks add button and run button loading state Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(workflows): unify hono scaffold and add task on-topic-complete webhook Consolidate workflow routes behind a single Hono app mounted at the catch-all /api/workflows/[[...route]], with per-domain sub-apps. New workflow segments now only need a folder under src/server/workflows-hono/ plus one app.route(...) line in the root — no new Next.js route files. Also implements /api/workflows/task/on-topic-complete, which task.run registers as the onComplete webhook. The handler wires the payload into TaskLifecycleService.onTopicComplete; task.run now also includes taskIdentifier in the webhook body so the handler skips a DB lookup. LOBE-6659 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): align subtasks header pill with add button on same row Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(tasks): add AgentTaskManager side panel and polish task detail - Mount AgentTaskManager conversation alongside the task detail route and sync the task's assignee agent into chat store so the right panel talks to the correct agent - Reverse activities timeline to newest-first and float the comment input on top with a card-styled container and guiding placeholder copy - Redesign TopicCard with a live status icon, meta row, and dropdown actions (open run / copy id); introduce shared TopicStatusIcon with animated running state - Swap task status palette: running uses warning+CircleDot, paused uses info+Hand; show numeric shortcut extras on context menu status/priority items alongside the checkmark for the current value - Refresh hidden-columns panel to panel-open/close icons and inline the count beside the header - Drop fixed min height on create-task inline editor; tighten activity row padding - Fix Flexbox import in useTaskItemContextMenu (react-layout-kit → @lobehub/ui) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): show topic status icon in chat drawer title Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix(tasks): drop stale AutoSaveHint on task list page Task list does not save anything, but it reused the global taskSaveStatus from detail page — after editing a task, switching back to the list would still show "latest version loaded". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): drop redundant status tag in topic chat drawer title Status is already expressed by the colored TopicStatusIcon next to the title. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): add tooltip hint for unassigned assignee Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): polish topic chat drawer border and spacing Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style(tasks): show check before shortcut in context menu extra Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>29 天前
♻️ refactor: remove `NEXT_PUBLIC_SERVICE_MODE` env and use server by default (#10017) * remove NEXT_PUBLIC_SERVICE_MODE * update * fix tests * update e2e workflow * update config * Rename DATABASE_TEST_URL to DATABASE_URL6 个月前
✨ feat: support klavis mcp connector (#10584) * feat: support klavis mcp connector * feat: update klavis item & klavis call tools * feat: update the noraml klavis mcp (no need oauth) * fix: rollback test * fix: fixed test ci * feat: update the klavis select model & locals settings * fix: change the klavis id to klavis types * fix: delete the klavis into getGlobalConfig * fix: delete useless migrations * fix: improve the code * feat: update test & update the klavis const var * fix: change it to const * feat: use swr to replace useEffect5 个月前
✨ feat: support messager (#14442) * feat: support messagers * chore: refactor lobeai to messager prefix * feat: reigister messager platforms * feat: support slack messager * fix: verify im route redirect * fix: link page style * chore: optimize agent select and /agents commands * feat:support lab switch * feat: use same agent select * chore: add runtime error info * chore: optimize error text * feat: add slack messagger installation implementation * chore: add more scope * feat: add slack messager account link * fix: open slack in a new link * feat: optimze messager link page * feat: optimize messager locales and bot options * chore: optimize messager * fix: slack integration detail * fix: avoid taking over and fix slash commands * chore: optimize slack app setup * chore: update slack manifest and setup * feat: support discrod platform * feat: discord messger slash commands and agent picker * chore: update discord messager * feat: support db bot provider credentials * chore: remove message router ensure connected * chore: remove notes field * chore: add applicationId and credentails * chore: squash db migations * chore: remove installedAt and linkedAt field * chore: remove messager releated env variables * chore: remove old skill bot skill * feat: add operationId when throwing error * chore: abstract platform clients and registery * chore: fix link modal message i18n and add platform definition name field * feat: add integration detail * feat: add platfom definition i18n files * chore: abstract messenger router platform branches Collapse parallel Slack/Discord slash & action paths in MessengerRouter into a single command registry + binder hooks (replyPrivately, extractActionFromEvent, acknowledgeCallback). Wire Discord /start by resolving DM via openDM(authorUserId) so a public-channel slash invocation posts the link privately. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: update installation and oauth process for discord and slack * fix: telegram local button * chore: remove messager docs * feat: add discord installation process * chore: remove discord bot username * chore: adjust discord integration detail * feat: extract platfom specific implementation * chore: handle connection flow and redirect * feat: add platform router for messager * chore: move messager to agents group * chore: update i18n files * chore: update messager table sql * chore: update messager sql * fix: link with tenantId * chore: move messger verify page to features/Messager * chore: refactor messager verify page * Potential fix for pull request finding 'Property access on null or undefined' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> * fix: Rebind by platform user when confirming messenger link * chore: remove unnecessary journals * chore: update i18n files * fix: lint error and i18n * fix: test cases * chore: add lost test cases * chore: try cpus 2 * chore: try remove optimize package import * chore: fallback define config * chore: try to reduce OOM * chore: fallback --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>15 天前