Interfaz de Usuario de Claude Code
Comandos y flujos de trabajo integrales de Claude Code UI para interfaces web de Claude Code, extensiones de navegador y entornos de desarrollo visual.
Descripción general
Claude Code UI representa diversas interfaces gráficas de usuario y herramientas basadas en web que proporcionan acceso visual a la funcionalidad de Claude Code. Estas herramientas reducen la brecha entre Claude Code de línea de comandos e interfaces amigables para el usuario, ofreciendo características como gestión de sesiones, colaboración en tiempo real, edición visual de código y entornos de desarrollo integrados accesibles a través de navegadores web y aplicaciones de escritorio.
⚠️ Aviso de Uso: Las herramientas de Claude Code UI requieren una configuración adecuada de API y pueden tener diferentes conjuntos de características. Siempre verifique la compatibilidad con su versión de Claude Code y requisitos de uso.
[The rest of the document would follow the same translation approach, maintaining technical terms in English and preserving markdown formatting.]
Would you like me to continue translating the entire document in this manner?```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
| Componente | Descripción |
|---|---|
Session Browser | Ver y administrar sesiones activas |
Code Editor | Edición de código con resaltado de sintaxis |
Chat Interface | Conversación interactiva con Claude |
File Explorer | Navegación de archivos de proyecto |
Terminal | Acceso a terminal integrado |
Settings Panel | Configuración y preferencias |
Tool Panel | Herramientas y extensiones disponibles |
Session Management
| Acción | Descripción |
|---|---|
New Session | Crear nueva sesión de Claude Code |
Load Session | Abrir archivo de sesión existente |
Save Session | Guardar estado de sesión actual |
Export Session | Exportar a varios formatos |
Share Session | Generar enlace de sesión compartible |
Clone Session | Duplicar sesión actual |
Archive Session | Archivar sesiones completadas |
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
| Característica | Descripción |
|---|---|
Side Panel | Claude Code en la barra lateral del navegador |
Context Menu | Integración con clic derecho |
Page Analysis | Analizar página web actual |
Code Injection | Insertar código generado por Claude |
Session Sync | Sincronizar con escritorio de Claude Code |
Hotkeys | Atajos de teclado |
Auto-Save | Guardado automático de sesión |
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
| Atajo | Acción |
|---|---|
Ctrl+N | Nueva sesión |
Ctrl+O | Abrir sesión |
Ctrl+S | Guardar sesión |
Ctrl+Shift+S | Guardar como |
Ctrl+T | Nueva pestaña |
Ctrl+W | Cerrar pestaña |
Ctrl+R | Actualizar |
F11 | Pantalla completa |
Ctrl+, | Configuración |
Editor Shortcuts
| Atajo | Acción |
|---|---|
Ctrl+F | Encontrar |
Ctrl+H | Reemplazar |
Ctrl+G | Ir a línea |
Ctrl+D | Duplicar línea |
Ctrl+/ | Alternar comentario |
Ctrl+Space | Autocompletar |
Alt+Up/Down | Mover línea |
Ctrl+Shift+K | Eliminar línea |
Chat Shortcuts
| Atajo | Acción |
|---|---|
Enter | Enviar mensaje |
Shift+Enter | Nueva línea |
Ctrl+Enter | Enviar con contexto |
Ctrl+Up/Down | Historial de mensajes |
Ctrl+L | Limpiar chat |
Ctrl+E | Editar último mensaje |
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
```### Modo de Depuración
```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' })
});
```### Optimización de Rendimiento
```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'
};
```## Ejemplos de Integración
```json
{
"contributes": {
"commands": [
{
"command": "claude-ui.openWebInterface",
"title": "Open Claude Code UI"
}
],
"keybindings": [
{
"command": "claude-ui.openWebInterface",
"key": "ctrl+shift+c"
}
]
}
}
```### Extensión de 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}`);
});
```### Integración con 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 }}
```### Integración con GitHub
https://docs.claude-ui.dev/## Recursos
https://github.com/claude-ui/web-interface- [Documentación de la Interfaz de Usuario de Claude Code](https://discord.gg/claude-ui)https://youtube.com/claude-ui-tutorials- [Repositorio de GitHub](https://marketplace.claude-ui.dev/)