viepilot 1.9.10 → 1.9.11
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/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
11
11
|
|
|
12
12
|
- None.
|
|
13
13
|
|
|
14
|
+
## [1.9.11] - 2026-04-02
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **BUG-007**: `vp-tools info` crash "Could not locate viepilot package root" khi CWD không phải viepilot source repo. Fix: `buildInstallPlan()` claude-code block nay copy `package.json` → `~/.claude/viepilot/package.json`, cho phép `resolveViepilotPackageRoot()` tìm thấy root ngay cả khi install từ `~/.claude/viepilot/`. (+2 tests, 319 total pass)
|
|
19
|
+
|
|
14
20
|
## [1.9.10] - 2026-04-02
|
|
15
21
|
|
|
16
22
|
### Fixed
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Brainstorm Session: Multi-Agent Support Expansion
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-02
|
|
4
|
+
**Status:** In Progress
|
|
5
|
+
**Topic:** Mở rộng hỗ trợ các coding agent ngoài Codex
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Objective
|
|
10
|
+
|
|
11
|
+
Nghiên cứu và lên kế hoạch để ViePilot hỗ trợ thêm các coding agent phổ biến ngoài OpenAI Codex hiện tại.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Research: Coding Agents Landscape 2025-2026
|
|
16
|
+
|
|
17
|
+
### Tier 1 — CLI-native / Có thể tích hợp trực tiếp
|
|
18
|
+
|
|
19
|
+
| Agent | Maker | CLI | API/SDK | ACP | MCP | Notes |
|
|
20
|
+
|-------|-------|-----|---------|-----|-----|-------|
|
|
21
|
+
| **Codex CLI** | OpenAI | ✓ | ✓ | ✓ | ✓ | Đang hỗ trợ |
|
|
22
|
+
| **Claude Code** | Anthropic | ✓ | ✓ | ✓ | ✓ | CLI `claude`, SDK @anthropic-ai/claude-agent-sdk |
|
|
23
|
+
| **Aider** | OSS | ✓ | ✓ | ✗ | ✓ | CLI `aider`, Python-based, Git-native |
|
|
24
|
+
| **Goose** | Block/LF | ✓ | ✓ | ✓ | ✓ | CLI + desktop, 25+ LLM providers |
|
|
25
|
+
| **OpenCode** | OSS | ✓ | ✓ | ✓ | ✓ | 75+ models, terminal-native |
|
|
26
|
+
| **Kimi Code** | Moonshot AI | ✓ | ✓ | ✓ | ✓ | 1T param MoE, 256K context |
|
|
27
|
+
| **GitHub Copilot CLI** | GitHub/MS | ✓ | ✓ | Planned | ✓ | `gh copilot` command |
|
|
28
|
+
|
|
29
|
+
### Tier 2 — IDE-primary (CLI hạn chế)
|
|
30
|
+
|
|
31
|
+
| Agent | Maker | CLI | Notes |
|
|
32
|
+
|-------|-------|-----|-------|
|
|
33
|
+
| **Cursor** | Cursor | ✗ | IDE-only, không có CLI programmatic |
|
|
34
|
+
| **Windsurf** | Cognition | ✗ | IDE-only |
|
|
35
|
+
| **Continue.dev** | OSS | ✗ | VS Code / JetBrains extension |
|
|
36
|
+
| **Cline** | OSS | ✗ | VS Code extension, MCP support |
|
|
37
|
+
| **Gemini Code Assist** | Google | Limited | IDE plugin chính |
|
|
38
|
+
| **Amazon Q Dev** | AWS | Limited | IDE plugin, `q` CLI |
|
|
39
|
+
| **Devin** | Cognition | Limited | Web app + API |
|
|
40
|
+
|
|
41
|
+
### Tier 3 — Web-only / Specialized
|
|
42
|
+
|
|
43
|
+
- **v0 by Vercel** — full-stack web generation
|
|
44
|
+
- **Bolt.new** — in-browser WebContainers
|
|
45
|
+
- **Tabnine** — IDE plugin + Jira integration
|
|
46
|
+
- **Cody (Sourcegraph)** — multi-repo search agent
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Integration Protocols
|
|
51
|
+
|
|
52
|
+
### Model Context Protocol (MCP)
|
|
53
|
+
- Chuẩn hóa cách agent truy cập tools bên ngoài
|
|
54
|
+
- Adopted by: OpenAI, Google, Microsoft, Anthropic
|
|
55
|
+
- Rủi ro security: prompt injection (April 2025 report)
|
|
56
|
+
|
|
57
|
+
### Agent Client Protocol (ACP)
|
|
58
|
+
- JSON RPC over stdio — standardized editor ↔ agent communication
|
|
59
|
+
- Created by: JetBrains & Zed (Aug 2025)
|
|
60
|
+
- Supported agents: Claude Code, Codex CLI, Gemini, Goose
|
|
61
|
+
- Supported editors: Zed, Neovim, Marimo
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Open Questions
|
|
66
|
+
|
|
67
|
+
1. ViePilot hiện tại hỗ trợ Codex theo cơ chế nào? (CLI wrapper, API, hay file convention?)
|
|
68
|
+
2. Agent nào nên ưu tiên hỗ trợ trước? (Claude Code, Aider, hay GitHub Copilot?)
|
|
69
|
+
3. Mô hình integration: ViePilot gọi agent như thế nào — cùng CLI pattern hay adapter layer?
|
|
70
|
+
4. Có cần abstraction layer (agent-agnostic interface) không?
|
|
71
|
+
5. Phạm vi support: code generation only, hay cả agentic execution (file edit, terminal)?
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Product Horizon
|
|
76
|
+
|
|
77
|
+
### MVP
|
|
78
|
+
- Hỗ trợ **Claude Code** (Anthropic CLI) — CLI pattern tương tự Codex (MVP)
|
|
79
|
+
- Hỗ trợ **Aider** — CLI-native, OSS, Git-native (MVP)
|
|
80
|
+
- Abstraction: config-based agent selection (MVP)
|
|
81
|
+
|
|
82
|
+
### Post-MVP
|
|
83
|
+
- Hỗ trợ **GitHub Copilot CLI** — `gh copilot` (Post-MVP)
|
|
84
|
+
- Hỗ trợ **Goose** (Block) — MCP-compatible (Post-MVP)
|
|
85
|
+
- Hỗ trợ **OpenCode** (Post-MVP)
|
|
86
|
+
|
|
87
|
+
### Future
|
|
88
|
+
- ACP-based integration cho IDE agents (Future)
|
|
89
|
+
- MCP server để expose ViePilot tools sang các agent (Future)
|
|
90
|
+
- Agent routing: tự động chọn agent phù hợp theo task type (Future)
|
|
91
|
+
|
|
92
|
+
### Non-goals (MVP)
|
|
93
|
+
- Không hỗ trợ IDE-only agents (Cursor, Windsurf) ở MVP
|
|
94
|
+
- Không hỗ trợ web-only agents (v0, Bolt.new)
|
|
95
|
+
- Không build MCP server ở MVP
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Research Notes
|
|
100
|
+
|
|
101
|
+
### Candidates Được Đề Xuất Theo Priority
|
|
102
|
+
|
|
103
|
+
**Priority 1: Claude Code**
|
|
104
|
+
- `claude` CLI — tương tự pattern của `codex`
|
|
105
|
+
- SDK: `@anthropic-ai/claude-agent-sdk`
|
|
106
|
+
- Supports: file editing, terminal, MCP, remote sessions
|
|
107
|
+
- Pricing: subscription (user đã có nếu dùng Claude Code)
|
|
108
|
+
|
|
109
|
+
**Priority 2: Aider**
|
|
110
|
+
- `aider` CLI — Python, OSS, Apache 2.0
|
|
111
|
+
- Git-native: tự commit sau mỗi change
|
|
112
|
+
- Multi-LLM: Claude, OpenAI, local models
|
|
113
|
+
- Strong community: 100K+ GitHub stars
|
|
114
|
+
|
|
115
|
+
**Priority 3: GitHub Copilot CLI**
|
|
116
|
+
- `gh copilot` — requires GitHub Copilot subscription
|
|
117
|
+
- GA: Feb 2026
|
|
118
|
+
- Custom agents support
|
|
119
|
+
- MCP integration
|
|
120
|
+
|
|
121
|
+
**Key Insight:** Tất cả Tier 1 agents đều có CLI interface và hỗ trợ MCP — ViePilot có thể build một adapter layer chung dựa trên:
|
|
122
|
+
1. CLI command pattern
|
|
123
|
+
2. Config file location
|
|
124
|
+
3. Prompt/task passing convention
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Action Items
|
|
129
|
+
|
|
130
|
+
- [ ] Xem lại cơ chế hiện tại ViePilot gọi Codex (source code)
|
|
131
|
+
- [ ] Quyết định: adapter pattern hay agent-specific skills
|
|
132
|
+
- [ ] Prototype integration với Claude Code trước (priority 1)
|
|
133
|
+
- [ ] Tạo `docs/dev/agents.md` — agent support matrix
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Session Notes
|
|
138
|
+
|
|
139
|
+
Research conducted 2026-04-02. Landscape nhanh thay đổi — re-verify agent CLI APIs trước khi implement.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Project meta intake (FEAT-009)
|
|
144
|
+
|
|
145
|
+
_Chưa hoàn tất — cần binding profile trước khi close session._
|
package/lib/viepilot-install.cjs
CHANGED
|
@@ -190,6 +190,9 @@ function buildInstallPlan(packageRoot, envSource = process.env, opts = {}) {
|
|
|
190
190
|
for (const f of ['cli-shared.cjs', 'viepilot-info.cjs', 'viepilot-update.cjs', 'viepilot-install.cjs']) {
|
|
191
191
|
steps.push({ kind: 'copy_file', from: path.join(root, 'lib', f), to: path.join(claudeViepilotDir, 'lib', f) });
|
|
192
192
|
}
|
|
193
|
+
// BUG-007: copy package.json so resolveViepilotPackageRoot() finds the root
|
|
194
|
+
// when vp-tools runs from ~/.claude/viepilot/ (CWD ≠ viepilot source repo)
|
|
195
|
+
steps.push({ kind: 'copy_file', from: path.join(root, 'package.json'), to: path.join(claudeViepilotDir, 'package.json') });
|
|
193
196
|
|
|
194
197
|
// Rewrite execution_context paths in mirrored skill files
|
|
195
198
|
steps.push({
|