docs(guide): rewrite CLAUDE.md with ZCLAW-first perspective

Major changes:
- Shift from "OpenFang desktop client" to "independent AI Agent desktop app"
- Add decision principle: "Is this useful for ZCLAW? Does it affect ZCLAW?"
- Simplify project structure and tech stack sections
- Replace OpenClaw vs OpenFang comparison with unified backend approach
- Consolidate troubleshooting from scattered sections into organized FAQ
- Update Hands system documentation with 8 capabilities and status
- Stream
This commit is contained in:
iven
2026-03-20 19:30:09 +08:00
parent 3518fc8ece
commit 6f72442531
63 changed files with 8920 additions and 857 deletions

View File

@@ -5,10 +5,7 @@ import {
Search, Sparkles, ChevronRight, X
} from 'lucide-react';
import { CloneManager } from './CloneManager';
import { AutomationPanel } from './Automation';
import { TeamList } from './TeamList';
import { SwarmDashboard } from './SwarmDashboard';
import { SkillMarket } from './SkillMarket';
import { useGatewayStore } from '../store/gatewayStore';
import { containerVariants, defaultTransition } from '../lib/animations';
@@ -75,7 +72,7 @@ export function Sidebar({
placeholder="搜索..."
value={searchQuery}
onChange={(e) => setSearchQuery(e.target.value)}
className="w-full pl-9 pr-8 py-2 bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg text-sm focus:outline-none focus:border-emerald-500 focus:ring-1 focus:ring-emerald-500 transition-all text-gray-700 dark:text-gray-300 placeholder-gray-400"
className="w-full pl-9 pr-8 py-2 bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg text-sm focus:outline-none focus:border-gray-400 focus:ring-1 focus:ring-gray-400 transition-all text-gray-700 dark:text-gray-300 placeholder-gray-400"
/>
{searchQuery && (
<button
@@ -91,10 +88,13 @@ export function Sidebar({
{/* 新对话按钮 */}
<div className="px-3 py-2">
<button
onClick={onNewChat}
onClick={() => {
setActiveTab('clones');
onNewChat?.();
}}
className="w-full flex items-center gap-3 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg text-gray-700 dark:text-gray-300 transition-colors group"
>
<Sparkles className="w-5 h-5 text-emerald-500" />
<Sparkles className="w-5 h-5 text-gray-500" />
<span className="font-medium"></span>
</button>
</div>
@@ -123,7 +123,7 @@ export function Sidebar({
{/* 分隔线 */}
<div className="my-3 mx-3 border-t border-gray-100 dark:border-gray-800" />
{/* 内容区域 */}
{/* 内容区域 - 只显示分身、团队、协作的内容,自动化和技能在主内容区显示 */}
<div className="flex-1 overflow-hidden">
<AnimatePresence mode="wait">
<motion.div
@@ -136,17 +136,13 @@ export function Sidebar({
className="h-full overflow-y-auto"
>
{activeTab === 'clones' && <CloneManager />}
{activeTab === 'automation' && (
<AutomationPanel />
)}
{activeTab === 'skills' && <SkillMarket />}
{/* skills、automation 和 swarm 不在侧边栏显示内容,由主内容区显示 */}
{activeTab === 'team' && (
<TeamList
selectedTeamId={selectedTeamId}
onSelectTeam={handleSelectTeam}
/>
)}
{activeTab === 'swarm' && <SwarmDashboard />}
</motion.div>
</AnimatePresence>
</div>
@@ -157,7 +153,7 @@ export function Sidebar({
onClick={onOpenSettings}
className="flex items-center gap-3 w-full hover:bg-gray-50 dark:hover:bg-gray-800 p-2 rounded-lg transition-colors"
>
<div className="w-8 h-8 bg-gradient-to-br from-emerald-400 to-cyan-500 rounded-full flex items-center justify-center text-white font-bold shadow-sm">
<div className="w-8 h-8 bg-gray-600 rounded-full flex items-center justify-center text-white font-bold shadow-sm">
{userName?.charAt(0) || '用'}
</div>
<span className="flex-1 text-left text-sm font-medium text-gray-700 dark:text-gray-300 truncate">