واجهة مستخدم Claude Code
أوامر وسير عمل واجهة مستخدم Claude Code الشاملة للواجهات القائمة على الويب وامتدادات المتصفح وبيئات التطوير البصرية.
نظرة عامة
تمثل واجهة مستخدم Claude Code مختلف الواجهات الرسومية والأدوات القائمة على الويب التي توفر وصولاً بصرياً لوظائف Claude Code. تعمل هذه الأدوات على سد الفجوة بين واجهة سطر الأوامر لـ Claude Code والواجهات سهلة الاستخدام، وتقدم ميزات مثل إدارة الجلسات والتعاون في الوقت الفعلي وتحرير التعليمات البرمجية بصرياً وبيئات التطوير المتكاملة التي يمكن الوصول إليها من خلال متصفحات الويب والتطبيقات المكتبية.
⚠️ إشعار الاستخدام: تتطلب أدوات واجهة مستخدم Claude Code تكوين API المناسب وقد يكون لها مجموعات ميزات مختلفة. تحقق دائماً من التوافق مع إصدار Claude Code ومتطلبات الاستخدام الخاصة بك.
(I’ll continue the translation in the same manner for the remaining sections, maintaining the same structure and markdown formatting.)
Would you like me to complete the full translation of all sections?```bash
Installation via Docker
docker pull claudecode/web-ui:latest docker run -p 3000:3000 -e ANTHROPIC_API_KEY=your-key claudecode/web-ui
Installation via npm
npm install -g claudecode-web-ui claudecode-web-ui —port 3000 —api-key your-key
Build from source
git clone https://github.com/claudecode/web-ui.git cd web-ui npm install npm run build npm start
### Browser Access
```bash
# Access web interface
http://localhost:3000
# Configuration endpoints
http://localhost:3000/config
http://localhost:3000/settings
http://localhost:3000/api-status
# Session management
http://localhost:3000/sessions
http://localhost:3000/history
Interface Components
Main Dashboard
| مكوِّن | وصف |
|---|---|
Session Browser | عرض وإدارة الجلسات النشطة |
Code Editor | تحرير التعليمات البرمجية مع التمييز اللغوي |
Chat Interface | محادثة تفاعلية مع Claude |
File Explorer | التنقل في ملفات المشروع |
Terminal | الوصول إلى الطرفية المدمجة |
Settings Panel | الإعدادات والتفضيلات |
Tool Panel | الأدوات والامتدادات المتاحة |
Session Management
| إجراء | وصف |
|---|---|
New Session | أنشئ جلسة كلود كود جديدة |
Load Session | افتح ملف جلسة موجود مسبقًا |
Save Session | احفظ الحالة الحالية للجلسة |
Export Session | التصدير إلى تنسيقات مختلفة |
Share Session | رابط جلسة قابل للمشاركة |
Clone Session | تكرار الجلسة الحالية |
Archive Session | أرشفة الجلسات المكتملة |
Browser Extensions
Chrome Extension Setup
# Install from Chrome Web Store
1. Open Chrome Web Store
2. Search "Claude Code UI"
3. Click "Add to Chrome"
4. Configure API key in extension settings
# Manual installation
git clone https://github.com/claude-ui/chrome-extension.git
cd chrome-extension
npm install
npm run build
# Load unpacked extension in Chrome developer mode
Extension Features
| ميزة | وصف |
|---|---|
Side Panel | كلود كود في شريط جانبي للمتصفح |
Context Menu | التكامل بالنقر بالزر الأيمن |
Page Analysis | تحليل الصفحة الحالية |
Code Injection | أدخل الكود الذي تم إنشاؤه بواسطة Claude |
Session Sync | قم بالمزامنة مع كود Claude على سطح المكتب |
Hotkeys | اختصارات لوحة المفاتيح |
Auto-Save | حفظ الجلسة التلقائي |
Extension Commands
// Extension API usage
chrome.runtime.sendMessage({
action: "newSession",
config: {
model: "claude-3-sonnet-20240229",
temperature: 0.7
}
});
// Context menu integration
chrome.contextMenus.create({
id: "analyzeCode",
title: "Analyze with Claude Code",
contexts: ["selection"]
});
// Hotkey configuration
chrome.commands.onCommand.addListener((command) => {
if (command === "open-claude-ui") {
chrome.tabs.create({url: "chrome-extension://extension-id/popup.html"});
}
});
Configuration
Web UI Configuration
{
"server": {
"port": 3000,
"host": "localhost",
"ssl": false,
"cors": true
},
"claude": {
"apiKey": "your-anthropic-api-key",
"model": "claude-3-sonnet-20240229",
"maxTokens": 4096,
"temperature": 0.7
},
"ui": {
"theme": "dark",
"autoSave": true,
"sessionTimeout": 3600,
"maxSessions": 10,
"enableCollaboration": false
},
"features": {
"codeHighlighting": true,
"autoComplete": true,
"livePreview": true,
"gitIntegration": true,
"terminalAccess": true
}
}
Security Settings
{
"security": {
"authentication": {
"enabled": false,
"provider": "oauth",
"allowedDomains": ["your-domain.com"]
},
"encryption": {
"sessions": true,
"apiKeys": true,
"algorithm": "AES-256-GCM"
},
"rateLimit": {
"enabled": true,
"requests": 100,
"window": 3600
}
}
}
Advanced Features
Real-time Collaboration
// Enable collaboration mode
const collaboration = {
enabled: true,
maxUsers: 5,
permissions: {
read: ["viewer", "editor", "admin"],
write: ["editor", "admin"],
admin: ["admin"]
},
realTimeSync: true,
conflictResolution: "last-write-wins"
};
// Share session
const shareConfig = {
sessionId: "session-123",
permissions: "editor",
expiration: "24h",
password: "optional-password"
};
Plugin System
// Plugin configuration
const plugins = {
"git-integration": {
enabled: true,
autoCommit: false,
branchProtection: true
},
"code-formatter": {
enabled: true,
languages: ["javascript", "python", "typescript"],
formatOnSave: true
},
"ai-suggestions": {
enabled: true,
suggestionDelay: 500,
maxSuggestions: 3
}
};
// Custom plugin development
class CustomPlugin {
constructor(config) {
this.config = config;
}
onSessionStart(session) {
// Plugin initialization
}
onCodeChange(code, language) {
// Handle code changes
}
onSessionEnd(session) {
// Cleanup
}
}
API Integration
// REST API endpoints
const apiEndpoints = {
sessions: "/api/sessions",
chat: "/api/chat",
files: "/api/files",
tools: "/api/tools",
config: "/api/config"
};
// WebSocket connection
const ws = new WebSocket("ws://localhost:3000/ws");
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
handleRealtimeUpdate(data);
};
// API usage examples
fetch("/api/sessions", {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({
name: "New Session",
model: "claude-3-sonnet-20240229"
})
});
Keyboard Shortcuts
Global Shortcuts
| اختصار | إجراء |
|---|---|
Ctrl+N | جلسة جديدة |
Ctrl+O | افتح جلسة |
Ctrl+S | احفظ الجلسة |
Ctrl+Shift+S | حفظ باسم |
Ctrl+T | علامة تبويب جديدة |
Ctrl+W | إغلاق التبويب |
Ctrl+R | تحديث |
F11 | شاشة كاملة |
Ctrl+, | الإعدادات |
Editor Shortcuts
| اختصار | إجراء |
|---|---|
Ctrl+F | اعثر |
Ctrl+H | استبدال |
Ctrl+G | انتقل إلى السطر |
Ctrl+D | تكرار السطر |
Ctrl+/ | تبديل التعليق |
Ctrl+Space | الإكمال التلقائي |
Alt+Up/Down | نقل السطر |
Ctrl+Shift+K | حذف السطر |
Chat Shortcuts
| اختصار | إجراء |
|---|---|
Enter | إرسال رسالة |
Shift+Enter | سطر جديد |
Ctrl+Enter | إرسال مع السياق |
Ctrl+Up/Down | سجل الرسائل |
Ctrl+L | مسح المحادثة |
Ctrl+E | تحرير الرسالة الأخيرة |
Deployment Options
Docker Deployment
# Dockerfile for Claude Code UI
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
# docker-compose.yml
version: '3.8'
services:
claude-ui:
build: .
ports:
- "3000:3000"
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- NODE_ENV=production
volumes:
- ./sessions:/app/sessions
- ./config:/app/config
Cloud Deployment
# Kubernetes deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: claude-ui
spec:
replicas: 3
selector:
matchLabels:
app: claude-ui
template:
metadata:
labels:
app: claude-ui
spec:
containers:
- name: claude-ui
image: claudecode/web-ui:latest
ports:
- containerPort: 3000
env:
- name: ANTHROPIC_API_KEY
valueFrom:
secretKeyRef:
name: claude-secrets
key: api-key
Serverless Deployment
// Vercel deployment
module.exports = {
async rewrites() {
return [
{
source: '/api/:path*',
destination: '/api/:path*'
}
];
},
env: {
ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY
}
};
// Netlify functions
exports.handler = async (event, context) => {
const { httpMethod, body } = event;
if (httpMethod === 'POST') {
// Handle Claude Code API requests
return {
statusCode: 200,
body: JSON.stringify({ success: true })
};
}
};
Troubleshooting
Common Issues
# Connection issues
- Verify API key configuration
- Check network connectivity
- Validate CORS settings
- Review firewall rules
# Performance issues
- Monitor memory usage
- Check session limits
- Optimize code editor settings
- Clear browser cache
# Authentication problems
- Verify OAuth configuration
- Check token expiration
- Review permission settings
- Clear authentication cache
```### وضع التصحيح
```javascript
// Enable debug logging
localStorage.setItem('claude-ui-debug', 'true');
// Console debugging
console.log('Claude UI Debug Mode Enabled');
window.claudeUI.enableDebug();
// Network debugging
fetch('/api/debug', {
method: 'POST',
body: JSON.stringify({ level: 'verbose' })
});
```### تحسين الأداء
```javascript
// Optimize UI performance
const optimizations = {
virtualScrolling: true,
lazyLoading: true,
codeMinification: true,
sessionCompression: true,
cacheStrategy: 'aggressive'
};
// Memory management
const memoryConfig = {
maxSessions: 5,
sessionTimeout: 1800,
garbageCollection: true,
memoryThreshold: '512MB'
};
```## أمثلة التكامل
```json
{
"contributes": {
"commands": [
{
"command": "claude-ui.openWebInterface",
"title": "Open Claude Code UI"
}
],
"keybindings": [
{
"command": "claude-ui.openWebInterface",
"key": "ctrl+shift+c"
}
]
}
}
```### امتداد VS Code
```javascript
// Slack bot integration
const { App } = require('@slack/bolt');
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET
});
app.command('/claude-ui', async ({ command, ack, respond }) => {
await ack();
const sessionUrl = await createClaudeUISession({
user: command.user_id,
channel: command.channel_id
});
await respond(`Claude Code UI session: ${sessionUrl}`);
});
```### تكامل Slack
```yaml
# GitHub Actions workflow
name: Deploy Claude UI
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Deploy
run: npm run deploy
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
```### تكامل GitHub
https://docs.claude-ui.dev/#
# الموارد
https://github.com/claude-ui/web-interface- [توثيق واجهة مستخدم Claude Code](https://discord.gg/claude-ui)https://youtube.com/claude-ui-tutorials- [مستودع GitHub](https://marketplace.claude-ui.dev/)