aidevops 2.100.19 → 2.101.0
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 +82 -20
- package/VERSION +1 -1
- package/aidevops.sh +1 -1
- package/package.json +1 -1
- package/setup.sh +28 -2
- package/templates/deploy-templates.sh +1 -1
package/README.md
CHANGED
|
@@ -92,9 +92,9 @@ The result: AI agents that work *with* your development process, not around it.
|
|
|
92
92
|
### Agent Structure
|
|
93
93
|
|
|
94
94
|
- Primary agents (Build+, SEO, Marketing, etc.) with @plan-plus subagent for planning-only mode
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
95
|
+
- 614+ subagent markdown files organized by domain
|
|
96
|
+
- 164 helper scripts in `.agent/scripts/`
|
|
97
|
+
- 28 slash commands for common workflows
|
|
98
98
|
|
|
99
99
|
<!-- AI-CONTEXT-END -->
|
|
100
100
|
|
|
@@ -480,7 +480,7 @@ aidevops implements proven agent design patterns identified by [Lance Martin (La
|
|
|
480
480
|
|
|
481
481
|
| Pattern | Description | aidevops Implementation |
|
|
482
482
|
|---------|-------------|------------------------|
|
|
483
|
-
| **Give Agents a Computer** | Filesystem + shell for persistent context | `~/.aidevops/.agent-workspace/`,
|
|
483
|
+
| **Give Agents a Computer** | Filesystem + shell for persistent context | `~/.aidevops/.agent-workspace/`, 164 helper scripts |
|
|
484
484
|
| **Multi-Layer Action Space** | Few tools, push actions to computer | Per-agent MCP filtering (~12-20 tools each) |
|
|
485
485
|
| **Progressive Disclosure** | Load context on-demand | Subagent routing with content summaries, YAML frontmatter, read-on-demand |
|
|
486
486
|
| **Offload Context** | Write results to filesystem | `.agent-workspace/work/[project]/` for persistence |
|
|
@@ -489,7 +489,9 @@ aidevops implements proven agent design patterns identified by [Lance Martin (La
|
|
|
489
489
|
| **Multi-Agent Orchestration** | Coordinate parallel agents | TOON mailbox, agent registry, stateless coordinator |
|
|
490
490
|
| **Compaction Resilience** | Preserve context across compaction | OpenCode plugin injects dynamic state at compaction time |
|
|
491
491
|
| **Ralph Loop** | Iterative execution until complete | `ralph-loop-helper.sh`, `full-loop-helper.sh` |
|
|
492
|
-
| **Evolve Context** | Learn from sessions | `/remember`, `/recall` with SQLite FTS5 |
|
|
492
|
+
| **Evolve Context** | Learn from sessions | `/remember`, `/recall` with SQLite FTS5 + opt-in semantic search |
|
|
493
|
+
| **Pattern Tracking** | Learn what works/fails | `pattern-tracker-helper.sh`, `/patterns` command |
|
|
494
|
+
| **Cost-Aware Routing** | Match model to task complexity | `model-routing.md` with 5-tier guidance, `/route` command |
|
|
493
495
|
|
|
494
496
|
**Key insight**: Context is a finite resource with diminishing returns. aidevops treats every token as precious - loading only what's needed, when it's needed.
|
|
495
497
|
|
|
@@ -518,7 +520,7 @@ Coordinator (pulse loop)
|
|
|
518
520
|
| Mailbox | `mail-helper.sh` | TOON-based inter-agent messaging (send, check, broadcast, archive) |
|
|
519
521
|
| Coordinator | `coordinator-helper.sh` | Stateless pulse loop: collect reports, dispatch tasks, track idle workers |
|
|
520
522
|
| Registry | `mail-helper.sh register` | Agent registration with role, branch, worktree, heartbeat |
|
|
521
|
-
| Model routing | `
|
|
523
|
+
| Model routing | `model-routing.md`, `/route` | Cost-aware 5-tier routing guidance (haiku/flash/sonnet/pro/opus) |
|
|
522
524
|
|
|
523
525
|
**How it works:**
|
|
524
526
|
|
|
@@ -538,37 +540,64 @@ Coordinator (pulse loop)
|
|
|
538
540
|
|
|
539
541
|
### Parallel Agents & Headless Dispatch
|
|
540
542
|
|
|
541
|
-
Run multiple AI sessions concurrently with isolated contexts
|
|
543
|
+
Run multiple AI sessions concurrently with isolated contexts. Named **runners** provide persistent agent identities with their own instructions and memory.
|
|
542
544
|
|
|
543
545
|
| Feature | Description |
|
|
544
546
|
|---------|-------------|
|
|
545
|
-
| **Headless dispatch** | `
|
|
546
|
-
| **
|
|
547
|
-
| **
|
|
547
|
+
| **Headless dispatch** | `opencode run` for one-shot tasks, `opencode serve` + `--attach` for warm server |
|
|
548
|
+
| **Runners** | Named agent instances with per-runner AGENTS.md, config, and run logs (`runner-helper.sh`) |
|
|
549
|
+
| **Session management** | Resume sessions with `-s <id>` or `-c`, fork with SDK |
|
|
550
|
+
| **Memory namespaces** | Per-runner memory isolation with shared access when needed |
|
|
551
|
+
| **SDK orchestration** | `@opencode-ai/sdk` for TypeScript parallel dispatch via `Promise.all` |
|
|
548
552
|
| **Matrix integration** | Chat-triggered dispatch via self-hosted Matrix (optional) |
|
|
549
553
|
|
|
554
|
+
```bash
|
|
555
|
+
# Create a named runner
|
|
556
|
+
runner-helper.sh create code-reviewer --description "Reviews code for security and quality"
|
|
557
|
+
|
|
558
|
+
# Dispatch a task (one-shot)
|
|
559
|
+
runner-helper.sh run code-reviewer "Review src/auth/ for vulnerabilities"
|
|
560
|
+
|
|
561
|
+
# Dispatch against warm server (faster, no MCP cold boot)
|
|
562
|
+
opencode serve --port 4096 &
|
|
563
|
+
runner-helper.sh run code-reviewer "Review src/auth/" --attach http://localhost:4096
|
|
564
|
+
|
|
565
|
+
# Parallel dispatch via CLI
|
|
566
|
+
opencode run --attach http://localhost:4096 --title "Review" "Review src/auth/" &
|
|
567
|
+
opencode run --attach http://localhost:4096 --title "Tests" "Generate tests for src/utils/" &
|
|
568
|
+
wait
|
|
569
|
+
|
|
570
|
+
# List runners and status
|
|
571
|
+
runner-helper.sh list
|
|
572
|
+
runner-helper.sh status code-reviewer
|
|
573
|
+
```
|
|
574
|
+
|
|
550
575
|
**Architecture:**
|
|
551
576
|
|
|
552
577
|
```text
|
|
553
578
|
OpenCode Server (opencode serve)
|
|
554
|
-
├── Session 1 (code-reviewer)
|
|
555
|
-
├── Session 2 (seo-analyst)
|
|
579
|
+
├── Session 1 (runner/code-reviewer)
|
|
580
|
+
├── Session 2 (runner/seo-analyst)
|
|
556
581
|
└── Session 3 (scheduled-task)
|
|
557
582
|
↑
|
|
558
583
|
HTTP API / SSE Events
|
|
559
584
|
↑
|
|
560
585
|
┌────────┴────────┐
|
|
561
|
-
│ Dispatch Layer │ ← Matrix bot,
|
|
586
|
+
│ Dispatch Layer │ ← runner-helper.sh, cron, Matrix bot, SDK
|
|
562
587
|
└─────────────────┘
|
|
563
588
|
```
|
|
564
589
|
|
|
590
|
+
**Example runner templates:** [code-reviewer](.agent/tools/ai-assistants/runners/code-reviewer.md), [seo-analyst](.agent/tools/ai-assistants/runners/seo-analyst.md) - copy and customize for your own runners.
|
|
591
|
+
|
|
592
|
+
**See:** [headless-dispatch.md](.agent/tools/ai-assistants/headless-dispatch.md) for full documentation including parallel vs sequential decision guide, SDK examples, CI/CD integration, and custom agent configuration.
|
|
593
|
+
|
|
565
594
|
### Self-Improving Agent System
|
|
566
595
|
|
|
567
596
|
Agents that learn from experience and contribute improvements:
|
|
568
597
|
|
|
569
598
|
| Phase | Description |
|
|
570
599
|
|-------|-------------|
|
|
571
|
-
| **Review** | Analyze memory for success/failure patterns |
|
|
600
|
+
| **Review** | Analyze memory for success/failure patterns (`pattern-tracker-helper.sh`) |
|
|
572
601
|
| **Refine** | Generate and apply improvements to agents |
|
|
573
602
|
| **Test** | Validate in isolated OpenCode sessions |
|
|
574
603
|
| **PR** | Contribute to community with privacy filtering |
|
|
@@ -596,7 +625,7 @@ Cron-based agent dispatch for automated workflows:
|
|
|
596
625
|
|
|
597
626
|
```bash
|
|
598
627
|
# Example: Daily SEO report at 9am
|
|
599
|
-
0 9 * * * ~/.aidevops/agents/scripts/
|
|
628
|
+
0 9 * * * ~/.aidevops/agents/scripts/runner-helper.sh run "seo-analyst" "Generate daily SEO report"
|
|
600
629
|
```
|
|
601
630
|
|
|
602
631
|
**See:** [TODO.md](TODO.md) tasks t109-t118 for implementation status.
|
|
@@ -1252,7 +1281,7 @@ aidevops is registered as a **Claude Code plugin marketplace**. Install with two
|
|
|
1252
1281
|
/plugin install aidevops@aidevops
|
|
1253
1282
|
```
|
|
1254
1283
|
|
|
1255
|
-
This installs the complete framework: 14 primary agents,
|
|
1284
|
+
This installs the complete framework: 14 primary agents, 614+ subagents, and 163 helper scripts.
|
|
1256
1285
|
|
|
1257
1286
|
### Importing External Skills
|
|
1258
1287
|
|
|
@@ -1340,7 +1369,7 @@ Ordered as they appear in OpenCode Tab selector and other AI assistants (15 tota
|
|
|
1340
1369
|
|
|
1341
1370
|
### **Example Subagents with MCP Integration**
|
|
1342
1371
|
|
|
1343
|
-
These are examples of subagents that have supporting MCPs enabled. See `.agent/` for the full list of
|
|
1372
|
+
These are examples of subagents that have supporting MCPs enabled. See `.agent/` for the full list of 614+ subagents organized by domain.
|
|
1344
1373
|
|
|
1345
1374
|
| Agent | Purpose | MCPs Enabled |
|
|
1346
1375
|
|-------|---------|--------------|
|
|
@@ -1717,7 +1746,7 @@ See `.agent/workflows/session-manager.md` for the complete guide.
|
|
|
1717
1746
|
|
|
1718
1747
|
### Cross-Session Memory System
|
|
1719
1748
|
|
|
1720
|
-
**"Compound, then clear"** - Sessions should build on each other. The memory system stores knowledge, patterns, and learnings for future sessions using SQLite FTS5 for fast full-text search.
|
|
1749
|
+
**"Compound, then clear"** - Sessions should build on each other. The memory system stores knowledge, patterns, and learnings for future sessions using SQLite FTS5 for fast full-text search, with opt-in semantic similarity search via vector embeddings.
|
|
1721
1750
|
|
|
1722
1751
|
**Slash commands:**
|
|
1723
1752
|
|
|
@@ -1727,6 +1756,8 @@ See `.agent/workflows/session-manager.md` for the complete guide.
|
|
|
1727
1756
|
| `/recall {query}` | Search memories by keyword |
|
|
1728
1757
|
| `/recall --recent` | Show 10 most recent memories |
|
|
1729
1758
|
| `/recall --stats` | Show memory statistics |
|
|
1759
|
+
| `/patterns {task}` | Show success/failure patterns for a task type |
|
|
1760
|
+
| `/route {task}` | Suggest optimal model tier for a task |
|
|
1730
1761
|
|
|
1731
1762
|
**Memory types:**
|
|
1732
1763
|
|
|
@@ -1739,6 +1770,29 @@ See `.agent/workflows/session-manager.md` for the complete guide.
|
|
|
1739
1770
|
| `TOOL_CONFIG` | Tool setup notes |
|
|
1740
1771
|
| `DECISION` | Architecture decisions |
|
|
1741
1772
|
| `CONTEXT` | Background info |
|
|
1773
|
+
| `SUCCESS_PATTERN` | Approaches that consistently work |
|
|
1774
|
+
| `FAILURE_PATTERN` | Approaches that consistently fail |
|
|
1775
|
+
|
|
1776
|
+
**Semantic search (opt-in):**
|
|
1777
|
+
|
|
1778
|
+
```bash
|
|
1779
|
+
# Enable semantic similarity search (~90MB model download)
|
|
1780
|
+
memory-embeddings-helper.sh setup
|
|
1781
|
+
|
|
1782
|
+
# Search by meaning, not just keywords
|
|
1783
|
+
memory-helper.sh recall "how to optimize queries" --semantic
|
|
1784
|
+
```
|
|
1785
|
+
|
|
1786
|
+
**Pattern tracking:**
|
|
1787
|
+
|
|
1788
|
+
```bash
|
|
1789
|
+
# Record what worked
|
|
1790
|
+
pattern-tracker-helper.sh record --outcome success --task-type bugfix \
|
|
1791
|
+
--model sonnet --description "Structured debugging found root cause"
|
|
1792
|
+
|
|
1793
|
+
# Get suggestions for a new task
|
|
1794
|
+
pattern-tracker-helper.sh suggest "refactor the auth middleware"
|
|
1795
|
+
```
|
|
1742
1796
|
|
|
1743
1797
|
**CLI usage:**
|
|
1744
1798
|
|
|
@@ -1746,18 +1800,26 @@ See `.agent/workflows/session-manager.md` for the complete guide.
|
|
|
1746
1800
|
# Store a memory
|
|
1747
1801
|
~/.aidevops/agents/scripts/memory-helper.sh store "WORKING_SOLUTION" "Fixed CORS with nginx headers" "cors,nginx"
|
|
1748
1802
|
|
|
1749
|
-
# Recall memories
|
|
1803
|
+
# Recall memories (keyword search - default)
|
|
1750
1804
|
~/.aidevops/agents/scripts/memory-helper.sh recall "cors"
|
|
1751
1805
|
|
|
1806
|
+
# Recall memories (semantic similarity - opt-in)
|
|
1807
|
+
~/.aidevops/agents/scripts/memory-helper.sh recall "cors" --semantic
|
|
1808
|
+
|
|
1752
1809
|
# View statistics
|
|
1753
1810
|
~/.aidevops/agents/scripts/memory-helper.sh stats
|
|
1754
1811
|
|
|
1755
1812
|
# Maintenance
|
|
1756
1813
|
~/.aidevops/agents/scripts/memory-helper.sh validate # Check for stale entries
|
|
1757
1814
|
~/.aidevops/agents/scripts/memory-helper.sh prune # Remove stale memories
|
|
1815
|
+
|
|
1816
|
+
# Namespaces (per-runner memory isolation)
|
|
1817
|
+
~/.aidevops/agents/scripts/memory-helper.sh --namespace my-runner store --content "Runner learning"
|
|
1818
|
+
~/.aidevops/agents/scripts/memory-helper.sh --namespace my-runner recall "query" --shared
|
|
1819
|
+
~/.aidevops/agents/scripts/memory-helper.sh namespaces # List all namespaces
|
|
1758
1820
|
```
|
|
1759
1821
|
|
|
1760
|
-
**Storage:** `~/.aidevops/.agent-workspace/memory/memory.db`
|
|
1822
|
+
**Storage:** `~/.aidevops/.agent-workspace/memory/memory.db` (+ optional `embeddings.db` for semantic search, `namespaces/` for per-runner isolation)
|
|
1761
1823
|
|
|
1762
1824
|
See `.agent/memory/README.md` for complete documentation.
|
|
1763
1825
|
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.101.0
|
package/aidevops.sh
CHANGED
package/package.json
CHANGED
package/setup.sh
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# AI Assistant Server Access Framework Setup Script
|
|
4
4
|
# Helps developers set up the framework for their infrastructure
|
|
5
5
|
#
|
|
6
|
-
# Version: 2.
|
|
6
|
+
# Version: 2.101.0
|
|
7
7
|
#
|
|
8
8
|
# Quick Install (one-liner):
|
|
9
9
|
# bash <(curl -fsSL https://aidevops.dev/install)
|
|
@@ -1952,6 +1952,17 @@ deploy_aidevops_agents() {
|
|
|
1952
1952
|
print_info "Injected OpenCode plan-reminder into Plan+"
|
|
1953
1953
|
fi
|
|
1954
1954
|
fi
|
|
1955
|
+
# Migrate mailbox from TOON files to SQLite (if old files exist)
|
|
1956
|
+
local aidevops_workspace_dir="${AIDEVOPS_WORKSPACE_DIR:-$HOME/.aidevops/.agent-workspace}"
|
|
1957
|
+
local mail_dir="${AIDEVOPS_MAIL_DIR:-${aidevops_workspace_dir}/mail}"
|
|
1958
|
+
local mail_script="$target_dir/scripts/mail-helper.sh"
|
|
1959
|
+
if [[ -x "$mail_script" ]] && find "$mail_dir" -name "*.toon" 2>/dev/null | grep -q .; then
|
|
1960
|
+
if "$mail_script" migrate; then
|
|
1961
|
+
print_success "Mailbox migration complete"
|
|
1962
|
+
else
|
|
1963
|
+
print_warning "Mailbox migration had issues (non-critical, old files preserved)"
|
|
1964
|
+
fi
|
|
1965
|
+
fi
|
|
1955
1966
|
else
|
|
1956
1967
|
print_error "Failed to deploy agents"
|
|
1957
1968
|
return 1
|
|
@@ -3717,7 +3728,22 @@ echo " aidevops uninstall - Remove aidevops"
|
|
|
3717
3728
|
if [[ "$launch_onboarding" =~ ^[Yy]?$ || "$launch_onboarding" == "Y" ]]; then
|
|
3718
3729
|
echo ""
|
|
3719
3730
|
echo "Starting OpenCode with Onboarding agent..."
|
|
3720
|
-
|
|
3731
|
+
# Detect available auth provider and select appropriate model
|
|
3732
|
+
# Prefer Anthropic (Claude) > Google (Gemini) > OpenCode Zen > OpenAI
|
|
3733
|
+
local onboarding_model=""
|
|
3734
|
+
local auth_file="$HOME/.local/share/opencode/auth.json"
|
|
3735
|
+
if [[ -f "$auth_file" ]]; then
|
|
3736
|
+
if jq -e '.anthropic' "$auth_file" &>/dev/null; then
|
|
3737
|
+
onboarding_model="anthropic/claude-sonnet-4-5"
|
|
3738
|
+
elif jq -e '.google' "$auth_file" &>/dev/null; then
|
|
3739
|
+
onboarding_model="google/gemini-2.5-flash"
|
|
3740
|
+
fi
|
|
3741
|
+
fi
|
|
3742
|
+
local opencode_args=("--agent" "Onboarding" "--prompt" "/onboarding")
|
|
3743
|
+
if [[ -n "$onboarding_model" ]]; then
|
|
3744
|
+
opencode_args+=("--model" "$onboarding_model")
|
|
3745
|
+
fi
|
|
3746
|
+
opencode "${opencode_args[@]}"
|
|
3721
3747
|
else
|
|
3722
3748
|
echo ""
|
|
3723
3749
|
echo "You can run /onboarding anytime in OpenCode to configure services."
|
|
@@ -63,7 +63,7 @@ create_backup_with_rotation() {
|
|
|
63
63
|
if (( backup_count > BACKUP_KEEP_COUNT )); then
|
|
64
64
|
local to_delete=$((backup_count - BACKUP_KEEP_COUNT))
|
|
65
65
|
# Delete oldest backups (sorted by name = sorted by date)
|
|
66
|
-
find "$backup_type_dir" -maxdepth 1 -type d -name "20*"
|
|
66
|
+
find "$backup_type_dir" -maxdepth 1 -type d -name "20*" 2>/dev/null | sort | head -n "$to_delete" | while read -r old_backup; do rm -rf "$old_backup"; done
|
|
67
67
|
print_info "Rotated backups: removed $to_delete old backup(s)"
|
|
68
68
|
fi
|
|
69
69
|
|