feat(clawbot): add native WeChat ClawBot protocol engine (clawbot.py) and WechatClawModal UI
This commit is contained in:
1 parent
07d2050c5f
commit
8fa46a2b8d
14 files changed
+1551
-201
No files matched your search
@@ -1,5 +1,5 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { BookOpen, LayoutGrid, Moon, Search, Sun, Terminal } from 'lucide-react';
|
import { BookOpen, LayoutGrid, MessageSquare, Moon, Search, Sun, Terminal } from 'lucide-react';
|
||||||
import { usePortalStore } from '../store/usePortalStore';
|
import { usePortalStore } from '../store/usePortalStore';
|
||||||
import type { RouteModeId } from '../types/telemetry';
|
import type { RouteModeId } from '../types/telemetry';
|
||||||
import { Button } from './ui/button';
|
import { Button } from './ui/button';
|
||||||
@@ -24,6 +24,7 @@ export const TopRibbon: React.FC = () => {
|
|||||||
setRouteMode,
|
setRouteMode,
|
||||||
setViewMode,
|
setViewMode,
|
||||||
setShowAgyModal,
|
setShowAgyModal,
|
||||||
|
setShowWechatModal,
|
||||||
setShowCmdPalette,
|
setShowCmdPalette,
|
||||||
} = usePortalStore();
|
} = usePortalStore();
|
||||||
|
|
||||||
@@ -98,6 +99,21 @@ export const TopRibbon: React.FC = () => {
|
|||||||
</kbd>
|
</kbd>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
variant="outline"
|
||||||
|
onClick={() => setShowWechatModal(true)}
|
||||||
|
title="连接微信 ClawBot,在微信内直接收发消息与控制 Mac mini"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
className="w-2 h-2 rounded-full"
|
||||||
|
style={{
|
||||||
|
backgroundColor: telemetry.services.clawbot ? 'var(--success)' : 'var(--accent)',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<MessageSquare className="w-3.5 h-3.5" />
|
||||||
|
<span>微信 ClawBot</span>
|
||||||
|
</Button>
|
||||||
|
|
||||||
<Button onClick={() => setShowAgyModal(true)}>
|
<Button onClick={() => setShowAgyModal(true)}>
|
||||||
<Terminal className="w-3.5 h-3.5" />
|
<Terminal className="w-3.5 h-3.5" />
|
||||||
<span>AGY 终端</span>
|
<span>AGY 终端</span>
|
||||||
|
|||||||
Reference in new issue
Block a user