initial commit

Signed-off-by: ale <ale@manalejandro.com>
Este commit está contenido en:
ale
2026-01-18 01:43:26 +01:00
commit 1692dbf411
Se han modificado 41 ficheros con 7955 adiciones y 0 borrados

Ver fichero

@@ -0,0 +1,21 @@
[Desktop Entry]
Name=Debai
GenericName=AI Agent Manager
Comment=Manage AI agents for system automation
Exec=debai-gui
Icon=debai
Terminal=false
Type=Application
Categories=System;Utility;GTK;
Keywords=AI;Agent;Automation;System;
StartupNotify=true
StartupWMClass=debai
Actions=new-agent;status;
[Desktop Action new-agent]
Name=Create New Agent
Exec=debai-gui --action=new-agent
[Desktop Action status]
Name=Show Status
Exec=debai status

126
data/config/debai.yaml Archivo normal
Ver fichero

@@ -0,0 +1,126 @@
# Debai Configuration File
# AI Agent Management System for GNU/Linux
# General settings
general:
# Logging level: debug, info, warning, error
log_level: info
# Log file location
log_file: /var/log/debai/debai.log
# Data directory
data_dir: /var/lib/debai
# Configuration directory
config_dir: /etc/debai
# Agent settings
agents:
# Directory for agent configurations
config_dir: /etc/debai/agents
# Maximum number of concurrent agents
max_concurrent: 5
# Auto-start agents on boot
auto_start: true
# Default timeout for agent operations (seconds)
default_timeout: 300
# Working directory for agents
working_dir: /tmp/debai/agents
# Model settings
models:
# Default model to use
default: llama3.2:3b
# Model cache directory
cache_dir: /var/cache/debai/models
# Docker Model Runner endpoint
runner_endpoint: http://localhost:11434
# Maximum memory for models (MB)
max_memory_mb: 4096
# GPU layers to offload (0 = CPU only)
gpu_layers: 0
# Task settings
tasks:
# Directory for task configurations
config_dir: /etc/debai/tasks
# Maximum concurrent tasks
max_concurrent: 3
# Task history retention (days)
history_retention_days: 30
# API settings
api:
# Enable REST API
enabled: true
# API host
host: 127.0.0.1
# API port
port: 8000
# Enable authentication
auth_enabled: false
# Monitoring settings
monitoring:
# Enable resource monitoring
enabled: true
# Monitoring interval (seconds)
interval: 5
# History size (number of samples)
history_size: 1000
# Alert thresholds
thresholds:
cpu_percent: 80
memory_percent: 85
disk_percent: 90
# Security settings
security:
# Commands that are never allowed
denied_commands:
- "rm -rf /"
- "dd if=/dev/zero"
- ":(){ :|:& };:"
- "mkfs"
- "> /dev/sda"
# Require confirmation for destructive operations
require_confirmation: true
# Sandbox agent execution
sandbox_enabled: true
# Notification settings
notifications:
# Enable notifications
enabled: true
# Desktop notifications
desktop: true
# Email notifications (optional)
email:
enabled: false
smtp_host: ""
smtp_port: 587
smtp_user: ""
smtp_password: ""
from_address: ""
to_addresses: []

Ver fichero

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bg-gradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#3584e4"/>
<stop offset="100%" style="stop-color:#1c71d8"/>
</linearGradient>
<linearGradient id="accent-gradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#57e389"/>
<stop offset="100%" style="stop-color:#33d17a"/>
</linearGradient>
</defs>
<!-- Background circle -->
<circle cx="64" cy="64" r="60" fill="url(#bg-gradient)"/>
<!-- Outer ring -->
<circle cx="64" cy="64" r="56" fill="none" stroke="#ffffff" stroke-width="2" opacity="0.3"/>
<!-- AI brain/circuit pattern -->
<g fill="none" stroke="#ffffff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
<!-- Central node -->
<circle cx="64" cy="64" r="12" fill="url(#accent-gradient)" stroke="none"/>
<!-- Connection lines -->
<line x1="64" y1="52" x2="64" y2="32"/>
<line x1="64" y1="76" x2="64" y2="96"/>
<line x1="52" y1="64" x2="32" y2="64"/>
<line x1="76" y1="64" x2="96" y2="64"/>
<!-- Diagonal connections -->
<line x1="55" y1="55" x2="40" y2="40"/>
<line x1="73" y1="55" x2="88" y2="40"/>
<line x1="55" y1="73" x2="40" y2="88"/>
<line x1="73" y1="73" x2="88" y2="88"/>
<!-- Outer nodes -->
<circle cx="64" cy="28" r="6" fill="#ffffff"/>
<circle cx="64" cy="100" r="6" fill="#ffffff"/>
<circle cx="28" cy="64" r="6" fill="#ffffff"/>
<circle cx="100" cy="64" r="6" fill="#ffffff"/>
<!-- Corner nodes -->
<circle cx="36" cy="36" r="5" fill="#ffffff"/>
<circle cx="92" cy="36" r="5" fill="#ffffff"/>
<circle cx="36" cy="92" r="5" fill="#ffffff"/>
<circle cx="92" cy="92" r="5" fill="#ffffff"/>
</g>
<!-- D letter stylized -->
<text x="64" y="72" font-family="sans-serif" font-size="24" font-weight="bold"
fill="#ffffff" text-anchor="middle">D</text>
</svg>

Después

Anchura:  |  Altura:  |  Tamaño: 2.0 KiB

39
data/systemd/debai.service Archivo normal
Ver fichero

@@ -0,0 +1,39 @@
[Unit]
Description=Debai AI Agent Management System
Documentation=man:debai(1)
After=network.target docker.service
Wants=docker.service
[Service]
Type=notify
User=debai
Group=debai
ExecStart=/usr/bin/debai daemon
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=10
TimeoutStartSec=60
TimeoutStopSec=30
# Security hardening
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=yes
PrivateTmp=yes
PrivateDevices=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
RestrictRealtime=yes
RestrictSUIDSGID=yes
# Allow network and Docker socket access
PrivateNetwork=no
ReadWritePaths=/var/lib/debai /var/log/debai /run/docker.sock
# Capabilities
CapabilityBoundingSet=
AmbientCapabilities=
[Install]
WantedBy=multi-user.target