From eda34ad9cee5df523c53139d02d02966e5d1c7fb Mon Sep 17 00:00:00 2001
From: paisley <8197966+su8su@users.noreply.github.com>
Date: Wed, 22 Apr 2026 17:42:27 +0800
Subject: [PATCH] feat: show OpenClaw sidebar entry only in developer mode
(#892)
---
src/components/layout/Sidebar.tsx | 43 +++++++++++++++++--------------
tests/e2e/developer-mode.spec.ts | 2 ++
2 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx
index 99ba7e6..4c9fc09 100644
--- a/src/components/layout/Sidebar.tsx
+++ b/src/components/layout/Sidebar.tsx
@@ -116,6 +116,7 @@ function getAgentIdFromSessionKey(sessionKey: string): string {
export function Sidebar() {
const sidebarCollapsed = useSettingsStore((state) => state.sidebarCollapsed);
const setSidebarCollapsed = useSettingsStore((state) => state.setSidebarCollapsed);
+ const devModeUnlocked = useSettingsStore((state) => state.devModeUnlocked);
const sessions = useChatStore((s) => s.sessions);
const currentSessionKey = useChatStore((s) => s.currentSessionKey);
@@ -373,26 +374,28 @@ export function Sidebar() {
)}
-
+ {devModeUnlocked && (
+
+ )}
{
await expect(page.getByTestId('settings-page')).toBeVisible();
await expect(page.getByTestId('settings-developer-section')).toHaveCount(0);
await expect(page.getByTestId('settings-dev-mode-switch')).toHaveAttribute('data-state', 'unchecked');
+ await expect(page.getByTestId('sidebar-open-dev-console')).toHaveCount(0);
await page.getByTestId('sidebar-nav-models').click();
await page.getByTestId('providers-add-button').click();
@@ -22,6 +23,7 @@ test.describe('ClawX developer-mode gated UI', () => {
await expect(page.getByTestId('settings-dev-mode-switch')).toHaveAttribute('data-state', 'checked');
await expect(page.getByTestId('settings-developer-section')).toBeVisible();
await expect(page.getByTestId('settings-developer-gateway-token')).toBeVisible();
+ await expect(page.getByTestId('sidebar-open-dev-console')).toBeVisible();
await page.getByTestId('sidebar-nav-models').click();
await page.getByTestId('providers-add-button').click();