@mrtrinhvn/ag-kit 1.5.0 → 1.5.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/bin/cli.js +18 -6
- package/package.json +2 -2
- package/template/.agent/knowledge/artifacts/claude-code-system-prompt.md +1490 -0
- package/template/.agent/scripts/brain_builder.py +25 -10
- package/template/.agent/skills/ag-kit-core/SKILL.md +23 -2
- package/template/.agent/skills/knowledge-management/SKILL.md +5 -3
- package/template/.agent/skills/memory-architecture/SKILL.md +20 -1
|
@@ -88,18 +88,33 @@ def get_tech_stack(root: Path) -> list[str]:
|
|
|
88
88
|
|
|
89
89
|
def get_memory_nodes(root: Path, limit=8) -> list[str]:
|
|
90
90
|
db_path = root / ".agent" / "memory" / "graph.db"
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
nodes = []
|
|
92
|
+
if db_path.exists():
|
|
93
|
+
try:
|
|
94
|
+
conn = sqlite3.connect(str(db_path))
|
|
95
|
+
rows = conn.execute(
|
|
96
|
+
"SELECT content, category FROM nodes ORDER BY energy DESC, updated_at DESC LIMIT ?",
|
|
97
|
+
(limit,)
|
|
98
|
+
).fetchall()
|
|
99
|
+
conn.close()
|
|
100
|
+
nodes = [f"[{r[1]}] {r[0][:120]}" for r in rows]
|
|
101
|
+
except Exception:
|
|
102
|
+
pass
|
|
103
|
+
|
|
104
|
+
# Tự động hút thành tựu (Trò trống) từ Git Log để AI Không bao giờ quên!
|
|
105
|
+
import subprocess
|
|
93
106
|
try:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return [f"[{r[1]}] {r[0][:120]}" for r in rows]
|
|
107
|
+
git_log = subprocess.run(
|
|
108
|
+
["git", "log", "-n", "3", "--pretty=format:- %s (%cr)"],
|
|
109
|
+
cwd=str(root), capture_output=True, text=True, timeout=5
|
|
110
|
+
)
|
|
111
|
+
if git_log.stdout:
|
|
112
|
+
nodes.insert(0, "\n**[Auto-Git-Memory] Thành tựu gần nhất:**\n" + git_log.stdout + "\n")
|
|
101
113
|
except Exception:
|
|
102
|
-
|
|
114
|
+
pass
|
|
115
|
+
|
|
116
|
+
return nodes
|
|
117
|
+
|
|
103
118
|
|
|
104
119
|
|
|
105
120
|
def get_knowledge_summary(root: Path) -> str:
|
|
@@ -120,8 +120,18 @@ Workflow đúng:
|
|
|
120
120
|
|
|
121
121
|
---
|
|
122
122
|
|
|
123
|
-
## 4. 🔗 THE DUO-CORE (Kiến Trúc Multi-Tenant
|
|
124
|
-
Hãy khắc cốt ghi tâm quy tắc
|
|
123
|
+
## 4. 🔗 THE DUO-CORE (Kiến Trúc Multi-Tenant & Dual-Port Cơ Sở)
|
|
124
|
+
Hãy khắc cốt ghi tâm quy tắc phân bổ cổng dịch vụ: `IDE_PORT` (Nhận lệnh AI - ví dụ: 9555) và bước nhảy 101 để sinh ra `BRIDGE_PORT` (Portal Bridge Server - ví dụ: 9656). Không bao giờ được phép gán phần kết nối IDE và phần Broadcast UI vào cùng 1 cổng.
|
|
125
|
+
|
|
126
|
+
### 4.1. Sự khác biệt kiến trúc: Headless LSP vs CDP UI
|
|
127
|
+
Mọi ứng dụng thuộc quyền quản trị của AG-KIT bắt buộc phải thẩm thấu sức mạnh của chiến thuật **Dual-Port Strategy**:
|
|
128
|
+
1. **Trục xương sống (Headless LSP / DeckServer)**: Dùng cho các luồng giao tiếp AI nền ngầm định tuyến (ví dụ gọi hàm `lsGateway.startCascade()`). Đặc điểm nhận dạng:
|
|
129
|
+
- Truyền tải thông điệp siêu tốc qua RPC/Sockets mà không cần vẽ lên màn hình IDE Chat.
|
|
130
|
+
- Tránh 100% tỷ lệ xuất hiện lỗi rác (Visual Hallucination) do việc đọc màn hình dính các chữ "Generating...", "Planning...".
|
|
131
|
+
- **Sự liên kết với AG_LITE HUD**: Luồng Headless này KHÔNG có nghĩa là HUD bị mất tác dụng. Việc User chọn Model (như Gemini 1.5, hay Claude 3.5) trên HUD AG_ELITE vẫn sẽ định đoạt cái "não" nào sẽ được dùng để xử lý cái Headless Cascade đó ở hậu trường!
|
|
132
|
+
2. **Xúc tu Tương tác Cơ học (CDP - Chrome DevTools Protocol)**:
|
|
133
|
+
- KHÔNG được lạm dụng để truyền lệnh ngầm thuần túy (Text Generation) nếu API Headless LSP đã có thể đáp ứng.
|
|
134
|
+
- CHỈ ĐƯỢC DÙNG khi AI bắt buộc phải tác động trực quan (Ví dụ: Click UI web, inject bảng điều khiển HUD bằng script lơ lửng, kéo cuộn trang web (scroll), hoặc trích xuất (scrape) trạng thái hình ảnh DOM Canvas).
|
|
125
135
|
|
|
126
136
|
---
|
|
127
137
|
|
|
@@ -155,3 +165,14 @@ Hệ sinh thái `ag-kit` được cung cấp sức mạnh cài đặt và cập
|
|
|
155
165
|
2. **Trạm Khởi Tạo Tốc Độ Cao (create-ag-kit):**
|
|
156
166
|
- Lệnh chính: `npx create-ag-kit`
|
|
157
167
|
- *=> Dùng 1 Lần Đầu Tiên: Giống như create-react-app, đây là hạt giống cấy ghép nhanh toàn bộ thư mục `.agent/` và sinh ra `package.json` trống để tạo hẳn một dự án Bot hoàn toàn mới nằm cạnh nhau.*
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 7. 🧬 CLAUDE CODE AGENTIC PROTOCOL (MANDATORY)
|
|
172
|
+
Dự án này đã cấy ghép MÃ GEN Tư Duy của Claude Code (v2.1.50). Tuy nhiên, để đảm bảo tính Đa Dạng Nhân Cách (Trader vs Coder), luật này chạy theo Cơ chế Phân Luồng:
|
|
173
|
+
- **Ngữ cảnh Kích hoạt:** CHỈ áp dụng các luật dưới đây nếu User yêu cầu "Sửa code, fix bug, viết tính năng mới, /agent, /code". Nếu User hỏi phân tích dữ liệu trade, phân tích thị trường, Hãy trả lời thẳng mạch lạc như bình thường!
|
|
174
|
+
- **Khi đã ở chế độ Kích hoạt (Agent Mode), PHẢI rập khuôn 3 điều luật sau:**
|
|
175
|
+
|
|
176
|
+
1. **LUẬT LẬP KẾ HOẠCH (TodoWrite - Thinking Before Acting):** KHÔNG BAO GIỜ đâm đầu vào code ngay lập tức khi gặp Request lớn. Hành động ĐẦU TIÊN CỦA BẠN phải là sử dụng tính năng Planning (hoặc TodoWrite) để chẻ nhỏ Task thành Checklist `[ ]`. Suy nghĩ như Kỹ Sư Trưởng, sau đó mới dùng công cụ Replace Code.
|
|
177
|
+
2. **LUẬT SỬ DỤNG TOOL (Anti-Bash Spam):** Khi đọc và trích xuất mã nguồn thư mục lớn, BẮT BUỘC dùng các công cụ thông minh (Grep, VFS, ReadFile chuyên dụng). CẤM lạm dụng Bash/Shell thô sơ (như `cat`, `head`, `find`) để duyệt file vì lãng phí Token Context VRAM trầm trọng. Chỉ dùng Bash để chạy Build hoặc Python test.
|
|
178
|
+
3. **LUẬT DỪNG HỎI (EnterPlanMode):** Nếu Request liên quan đến thay đổi kiến trúc, Database, hoặc các quyết định cấu trúc thư mục, BẠN PHẢI DỪNG HOẠT ĐỘNG (Pause Execution) và Báo cáo Sếp bằng `implementation_plan.md`. Cấm hành vi "Cầm đèn chạy trước ô tô".
|
|
@@ -14,9 +14,11 @@ allowed-tools: Read, Write, Glob, Grep
|
|
|
14
14
|
|
|
15
15
|
**PRINCIPLE:** Never rely on assumptions or ephemeral conversation memory for project characteristics. Store them permanently.
|
|
16
16
|
|
|
17
|
-
### Mandatory Read Before Action
|
|
18
|
-
Before interacting with any third-party API, database schema, or core system component, you **MUST**
|
|
19
|
-
|
|
17
|
+
### Mandatory Read Before Action (Text vs Vector Search)
|
|
18
|
+
Before interacting with any third-party API, database schema, or core system component, you **MUST** actively seek out existing documentation using the CORRECT tool for the data type:
|
|
19
|
+
- If retrieving explicit Markdown documentation (e.g., API schemas, strict rules), use `grep_search` or open the file directly in `.agent/knowledge/`.
|
|
20
|
+
- If retrieving historical experience, bug fixes, or unstructured project configurations, you **MUST** use the MCP tool `mcp_ag-kit-memory_memory_search` (Semantic Cosine Vector Search) to scan the memory graphs.
|
|
21
|
+
*Example: Use grep/file reader for reading schema in `stripe_api.md`, but strictly use `memory_search` for "how did we handle the stripe CORS error last time?".*
|
|
20
22
|
|
|
21
23
|
### Mandatory Proactive Updates (Zero Prompting Rule)
|
|
22
24
|
When you successfully:
|
|
@@ -107,7 +107,26 @@ Bằng giao thức này, kiến thức của dự án sẽ KHÔNG BAO GIỜ bị
|
|
|
107
107
|
|
|
108
108
|
---
|
|
109
109
|
|
|
110
|
-
## 8.
|
|
110
|
+
## 8. CHIẾN LƯỢC TRUY VẤN PHÂN CẤP: VECTOR VS TEXT (BOOTSTRAP)
|
|
111
|
+
|
|
112
|
+
> **LƯU Ý:** Trí nhớ của hệ thống lưu ở hai dạng (Văn bản phẳng và Vector không gian). Bạn (AI) phải linh hoạt lựa chọn CÔNG CỤ TÌM KIẾM phù hợp với lớp dữ liệu. Không dùng lẫn lộn!
|
|
113
|
+
|
|
114
|
+
**A. KHI TÌM KIẾM VĂN BẢN (TEXT/STATIC FILES):**
|
|
115
|
+
Khi cần tra cứu Code Convention, API Schema, Hướng dẫn đặc tả, hoặc các file Markdown tĩnh `.md` nằm rải rác trong `knowledge`:
|
|
116
|
+
👉 Hãy dùng công cụ gốc: `grep_search`, `vfs` hoặc xem trọn vẹn file (`view_file`). Vì text schema cần độ chính xác cấu trúc tuyệt đối.
|
|
117
|
+
|
|
118
|
+
**B. KHI TÌM KIẾM KÝ ỨC NGỮ NGHĨA (VECTOR MEMORY):**
|
|
119
|
+
Khi cần truy xuất "Kinh nghiệm fix bug cũ", "Thói quen tuỳ chỉnh dự án", hoặc "Luồng sự kiện (Graph Context)" được lưu dạng Node/Edge mà không nhớ nó nằm ở file nào:
|
|
120
|
+
👉 **BẮT BUỘC** dùng thư viện MCP (Model Context Protocol) có sẵn trên Profile để thao tác bằng Vector:
|
|
121
|
+
1. **Tìm kiếm (Search):** Dùng công cụ `mcp_ag-kit-memory_memory_search` với từ khóa cốt lõi. Nó sẽ dùng Cosine Similarity trả về đúng các Node có ngữ nghĩa liên quan nhất, vượt qua giới hạn của keyword match rập khuôn.
|
|
122
|
+
2. **Lưu trữ (Save):** Dùng công cụ `mcp_ag-kit-memory_memory_save` khi muốn lưu lại bài học / giải pháp để sau này xài lại, tự động tính toán Embedding Vector vào không gian não.
|
|
123
|
+
3. **Phân tích Luồng (Graph):** Dùng `mcp_ag-kit-memory_memory_graph` để xem các liên kết (Edges) của một sự kiện/Node cụ thể.
|
|
124
|
+
|
|
125
|
+
ĐÂY LÀ TIÊU CHUẨN KÉP QUAN TRỌNG. Hãy tự hỏi: "Mình đang tìm tài liệu tĩnh hay tìm trí nhớ (trải nghiệm)?" trước khi chọn công cụ!
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 9. Công cụ Gỡ Rối Định Tuyến (Brain Debugging CLI)
|
|
111
130
|
|
|
112
131
|
Trong quá trình bảo trì trí nhớ (ví dụ: cần truy vấn SQL trực tiếp để tìm kiếm Vector, xóa các Node bị kẹt bằng tay gốc rễ), bạn hoặc User **BẮT BUỘC** phải cài đặt công cụ CLI `sqlite3` trên môi trường Terminal.
|
|
113
132
|
|