viepilot 1.9.9 → 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 +12 -0
- package/docs/brainstorm/session-2026-04-02.md +145 -0
- package/lib/viepilot-install.cjs +9 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,18 @@ 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
|
+
|
|
20
|
+
## [1.9.10] - 2026-04-02
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- **BUG-006**: Tất cả install targets (`cursor-ide`, `cursor-agent`, `claude-code`) thiếu 3 lib files trong `buildInstallPlan()`. Fix: cả 2 blocks (cursor `viepilotDir` và claude-code `claudeViepilotDir`) nay copy đủ 4 files: `cli-shared.cjs`, `viepilot-info.cjs`, `viepilot-update.cjs`, `viepilot-install.cjs`. Ngăn crash khi chạy `vp-tools info` / `vp-tools update` trên môi trường đã install. (+3 tests, 317 total pass)
|
|
25
|
+
|
|
14
26
|
### Added
|
|
15
27
|
|
|
16
28
|
- None yet.
|
|
@@ -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
|
@@ -187,11 +187,12 @@ function buildInstallPlan(packageRoot, envSource = process.env, opts = {}) {
|
|
|
187
187
|
for (const f of ['vp-tools.cjs', 'viepilot.cjs']) {
|
|
188
188
|
steps.push({ kind: 'copy_file', from: path.join(root, 'bin', f), to: path.join(claudeViepilotDir, 'bin', f) });
|
|
189
189
|
}
|
|
190
|
-
|
|
191
|
-
kind: 'copy_file',
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
190
|
+
for (const f of ['cli-shared.cjs', 'viepilot-info.cjs', 'viepilot-update.cjs', 'viepilot-install.cjs']) {
|
|
191
|
+
steps.push({ kind: 'copy_file', from: path.join(root, 'lib', f), to: path.join(claudeViepilotDir, 'lib', f) });
|
|
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') });
|
|
195
196
|
|
|
196
197
|
// Rewrite execution_context paths in mirrored skill files
|
|
197
198
|
steps.push({
|
|
@@ -255,11 +256,9 @@ function buildInstallPlan(packageRoot, envSource = process.env, opts = {}) {
|
|
|
255
256
|
to: path.join(viepilotDir, 'bin', f),
|
|
256
257
|
});
|
|
257
258
|
}
|
|
258
|
-
|
|
259
|
-
kind: 'copy_file',
|
|
260
|
-
|
|
261
|
-
to: path.join(viepilotDir, 'lib', 'cli-shared.cjs'),
|
|
262
|
-
});
|
|
259
|
+
for (const f of ['cli-shared.cjs', 'viepilot-info.cjs', 'viepilot-update.cjs', 'viepilot-install.cjs']) {
|
|
260
|
+
steps.push({ kind: 'copy_file', from: path.join(root, 'lib', f), to: path.join(viepilotDir, 'lib', f) });
|
|
261
|
+
}
|
|
263
262
|
|
|
264
263
|
for (const f of binFiles) {
|
|
265
264
|
steps.push({
|