camo-cli 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +184 -0
- package/dist/agent.js +977 -0
- package/dist/art.js +33 -0
- package/dist/components/App.js +71 -0
- package/dist/components/Chat.js +509 -0
- package/dist/components/HITLConfirmation.js +89 -0
- package/dist/components/ModelSelector.js +100 -0
- package/dist/components/SetupScreen.js +43 -0
- package/dist/config/constants.js +58 -0
- package/dist/config/prompts.js +98 -0
- package/dist/config/store.js +5 -0
- package/dist/core/AgentLoop.js +159 -0
- package/dist/hooks/useAutocomplete.js +52 -0
- package/dist/hooks/useKeyboard.js +73 -0
- package/dist/index.js +31 -0
- package/dist/mcp.js +95 -0
- package/dist/memory/MemoryManager.js +228 -0
- package/dist/providers/index.js +85 -0
- package/dist/providers/registry.js +121 -0
- package/dist/providers/types.js +5 -0
- package/dist/theme.js +45 -0
- package/dist/tools/FileTools.js +88 -0
- package/dist/tools/MemoryTools.js +53 -0
- package/dist/tools/SearchTools.js +45 -0
- package/dist/tools/ShellTools.js +40 -0
- package/dist/tools/TaskTools.js +52 -0
- package/dist/tools/ToolDefinitions.js +102 -0
- package/dist/tools/ToolRegistry.js +30 -0
- package/dist/types/Agent.js +6 -0
- package/dist/types/ink.js +1 -0
- package/dist/types/message.js +1 -0
- package/dist/types/ui.js +1 -0
- package/dist/utils/CriticAgent.js +88 -0
- package/dist/utils/DecisionLogger.js +156 -0
- package/dist/utils/MessageHistory.js +55 -0
- package/dist/utils/PermissionManager.js +253 -0
- package/dist/utils/SessionManager.js +180 -0
- package/dist/utils/TaskState.js +108 -0
- package/dist/utils/debug.js +35 -0
- package/dist/utils/execAsync.js +3 -0
- package/dist/utils/retry.js +50 -0
- package/dist/utils/tokenCounter.js +24 -0
- package/dist/utils/uiFormatter.js +106 -0
- package/package.json +92 -0
package/README.md
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# 🦎 CAMO CLI
|
|
2
|
+
|
|
3
|
+
Ein intelligenter Terminal-AI-Assistent mit Multi-Provider-Support und professionellem TUI.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
✨ **Multi-Provider Support**: Anthropic, OpenAI, Google, Groq + Custom
|
|
8
|
+
🎨 **Professionelles TUI**: Claude Code-Style Interface
|
|
9
|
+
đź”§ **Tool Integration**: File Operations, Code Search, Shell Commands
|
|
10
|
+
📊 **Git-Style Diffs**: Rot/Grün Code-Änderungen
|
|
11
|
+
đź’ľ **Persistente Config**: Sichere API-Key Verwaltung
|
|
12
|
+
🌊 **Streaming Responses**: Echtzeit-Antworten
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
### Lokal testen
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Dependencies installieren
|
|
20
|
+
npm install
|
|
21
|
+
|
|
22
|
+
# Projekt builden
|
|
23
|
+
npm run build
|
|
24
|
+
|
|
25
|
+
# CLI testen
|
|
26
|
+
node dist/index.js
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Global installieren
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Global verlinken (fĂĽr Entwicklung)
|
|
33
|
+
npm link
|
|
34
|
+
|
|
35
|
+
# Jetzt kannst du ĂĽberall `camo` verwenden
|
|
36
|
+
camo
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Verwendung
|
|
40
|
+
|
|
41
|
+
### 1. Setup: API-Key konfigurieren
|
|
42
|
+
|
|
43
|
+
Beim ersten Start wirst du nach einem Provider und API-Key gefragt:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
camo
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Oder direkt via Befehl:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Im interaktiven Modus
|
|
53
|
+
/key anthropic sk-ant-...
|
|
54
|
+
/key openai sk-...
|
|
55
|
+
/key google AIza...
|
|
56
|
+
/key groq gsk_...
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. Modell auswählen
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Alle verfĂĽgbaren Modelle anzeigen
|
|
63
|
+
/model list
|
|
64
|
+
|
|
65
|
+
# Spezifisches Modell wählen
|
|
66
|
+
/model anthropic/claude-3-5-sonnet-latest
|
|
67
|
+
/model openai/gpt-4o
|
|
68
|
+
/model google/gemini-2.0-flash-exp
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 3. Mit CAMO chatten
|
|
72
|
+
|
|
73
|
+
Einfach deine Frage eingeben - CAMO antwortet in Echtzeit! 🦎
|
|
74
|
+
|
|
75
|
+
## VerfĂĽgbare Befehle
|
|
76
|
+
|
|
77
|
+
### Provider & Modell Management
|
|
78
|
+
|
|
79
|
+
- `/key <provider> <api-key>` - API-Key setzen
|
|
80
|
+
- `/model list` - Alle Modelle anzeigen
|
|
81
|
+
- `/model <provider>/<model-id>` - Modell wählen
|
|
82
|
+
- `/provider list` - Alle Provider anzeigen
|
|
83
|
+
- `/provider add <name> <url> <key>` - Custom Provider hinzufĂĽgen
|
|
84
|
+
- `/provider remove <name>` - Provider entfernen
|
|
85
|
+
|
|
86
|
+
### System
|
|
87
|
+
|
|
88
|
+
- `/help` - Hilfe anzeigen
|
|
89
|
+
- `/clear` - Chat-Historie löschen
|
|
90
|
+
- `/exit` - CAMO beenden
|
|
91
|
+
|
|
92
|
+
### MCP (Model Context Protocol)
|
|
93
|
+
|
|
94
|
+
- `/mcp list` - MCP-Server anzeigen
|
|
95
|
+
- `/mcp add <config>` - MCP-Server hinzufĂĽgen
|
|
96
|
+
|
|
97
|
+
## UnterstĂĽtzte Provider & Modelle
|
|
98
|
+
|
|
99
|
+
### Anthropic
|
|
100
|
+
- Claude 3.5 Sonnet (200k context)
|
|
101
|
+
- Claude 3.5 Haiku (200k context)
|
|
102
|
+
- Claude 3.7 Sonnet (200k context)
|
|
103
|
+
|
|
104
|
+
### OpenAI
|
|
105
|
+
- GPT-4o (128k context)
|
|
106
|
+
- GPT-4o Mini (128k context)
|
|
107
|
+
- O1 (200k context)
|
|
108
|
+
- O1 Mini (128k context)
|
|
109
|
+
|
|
110
|
+
### Google
|
|
111
|
+
- Gemini 2.0 Flash (1M context)
|
|
112
|
+
- Gemini 2.5 Pro (2M context)
|
|
113
|
+
|
|
114
|
+
### Groq
|
|
115
|
+
- Llama 3.3 70B (128k context)
|
|
116
|
+
- Mixtral 8x7B (32k context)
|
|
117
|
+
|
|
118
|
+
### Custom
|
|
119
|
+
- Jeder OpenAI-kompatible Endpoint
|
|
120
|
+
|
|
121
|
+
## Beispiele
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Einfache Frage
|
|
125
|
+
Erkläre mir TypeScript in einem Satz
|
|
126
|
+
|
|
127
|
+
# Code-Hilfe
|
|
128
|
+
Schreibe eine TypeScript Funktion die zwei Zahlen addiert
|
|
129
|
+
|
|
130
|
+
# Datei-Operationen
|
|
131
|
+
Erstelle eine neue Datei utils.ts mit Helper-Funktionen
|
|
132
|
+
|
|
133
|
+
# Code-Suche
|
|
134
|
+
Suche nach allen TODO-Kommentaren im Projekt
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Projekt-Struktur
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
camo-cli/
|
|
141
|
+
├── src/
|
|
142
|
+
│ └── index.ts # CLI mit AI-Integration
|
|
143
|
+
├── dist/ # Kompilierte JavaScript-Dateien
|
|
144
|
+
├── package.json # NPM Konfiguration mit bin-Feld
|
|
145
|
+
├── tsconfig.json # TypeScript Konfiguration
|
|
146
|
+
└── README.md # Diese Datei
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Technologien
|
|
150
|
+
|
|
151
|
+
- **TypeScript**: Typsicherer Code
|
|
152
|
+
- **Node.js**: Runtime
|
|
153
|
+
- **AI SDK**: Vercel AI SDK fĂĽr Streaming
|
|
154
|
+
- **Anthropic**: Claude 3.5 Sonnet
|
|
155
|
+
- **OpenAI**: GPT-4o
|
|
156
|
+
- **Google**: Gemini 2.0 Flash
|
|
157
|
+
- **commander**: CLI-Framework
|
|
158
|
+
- **conf**: Persistente Konfiguration
|
|
159
|
+
- **chalk**: Farbige Terminal-Ausgabe
|
|
160
|
+
|
|
161
|
+
## Entwicklung
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Mit ts-node direkt ausfĂĽhren (ohne Build)
|
|
165
|
+
npm run dev
|
|
166
|
+
|
|
167
|
+
# Projekt neu builden
|
|
168
|
+
npm run build
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Fehlerbehandlung
|
|
172
|
+
|
|
173
|
+
CAMO erkennt automatisch:
|
|
174
|
+
- ❌ Fehlende API-Keys
|
|
175
|
+
- ❌ Ungültige API-Keys
|
|
176
|
+
- ❌ Rate Limits
|
|
177
|
+
- ❌ Netzwerkfehler
|
|
178
|
+
|
|
179
|
+
Und gibt hilfreiche Fehlermeldungen aus.
|
|
180
|
+
|
|
181
|
+
## Lizenz
|
|
182
|
+
|
|
183
|
+
ISC
|
|
184
|
+
|