@aiyou-dev/cli 0.1.0 → 1.0.2
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 +438 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +360 -4
- package/dist/commands/index.js.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/init/interactive.d.ts +2 -0
- package/dist/init/interactive.d.ts.map +1 -1
- package/dist/init/interactive.js +2 -2
- package/dist/init/interactive.js.map +1 -1
- package/dist/init/opencode-config.d.ts +46 -0
- package/dist/init/opencode-config.d.ts.map +1 -0
- package/dist/init/opencode-config.js +82 -0
- package/dist/init/opencode-config.js.map +1 -0
- package/dist/init/settings-generator.d.ts +21 -10
- package/dist/init/settings-generator.d.ts.map +1 -1
- package/dist/init/settings-generator.js +121 -35
- package/dist/init/settings-generator.js.map +1 -1
- package/dist/init/team-setup.d.ts +43 -0
- package/dist/init/team-setup.d.ts.map +1 -0
- package/dist/init/team-setup.js +237 -0
- package/dist/init/team-setup.js.map +1 -0
- package/dist/mcp/tools/ast-tools.d.ts +6 -0
- package/dist/mcp/tools/ast-tools.d.ts.map +1 -0
- package/dist/mcp/tools/ast-tools.js +101 -0
- package/dist/mcp/tools/ast-tools.js.map +1 -0
- package/dist/mcp/tools/config-tools.js +1 -1
- package/dist/mcp/tools/config-tools.js.map +1 -1
- package/dist/mcp/tools/hooks-tools.d.ts.map +1 -1
- package/dist/mcp/tools/hooks-tools.js +99 -1
- package/dist/mcp/tools/hooks-tools.js.map +1 -1
- package/dist/mcp/tools/index.d.ts +1 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +13 -1
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/model-engine-tools.d.ts +3 -0
- package/dist/mcp/tools/model-engine-tools.d.ts.map +1 -0
- package/dist/mcp/tools/model-engine-tools.js +52 -0
- package/dist/mcp/tools/model-engine-tools.js.map +1 -0
- package/dist/mcp/tools/models-tools.d.ts +6 -0
- package/dist/mcp/tools/models-tools.d.ts.map +1 -0
- package/dist/mcp/tools/models-tools.js +162 -0
- package/dist/mcp/tools/models-tools.js.map +1 -0
- package/dist/mcp/tools/proxy-tools.d.ts +6 -0
- package/dist/mcp/tools/proxy-tools.d.ts.map +1 -0
- package/dist/mcp/tools/proxy-tools.js +243 -0
- package/dist/mcp/tools/proxy-tools.js.map +1 -0
- package/dist/mcp/tools/rd-tools.d.ts +6 -0
- package/dist/mcp/tools/rd-tools.d.ts.map +1 -0
- package/dist/mcp/tools/rd-tools.js +205 -0
- package/dist/mcp/tools/rd-tools.js.map +1 -0
- package/dist/mcp/tools/semantic-tools.d.ts +6 -0
- package/dist/mcp/tools/semantic-tools.d.ts.map +1 -0
- package/dist/mcp/tools/semantic-tools.js +129 -0
- package/dist/mcp/tools/semantic-tools.js.map +1 -0
- package/dist/models/index.d.ts +6 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +6 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/launcher.d.ts +15 -0
- package/dist/models/launcher.d.ts.map +1 -0
- package/dist/models/launcher.js +187 -0
- package/dist/models/launcher.js.map +1 -0
- package/dist/models/manager.d.ts +13 -0
- package/dist/models/manager.d.ts.map +1 -0
- package/dist/models/manager.js +247 -0
- package/dist/models/manager.js.map +1 -0
- package/dist/models/minio.d.ts +17 -0
- package/dist/models/minio.d.ts.map +1 -0
- package/dist/models/minio.js +93 -0
- package/dist/models/minio.js.map +1 -0
- package/dist/models/types.d.ts +48 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +2 -0
- package/dist/models/types.js.map +1 -0
- package/dist/models/vram.d.ts +9 -0
- package/dist/models/vram.d.ts.map +1 -0
- package/dist/models/vram.js +139 -0
- package/dist/models/vram.js.map +1 -0
- package/dist/napi/proxy.d.ts +214 -0
- package/dist/napi/proxy.d.ts.map +1 -0
- package/dist/napi/proxy.js +39 -0
- package/dist/napi/proxy.js.map +1 -0
- package/dist/production/error-handler.js +1 -1
- package/dist/production/error-handler.js.map +1 -1
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +9 -5
package/README.md
ADDED
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
# aiyoucli
|
|
2
|
+
|
|
3
|
+
AI agent CLI with Rust-powered vector intelligence. Zero dependencies. Sub-millisecond operations.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@aiyou-dev/cli)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://github.com/faugustdev/aiyoucli/actions/workflows/ci.yml)
|
|
8
|
+
[](https://www.npmjs.com/package/@aiyou-dev/cli)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Why aiyoucli?
|
|
13
|
+
|
|
14
|
+
- **65x smaller** than comparable tools -- 6,441 lines of code vs 416,834. Every line earns its place.
|
|
15
|
+
- **Zero runtime dependencies.** A single NAPI binary handles vector search, neural learning, graph traversal, and code analysis. No node_modules tree at runtime.
|
|
16
|
+
- **Sub-millisecond Rust engines.** Task routing in 0.04ms. Neural learning in 0.18ms. HNSW vector search with SIMD acceleration.
|
|
17
|
+
- **24 CLI commands + 84 MCP tools.** Full AI agent orchestration from the terminal or through any MCP-compatible client.
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
npm install -g @aiyou-dev/cli
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Initialize a project:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
aiyoucli init
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Features
|
|
32
|
+
|
|
33
|
+
| Category | What it does |
|
|
34
|
+
|----------|-------------|
|
|
35
|
+
| **Rust NAPI Engines** | 8 native engines -- HNSW vector search, SONA neural learning, attention routing, graph knowledge, code analysis, technology detection, TOON distillation, task routing. All compiled to a single `.node` binary. |
|
|
36
|
+
| **MCP Server** | 84 tools exposed via Model Context Protocol for AI agent orchestration. Drop into Claude Code, Cursor, or any MCP client. |
|
|
37
|
+
| **Multi-Agent Orchestration** | Spawn agents, manage swarms across 5 topologies (hierarchical, mesh, ring, star, hybrid), route tasks to optimal model tiers. |
|
|
38
|
+
| **Vector Memory** | Persistent HNSW vector database with SIMD-accelerated similarity search. Store, query, and manage embeddings locally. |
|
|
39
|
+
| **Neural Learning (SONA)** | MicroLoRA adapters with EWC++ consolidation. Continuous learning without catastrophic forgetting. |
|
|
40
|
+
| **TOON Distillation** | Convert Markdown instructions to dense structured format. 52% fewer tokens with no information loss. |
|
|
41
|
+
| **Technology Detection** | Auto-detect 45+ technologies, frameworks, and tools in any project directory. |
|
|
42
|
+
| **Deep Research** | Multi-engine web research (arXiv, PubMed, Semantic Scholar, Wikipedia, SearXNG) with strategy-driven orchestration, document processing, and knowledge graphs. |
|
|
43
|
+
| **Local LLM Proxy** | Built-in proxy gateway for local GGUF models with shield, compression, caching, segmentation, and cost tracking. |
|
|
44
|
+
| **Model Management** | Scan GGUF models, analyze quantization levels, get Unsloth Dynamic v2.0 upgrade recommendations. |
|
|
45
|
+
| **Production Hardening** | Circuit breakers, rate limiters, retry with exponential backoff, health diagnostics, cost tracking. |
|
|
46
|
+
|
|
47
|
+
## CLI Commands
|
|
48
|
+
|
|
49
|
+
### Core
|
|
50
|
+
|
|
51
|
+
| Command | Description |
|
|
52
|
+
|---------|-------------|
|
|
53
|
+
| `init` | Initialize project -- generates AGENTS.md, settings, and skills |
|
|
54
|
+
| `status` | System status overview |
|
|
55
|
+
| `doctor` | Health diagnostics and environment checks |
|
|
56
|
+
| `config` | Get or set configuration values |
|
|
57
|
+
|
|
58
|
+
### Agents and Orchestration
|
|
59
|
+
|
|
60
|
+
| Command | Description |
|
|
61
|
+
|---------|-------------|
|
|
62
|
+
| `agent` | Agent lifecycle -- spawn, list, status, stop, record, metrics |
|
|
63
|
+
| `swarm` | Swarm coordination -- init, status, stop |
|
|
64
|
+
| `task` | Task management -- create, list, status, complete |
|
|
65
|
+
| `session` | Session lifecycle -- start, end, list |
|
|
66
|
+
| `route` | AI-powered task routing to optimal model tiers |
|
|
67
|
+
| `hooks` | Lifecycle hooks -- route, pre-task, post-task, stats |
|
|
68
|
+
|
|
69
|
+
### Intelligence
|
|
70
|
+
|
|
71
|
+
| Command | Description |
|
|
72
|
+
|---------|-------------|
|
|
73
|
+
| `memory` | Vector memory -- init, store, search, list, stats, delete |
|
|
74
|
+
| `neural` | Neural training -- observe, learn, stats |
|
|
75
|
+
| `analyze` | Code analysis -- diff, commit, complexity |
|
|
76
|
+
| `security` | Security scanning |
|
|
77
|
+
| `performance` | Benchmarking suite |
|
|
78
|
+
|
|
79
|
+
### Local AI
|
|
80
|
+
|
|
81
|
+
| Command | Description |
|
|
82
|
+
|---------|-------------|
|
|
83
|
+
| `models` | GGUF model management -- list, optimize recommendations |
|
|
84
|
+
| `rd` | Deep research -- init, search, strategies, status, report, doc |
|
|
85
|
+
| `route` | Task-to-agent routing with Q-learning + model tier selection |
|
|
86
|
+
|
|
87
|
+
### Utilities
|
|
88
|
+
|
|
89
|
+
| Command | Description |
|
|
90
|
+
|---------|-------------|
|
|
91
|
+
| `skills` | Manage project skills -- sync, list, detect |
|
|
92
|
+
| `gcc` | Git context extraction |
|
|
93
|
+
| `statusline` | Rich status dashboard |
|
|
94
|
+
| `completions` | Shell completions for bash and zsh |
|
|
95
|
+
| `mcp` | MCP server management -- start, status, tools |
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Usage Guide
|
|
100
|
+
|
|
101
|
+
### Multi-Agent with Local Models
|
|
102
|
+
|
|
103
|
+
aiyoucli lets you run a multi-agent system entirely on your local machine using GGUF models via the proxy gateway.
|
|
104
|
+
|
|
105
|
+
#### 1. Start the LLM Proxy Gateway
|
|
106
|
+
|
|
107
|
+
Run any llama.cpp-compatible server on port 8000:
|
|
108
|
+
|
|
109
|
+
```sh
|
|
110
|
+
# Example with llama-server
|
|
111
|
+
llama-server -m models/my-model.Q4_K_M.gguf --port 8000 --host 127.0.0.1
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Or use any OpenAI-compatible API endpoint by configuring the base URL:
|
|
115
|
+
|
|
116
|
+
```sh
|
|
117
|
+
aiyoucli config set llm.base_url http://127.0.0.1:8000/v1
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### 2. Spawn Agents
|
|
121
|
+
|
|
122
|
+
Agents are lightweight state trackers. Each agent has a type, name, assigned model tier, and metrics:
|
|
123
|
+
|
|
124
|
+
```sh
|
|
125
|
+
# Spawn a coder agent (default: sonnet-tier)
|
|
126
|
+
aiyoucli agent spawn --type coder --name worker-1
|
|
127
|
+
|
|
128
|
+
# Spawn an architect agent using opus-tier logic
|
|
129
|
+
aiyoucli agent spawn --type architect --model opus
|
|
130
|
+
|
|
131
|
+
# Spawn a lightweight tester agent (haiku-tier)
|
|
132
|
+
aiyoucli agent spawn --type tester
|
|
133
|
+
|
|
134
|
+
# Spawn a researcher agent for information gathering
|
|
135
|
+
aiyoucli agent spawn --type researcher --name research-1
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Agent types and their default model tiers:**
|
|
139
|
+
|
|
140
|
+
| Type | Default Model | Best For |
|
|
141
|
+
|------|--------------|----------|
|
|
142
|
+
| `coder` | sonnet | Code generation and editing |
|
|
143
|
+
| `researcher` | sonnet | Information gathering and analysis |
|
|
144
|
+
| `tester` | haiku | Test writing and validation |
|
|
145
|
+
| `reviewer` | sonnet | Code review and feedback |
|
|
146
|
+
| `architect` | opus | System design and architecture |
|
|
147
|
+
| `security` | opus | Security audit and vulnerability detection |
|
|
148
|
+
| `debugger` | sonnet | Bug hunting and root cause analysis |
|
|
149
|
+
| `documenter` | haiku | Documentation generation |
|
|
150
|
+
|
|
151
|
+
The spawned agents are recorded in `.aiyoucli/agents/store.json` and can be listed, stopped, or queried at any time.
|
|
152
|
+
|
|
153
|
+
#### 3. Initialize a Swarm
|
|
154
|
+
|
|
155
|
+
A swarm coordinates multiple agents together. Choose a topology that matches your workflow:
|
|
156
|
+
|
|
157
|
+
```sh
|
|
158
|
+
# Hierarchical: one coordinator delegates to workers (good for complex tasks)
|
|
159
|
+
aiyoucli swarm init --topology hierarchical --maxAgents 5 --strategy specialized
|
|
160
|
+
|
|
161
|
+
# Mesh: all agents collaborate peer-to-peer (good for research)
|
|
162
|
+
aiyoucli swarm init --topology mesh --maxAgents 8 --strategy balanced
|
|
163
|
+
|
|
164
|
+
# Star: central hub routes to specialized leaves (good for service architectures)
|
|
165
|
+
aiyoucli swarm init --topology star --strategy adaptive
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Topology comparison:**
|
|
169
|
+
|
|
170
|
+
| Topology | Structure | Use Case |
|
|
171
|
+
|----------|-----------|----------|
|
|
172
|
+
| `hierarchical` | Manager → Workers | Complex tasks with decomposition |
|
|
173
|
+
| `mesh` | Peer-to-peer | Collaborative research, brainstorming |
|
|
174
|
+
| `ring` | Sequential chain | Pipeline processing |
|
|
175
|
+
| `star` | Hub → Spokes | Centralized orchestration |
|
|
176
|
+
| `hybrid` | Mixed | Custom architectures |
|
|
177
|
+
|
|
178
|
+
**Strategy options:**
|
|
179
|
+
|
|
180
|
+
| Strategy | Behavior |
|
|
181
|
+
|----------|----------|
|
|
182
|
+
| `specialized` | Each agent is assigned tasks matching its type |
|
|
183
|
+
| `balanced` | Tasks are distributed evenly based on load |
|
|
184
|
+
| `adaptive` | Agent roles adjust dynamically based on performance metrics |
|
|
185
|
+
|
|
186
|
+
#### 4. Route Tasks
|
|
187
|
+
|
|
188
|
+
Use the Q-learning router to send tasks to the optimal agent:
|
|
189
|
+
|
|
190
|
+
```sh
|
|
191
|
+
# Route a task description to the best agent type
|
|
192
|
+
aiyoucli route --task "implement user authentication with JWT"
|
|
193
|
+
|
|
194
|
+
# Select the optimal model tier for a task
|
|
195
|
+
aiyoucli hooks model-route --task "analyze this security vulnerability"
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The router learns from outcomes via `hooks post-task` and persists its Q-table to `.aiyoucli/q-table.json`.
|
|
199
|
+
|
|
200
|
+
#### 5. Check Status
|
|
201
|
+
|
|
202
|
+
```sh
|
|
203
|
+
# View all agents
|
|
204
|
+
aiyoucli agent list
|
|
205
|
+
|
|
206
|
+
# View swarm state
|
|
207
|
+
aiyoucli swarm status
|
|
208
|
+
|
|
209
|
+
# Full coordination overview
|
|
210
|
+
aiyoucli coordination status
|
|
211
|
+
|
|
212
|
+
# Rich dashboard
|
|
213
|
+
aiyoucli statusline
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Deep Research
|
|
217
|
+
|
|
218
|
+
The `rd` command provides multi-engine web research with strategy-driven orchestration.
|
|
219
|
+
|
|
220
|
+
```sh
|
|
221
|
+
# Initialize a research session
|
|
222
|
+
aiyoucli rd init --query "Rust async runtime comparison: tokio vs smol vs monoio" --strategy langgraph-agent
|
|
223
|
+
|
|
224
|
+
# Search across academic engines
|
|
225
|
+
aiyoucli rd search --query "async Rust performance benchmarks" --engine arxiv
|
|
226
|
+
aiyoucli rd search --query "tokio scheduler overhead" --engine semantic-scholar
|
|
227
|
+
|
|
228
|
+
# List available strategies
|
|
229
|
+
aiyoucli rd strategies
|
|
230
|
+
|
|
231
|
+
# Check session progress
|
|
232
|
+
aiyoucli rd status --session-id rd_xxxx
|
|
233
|
+
|
|
234
|
+
# Generate a research report
|
|
235
|
+
aiyoucli rd report --session-id rd_xxxx --format markdown
|
|
236
|
+
|
|
237
|
+
# Queue a document for processing (PDF/DOCX/image)
|
|
238
|
+
aiyoucli rd doc --path paper.pdf
|
|
239
|
+
aiyoucli rd doc --path scanned-doc.pdf --ocr
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**Research strategies available:**
|
|
243
|
+
|
|
244
|
+
| Strategy | Description |
|
|
245
|
+
|----------|-------------|
|
|
246
|
+
| `langgraph-agent` | Autonomous agentic research: the LLM decides what to search, which engines to use, and when to synthesize findings |
|
|
247
|
+
| `source-based` | Focused source extraction with cross-engine filtering and deduplication |
|
|
248
|
+
| `focused-iteration` | Iterative deep-dive with adaptive sub-questions and progressive knowledge summation |
|
|
249
|
+
| `topic-organization` | Structured output organized by topic clusters with hierarchical findings |
|
|
250
|
+
| `quick` | Fast single-pass research summary (30s-3min) for quick answers |
|
|
251
|
+
|
|
252
|
+
**Search engines:**
|
|
253
|
+
|
|
254
|
+
| Engine | Type | Endpoint |
|
|
255
|
+
|--------|------|----------|
|
|
256
|
+
| `searxng` | General web search | localhost:8080 |
|
|
257
|
+
| `arxiv` | Academic papers (CS, physics, math) | export.arxiv.org |
|
|
258
|
+
| `pubmed` | Biomedical literature | ncbi.nlm.nih.gov |
|
|
259
|
+
| `semantic-scholar` | Scientific papers (AI/CS focus) | api.semanticscholar.org |
|
|
260
|
+
| `wikipedia` | Encyclopedia | en.wikipedia.org |
|
|
261
|
+
|
|
262
|
+
### Local Model Management
|
|
263
|
+
|
|
264
|
+
The `models` command scans and analyzes local GGUF files:
|
|
265
|
+
|
|
266
|
+
```sh
|
|
267
|
+
# Scan a directory for GGUF models
|
|
268
|
+
aiyoucli models list --path /home/user/models/
|
|
269
|
+
|
|
270
|
+
# Get Unsloth Dynamic v2.0 optimization recommendation
|
|
271
|
+
aiyoucli models optimize --model llama-3.1-8b
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Output includes:
|
|
275
|
+
- File size and quantization level (Q2_K through Q8_0)
|
|
276
|
+
- Quantization quality ranking (0-6)
|
|
277
|
+
- Unsloth Dynamic v2.0 upgrade path with `huggingface-cli` download commands
|
|
278
|
+
|
|
279
|
+
### Local LLM Proxy (llmproxy)
|
|
280
|
+
|
|
281
|
+
The proxy gateway at `http://127.0.0.1:8000/v1` provides an OpenAI-compatible API for local GGUF models with enterprise middleware:
|
|
282
|
+
|
|
283
|
+
```sh
|
|
284
|
+
# Check proxy health
|
|
285
|
+
aiyoucli mcp tools # all proxy tools are available via MCP
|
|
286
|
+
|
|
287
|
+
# The proxy exposes these capabilities through MCP tools:
|
|
288
|
+
# - proxy_chat: Send chat completions to local LLM
|
|
289
|
+
# - proxy_embed: Generate text embeddings
|
|
290
|
+
# - proxy_compress: Compress context windows
|
|
291
|
+
# - proxy_shield_check: Content safety filtering
|
|
292
|
+
# - proxy_list_models: Available model listing
|
|
293
|
+
# - proxy_estimate_cost: Token cost estimation
|
|
294
|
+
# - proxy_analyze_text: Text analysis and compression
|
|
295
|
+
# - proxy_segment: Text segmentation/chunking
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
The proxy is designed to run alongside any llama.cpp-compatible server. It adds:
|
|
299
|
+
- **Shield**: Prompt injection detection, blocked keyword filtering, high-entropy detection
|
|
300
|
+
- **Compression**: Smart context pruning and message truncation
|
|
301
|
+
- **Caching**: Response cache to avoid redundant inference
|
|
302
|
+
- **Segmentation**: Text splitting by chunks or sentences with overlap
|
|
303
|
+
- **Embeddings**: Integration with local ONNX embedding server (port 8001)
|
|
304
|
+
|
|
305
|
+
For a detailed guide on setting up local/hybrid models, Wake-on-Request routing, VRAM management, and configuring swarms, see [Local and Hybrid Models Configuration](docs/local-models.md).
|
|
306
|
+
|
|
307
|
+
### Run as MCP Server
|
|
308
|
+
|
|
309
|
+
aiyoucli can run as an MCP server for Claude Code, Cursor, or any MCP-compatible client:
|
|
310
|
+
|
|
311
|
+
```jsonc
|
|
312
|
+
// .mcp.json
|
|
313
|
+
{
|
|
314
|
+
"mcpServers": {
|
|
315
|
+
"aiyoucli": {
|
|
316
|
+
"command": "npx",
|
|
317
|
+
"args": ["@aiyou-dev/cli", "mcp", "start"]
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
Or run directly:
|
|
324
|
+
|
|
325
|
+
```sh
|
|
326
|
+
aiyoucli mcp start
|
|
327
|
+
aiyoucli mcp status
|
|
328
|
+
aiyoucli mcp tools # list all 84 available tools
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
## MCP Tools
|
|
332
|
+
|
|
333
|
+
84 tools organized across 22 categories. All available through any MCP-compatible client.
|
|
334
|
+
|
|
335
|
+
| Category | Count | Key Tools |
|
|
336
|
+
|----------|------:|-----------|
|
|
337
|
+
| Deep Research | 8 | rd_init, rd_search, rd_document_process, rd_strategies, rd_status, rd_knowledge_graph, rd_citations, rd_report |
|
|
338
|
+
| Metrics and Monitoring | 8 | metrics_snapshot, metrics_cost, metrics_latency, metrics_memory, metrics_record_tokens, metrics_save, metrics_reset, metrics_tools_summary |
|
|
339
|
+
| Agent Management | 6 | agent_spawn, agent_list, agent_status, agent_stop, agent_record, agent_metrics |
|
|
340
|
+
| Vector Memory | 6 | memory_init, memory_store, memory_search, memory_stats, memory_count, memory_delete |
|
|
341
|
+
| Proxy Gateway | 10 | proxy_chat, proxy_health, proxy_shield_check, proxy_compress, proxy_analyze_text, proxy_segment, proxy_list_models, proxy_estimate_cost, proxy_embed, proxy_cache_stats |
|
|
342
|
+
| Semantic Router | 5 | semantic_route, semantic_route_hybrid, semantic_route_enhanced, semantic_embed, semantic_stats |
|
|
343
|
+
| Hooks and Lifecycle | 5 | hooks_route, hooks_model_route, hooks_pre_task, hooks_post_task, hooks_stats |
|
|
344
|
+
| Neural Learning | 4 | neural_observe, neural_learn, neural_stats, neural_transform |
|
|
345
|
+
| Task Management | 4 | task_create, task_list, task_status, task_complete |
|
|
346
|
+
| Code Analysis | 3 | analyze_diff, analyze_commit, analyze_complexity |
|
|
347
|
+
| Session | 3 | session_start, session_end, session_list |
|
|
348
|
+
| Swarm | 3 | swarm_init, swarm_status, swarm_stop |
|
|
349
|
+
| AST Analysis | 3 | ast_analyze, ast_analyze_batch, ast_detect_language |
|
|
350
|
+
| Skills | 3 | skills_sync, skills_list, skills_detect |
|
|
351
|
+
| Models | 2 | models_list, models_optimize |
|
|
352
|
+
| Distiller | 2 | distill_markdown, distill_file |
|
|
353
|
+
| Config | 2 | config_get, config_set |
|
|
354
|
+
| System | 2 | system_status, system_doctor |
|
|
355
|
+
| Other | 5 | perf_benchmark, security_scan, coordination_status, git_context, statusline |
|
|
356
|
+
|
|
357
|
+
## Architecture
|
|
358
|
+
|
|
359
|
+
```
|
|
360
|
+
+----------------------------------------------------------+
|
|
361
|
+
| CLI / MCP Server |
|
|
362
|
+
| (TypeScript) |
|
|
363
|
+
| 24 commands 84 MCP tools production middleware |
|
|
364
|
+
+---------------------------+------------------------------+
|
|
365
|
+
|
|
|
366
|
+
NAPI Bridge
|
|
367
|
+
|
|
|
368
|
+
+---------------------------v------------------------------+
|
|
369
|
+
| Rust Engines |
|
|
370
|
+
| |
|
|
371
|
+
| vector.rs - HNSW vector search, SIMD acceleration |
|
|
372
|
+
| sona.rs - MicroLoRA + EWC++ neural learning |
|
|
373
|
+
| attention.rs - Flash attention, agent coordination |
|
|
374
|
+
| routing.rs - Task routing, model tier selection |
|
|
375
|
+
| graph.rs - Knowledge graph, k-hop traversal |
|
|
376
|
+
| analysis.rs - Code complexity, diff analysis |
|
|
377
|
+
| detector.rs - Technology detection (45+ frameworks) |
|
|
378
|
+
| distiller.rs - TOON markdown distillation |
|
|
379
|
+
| proxy/ - LLM gateway, shield, compression, cache |
|
|
380
|
+
| semantic/ - Keyword + embedding hybrid routing |
|
|
381
|
+
+----------------------------------------------------------+
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
TypeScript handles CLI parsing, MCP protocol, and production middleware (circuit breakers, rate limiting, retries). All compute-intensive work crosses the NAPI bridge into Rust, where operations complete in microseconds to low milliseconds.
|
|
385
|
+
|
|
386
|
+
## Configuration
|
|
387
|
+
|
|
388
|
+
Configuration is stored per-project in `.aiyoucli/` and managed through the CLI or MCP tools.
|
|
389
|
+
|
|
390
|
+
```sh
|
|
391
|
+
# Set a value
|
|
392
|
+
aiyoucli config set memory.dimensions 384
|
|
393
|
+
|
|
394
|
+
# Read a value
|
|
395
|
+
aiyoucli config get memory.dimensions
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Key configuration areas:
|
|
399
|
+
|
|
400
|
+
- **Model routing** -- default model, tier thresholds, fallback behavior
|
|
401
|
+
- **Memory** -- vector dimensions, similarity metric, persistence path
|
|
402
|
+
- **Production** -- circuit breaker thresholds, rate limits, retry policy
|
|
403
|
+
- **Skills** -- detected technologies, custom skill definitions
|
|
404
|
+
- **LLM proxy** -- base URL, model name, provider type
|
|
405
|
+
|
|
406
|
+
## Performance
|
|
407
|
+
|
|
408
|
+
Benchmarked on Apple M-series. All operations run in-process with no network calls.
|
|
409
|
+
|
|
410
|
+
| Operation | Avg Latency | Ops/sec |
|
|
411
|
+
|-----------|------------:|--------:|
|
|
412
|
+
| Model tier selection | 0.04ms | 23,923 |
|
|
413
|
+
| Graph k-hop (100 nodes) | 0.08ms | 13,158 |
|
|
414
|
+
| Task routing | 0.11ms | 8,718 |
|
|
415
|
+
| Complexity analysis | 0.15ms | 6,631 |
|
|
416
|
+
| Neural learn | 0.18ms | 5,445 |
|
|
417
|
+
| Neural observe | 0.42ms | 2,398 |
|
|
418
|
+
| Vector insert (3D) | 1.87ms | 534 |
|
|
419
|
+
| Vector search (100 vectors) | 3.36ms | 297 |
|
|
420
|
+
|
|
421
|
+
## Contributing
|
|
422
|
+
|
|
423
|
+
1. Fork the repository
|
|
424
|
+
2. Create a feature branch (`git checkout -b feature/your-feature`)
|
|
425
|
+
3. Install dependencies: `npm install`
|
|
426
|
+
4. Build: `npm run build` (requires Rust toolchain for NAPI)
|
|
427
|
+
5. Run tests: `npm test`
|
|
428
|
+
6. Submit a pull request
|
|
429
|
+
|
|
430
|
+
The build has two stages: `build:rs` compiles the Rust NAPI binary, and `build:ts` compiles TypeScript. You need a working Rust toolchain (stable) to build from source.
|
|
431
|
+
|
|
432
|
+
## License
|
|
433
|
+
|
|
434
|
+
MIT. See [LICENSE](LICENSE) for details.
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
Built by [Francisco August](https://github.com/faugustdev).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAgwC1D,eAAO,MAAM,QAAQ,EAAE,OAAO,EA0B7B,CAAC"}
|