Merge remote-tracking branch 'origin/master' into feat/agent-runner
This commit is contained in:
@@ -173,7 +173,7 @@ class PlatformSession(SQLModel, table=True):
|
||||
max_length=100,
|
||||
nullable=False,
|
||||
unique=True,
|
||||
default_factory=lambda: f"webchat_{uuid.uuid4()}",
|
||||
default_factory=lambda: str(uuid.uuid4()),
|
||||
)
|
||||
platform_id: str = Field(default="webchat", nullable=False)
|
||||
"""Platform identifier (e.g., 'webchat', 'qq', 'discord')"""
|
||||
|
||||
@@ -794,7 +794,7 @@ class SQLiteDatabase(BaseDatabase):
|
||||
|
||||
await session.execute(
|
||||
update(PlatformSession)
|
||||
.where(col(PlatformSession.session_id == session_id))
|
||||
.where(col(PlatformSession.session_id) == session_id)
|
||||
.values(**values),
|
||||
)
|
||||
|
||||
@@ -805,6 +805,6 @@ class SQLiteDatabase(BaseDatabase):
|
||||
async with session.begin():
|
||||
await session.execute(
|
||||
delete(PlatformSession).where(
|
||||
col(PlatformSession.session_id == session_id),
|
||||
col(PlatformSession.session_id) == session_id,
|
||||
),
|
||||
)
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
@click.stop="$emit('editTitle', item.session_id, item.display_name)" />
|
||||
<v-btn icon="mdi-delete" size="x-small" variant="text"
|
||||
class="delete-conversation-btn" color="error"
|
||||
@click.stop="$emit('deleteConversation', item.session_id)" />
|
||||
@click.stop="handleDeleteConversation(item)" />
|
||||
</div>
|
||||
</template>
|
||||
</v-list-item>
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
import { useI18n, useModuleI18n } from '@/i18n/composables';
|
||||
import { useModuleI18n } from '@/i18n/composables';
|
||||
import type { Session } from '@/composables/useSessions';
|
||||
|
||||
interface Props {
|
||||
@@ -109,7 +109,6 @@ const emit = defineEmits<{
|
||||
}>();
|
||||
|
||||
const { tm } = useModuleI18n('features/chat');
|
||||
const { t } = useI18n();
|
||||
|
||||
const sidebarCollapsed = ref(true);
|
||||
const sidebarHovered = ref(false);
|
||||
@@ -159,6 +158,14 @@ function handleSidebarMouseLeave() {
|
||||
}
|
||||
sidebarHoverExpanded.value = false;
|
||||
}
|
||||
|
||||
function handleDeleteConversation(session: Session) {
|
||||
const sessionTitle = session.display_name || tm('conversation.newConversation');
|
||||
const message = tm('conversation.confirmDelete', { name: sessionTitle });
|
||||
if (window.confirm(message)) {
|
||||
emit('deleteConversation', session.session_id);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
"editDisplayName": "Edit Session Name",
|
||||
"displayName": "Session Name",
|
||||
"displayNameUpdated": "Session name updated",
|
||||
"displayNameUpdateFailed": "Failed to update session name"
|
||||
"displayNameUpdateFailed": "Failed to update session name",
|
||||
"confirmDelete": "Are you sure you want to delete \"{name}\"? This action cannot be undone."
|
||||
},
|
||||
"modes": {
|
||||
"darkMode": "Switch to Dark Mode",
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
"editDisplayName": "编辑会话名称",
|
||||
"displayName": "会话名称",
|
||||
"displayNameUpdated": "会话名称已更新",
|
||||
"displayNameUpdateFailed": "更新会话名称失败"
|
||||
"displayNameUpdateFailed": "更新会话名称失败",
|
||||
"confirmDelete": "确定要删除“{name}”吗?此操作无法撤销。"
|
||||
},
|
||||
"modes": {
|
||||
"darkMode": "切换到夜间模式",
|
||||
|
||||
@@ -43,7 +43,7 @@ class ConversationCommands:
|
||||
async def reset(self, message: AstrMessageEvent):
|
||||
"""重置 LLM 会话"""
|
||||
umo = message.unified_msg_origin
|
||||
cfg = self.context.get_config(umo=umo)
|
||||
cfg = self.context.get_config(umo=message.unified_msg_origin)
|
||||
is_unique_session = cfg["platform_settings"]["unique_session"]
|
||||
is_group = bool(message.get_group_id())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user