UNPKG

abyss-ai

Version:

Autonomous AI coding agent - enhanced OpenCode with autonomous capabilities

92 lines (81 loc) • 3.13 kB
import { cmd } from "./cmd" import * as prompts from "@clack/prompts" import { UI } from "../ui" import { AgentMemory } from "../../agent/memory/agent-memory" // Abyss Information Command export const AbyssInfoCommand = cmd({ command: "info", describe: "show Abyss capabilities and system information", builder: (yargs) => yargs .option("memory-stats", { type: "boolean", describe: "include detailed memory statistics", default: false, }) .option("capabilities", { type: "boolean", describe: "show autonomous capabilities overview", default: true, }), async handler(args) { UI.empty() prompts.intro("🌊 The Abyss - Autonomous AI Coding Agent") if (args.capabilities) { console.log(` šŸš€ **Autonomous Capabilities:** • YOLO Mode - Works without permission prompts • Batch Processing - Handles entire directories intelligently • Learning System - Remembers and improves from previous analyses • Safety Features - Automatic backups and rollback capabilities • Multi-Agent Coordination - Specialized agents for different tasks 🧠 **Intelligence Features:** • Memory-driven contextual advice • Pattern recognition across projects • Project-specific adaptation • Risk assessment based on historical data • Performance optimization with file prioritization šŸ”§ **Advanced Tools:** • Dynamic question generation • Coordinated multi-agent analysis • Real-time learning and adaptation • Comprehensive backup management • Concurrent processing with safety checks `) } if (args.memoryStats) { try { const agentMemory = new AgentMemory(process.cwd()) const stats = agentMemory.getMemoryStats() console.log(`🧠 **Memory Statistics:**`) console.log(` • Total Memories: ${stats.totalMemories}`) console.log(` • Success Rate: ${Math.round(stats.successRate * 100)}%`) console.log(` • Average Complexity: ${stats.averageComplexity.toFixed(2)}`) if (Object.keys(stats.languageBreakdown).length > 0) { console.log(` • Language Experience:`) Object.entries(stats.languageBreakdown) .sort((a, b) => b[1] - a[1]) .slice(0, 5) .forEach(([language, count]) => { console.log(` - ${language}: ${count} files analyzed`) }) } } catch (error) { console.log(`🧠 **Memory Statistics:** Not available (${error})`) } } console.log(` šŸ’” **Quick Start Commands:** abyss Interactive mode abyss multiagent yolo Autonomous mode abyss multiagent yolo --directory ./src Batch process abyss multiagent memory View learning data abyss help Comprehensive help šŸ”— **Resources:** • GitHub: https://github.com/sst/abyss • Original: https://github.com/sst/opencode • Help: abyss help [topic] `) prompts.outro("Ready to dive into the abyss? 🌊") }, })