fix: include user department in Claw payload

This commit is contained in:
134 2026-06-25 14:14:35 +08:00
parent 0100f58891
commit 186e2cefc2

View File

@ -5,6 +5,7 @@ import {
getChatById,
getMessagesByChatId,
getSystemSetting,
getUserById,
saveChat,
saveMessages,
} from "@/lib/db/queries";
@ -55,6 +56,10 @@ function getOpenClawUserName(user: {
return user.id;
}
function getOpenClawDepartmentName(department?: string | null) {
return String(department || "").trim();
}
function isRequestFile(value: FormDataEntryValue): value is File {
return (
typeof value === "object" &&
@ -212,7 +217,13 @@ export async function POST(request: Request) {
const userMessageId = parsed.userMessageId || generateUUID();
const assistantMessageId = generateUUID();
const conversationId = createConversationId(session.user.id, parsed.id);
const openClawUserName = getOpenClawUserName(session.user);
const userProfile = await getUserById({ id: session.user.id }).catch(() => null);
const openClawUserName = getOpenClawUserName({
id: session.user.id,
name: userProfile?.name ?? session.user.name,
email: userProfile?.email ?? session.user.email,
});
const openClawDepartmentName = getOpenClawDepartmentName(userProfile?.department);
const endpoint = `${config.baseUrl}/api/chat`;
let upstreamPayload: unknown = null;
@ -232,6 +243,9 @@ export async function POST(request: Request) {
user_id: session.user.id,
user_name: openClawUserName,
username: openClawUserName,
department: openClawDepartmentName,
department_name: openClawDepartmentName,
user_department: openClawDepartmentName,
message: upstreamMessage,
metadata: {
source: "ai_chatbot_canvas",
@ -241,6 +255,9 @@ export async function POST(request: Request) {
user_id: session.user.id,
user_name: openClawUserName,
username: openClawUserName,
department: openClawDepartmentName,
department_name: openClawDepartmentName,
user_department: openClawDepartmentName,
spreadsheet_files: spreadsheetMarkdownResult?.files || undefined,
spreadsheet_markdown_truncated:
spreadsheetMarkdownResult?.truncated || undefined,