aki-mcp-sv 1.10.0: Gộp Về Một Tiến Trình, Thêm Bản Standalone
Bài 1.6.0 dừng ở tự kiểm tra bản mới. Từ đó đến 1.11.0 (23/08/2026) ba bản đổi cách người dùng cài đặt và cách server chạy dưới nền: 1.9.0 thêm đường cài không cần git clone, 1.10.0 gộp 4 tiến trình Node xuống còn 1, 1.11.0 dạy AI tự đọc hướng dẫn ở phiên kết nối đầu tiên. GitHub CHANGELOG là nguồn chân lý.
1.9.0 — Không cần biết Git vẫn cài được
Trước 1.9.0, cài aki-mcp-sv bắt buộc qua git clone && npm install && npm start. Bản 1.9.0 thêm một đường thứ hai: GitHub Actions build sẵn theo tag, chạy smoke-test trên cả ba hệ điều hành, rồi publish draft release với launcher riêng cho macOS/Linux/Windows cùng file payload đi kèm.
- Workflow release tag-triggered: build, smoke-test matrix 3 OS, gate bắt buộc đủ 6 asset, publish.
scripts/build/release-gate.jsxác minh đủ asset và checksum SHA256 của từng launcher khớpSHA256SUMScủa chính release đó trước khi coi là hợp lệ.- Launcher bootstrap đưa Node runtime đóng gói sẵn vào PATH rồi mới exec vào
start.js— người dùng không cần cài Node trước. - Asset đổi tên
-app.zip/-app.tar.gz→-payload.zip/-payload.tar.gzở 1.9.2: tên cũ đọc như "app để mở", dễ nhầm với launcher nằm ngay cạnh;payloadbáo đúng vai trò — file nội bộ launcher tự tải, không phải file người dùng mở tay. - README viết lại toàn bộ ở 1.9.3: cảnh báo bảo mật OS mà người dùng lần đầu chắc chắn gặp (Gatekeeper macOS, SmartScreen Windows, quyền thực thi trên Linux) và điểm sai của nút "Code → Download ZIP" trên GitHub (tải ra source archive không chạy được).
Vì sao phải gộp về một tiến trình?
mcp-hub và tiến trình filesystem bên thứ ba từng tồn tại chỉ để router tool qua SSE giữa các tiến trình con. scripts/tools-server.js dựng thẳng một McpServer in-process, streamable-bridge.js nói chuyện trực tiếp qua InMemoryTransport của chính SDK — không còn handshake SSE, không còn tiến trình con npx/node riêng phải theo dõi khi crash.
Cái giá đổi lại nằm ở phần filesystem: bản thứ 3 (@modelcontextprotocol/server-filesystem) bị gỡ hẳn, thay bằng 7 tool viết tay trong filesystem-mcp.js (read_text_file, write_file, edit_file, create_directory, move_file, get_file_info, list_allowed_directories) — an toàn symlink theo đúng cách package cũ từng làm (validatePath() realpath containment), và đọc danh sách thư mục cho phép trực tiếp từ setting.json qua roots.js, nên một lần sửa folder trên panel có hiệu lực ngay ở lệnh gọi tiếp theo, không cần khởi động lại — trước đó chỉ shell/search có tính chất live-reload này, filesystem còn phải bấm nút "Apply" riêng.
!NOTE RAM baseline đo được ở 1.10.0: tiến trình chạy đơn, idle sau boot, ~92MB RSS — vượt mục tiêu ~40MB. Cô lập nguyên nhân bằng cách import từng phần và đọc
process.memoryUsage(): Node trần +zodđã ~40MB (đúng mục tiêu gốc), riêngMcpServercủa SDK MCP cộng thêm +27MB vì dựng sẵn schema zod cho toàn bộ giao thức MCP (resource, prompt, sampling, elicitation, task — 215 định nghĩa), chứ không chỉ phầntools/*server này thật sự dùng — chi phí cố định khi phụ thuộc SDK chính chủ. ~22MB còn lại đến từfetch()gọi lúc boot củaupdate-check.jskhởi tạo cảundici; sửa bằng cách viết lại trênnode:httpstrực tiếp. Kết quả đo cuối: ~92MB → ~72.6MB RSS.
Các thay đổi nhỏ hơn trong 1.10.0: icon Claude/Grok/ChatGPT/Gemini thật thay chữ ở panel, allowlist git read-only mở rộng thêm ls-remote/describe/shortlog/merge-base, QR donate responsive.
1.11.0 — AI tự đọc hướng dẫn ở phiên đầu
Prompt dán vào AI vốn đã sát trần 1.500 ký tự của ChatGPT (đo được 1141/1500 trước, 1292/1500 sau khi thêm). Bản 1.11.0 giải bài toán "làm sao nhét thêm hướng dẫn mà không phá trần" bằng một dòng trỏ tới file, không nhét nguyên văn: docs/ref/mcp-intro.md (mẫu live-plan, tính liên tục qua nhiều tài khoản) chỉ được AI đọc một lần, chặn bởi cờ ~/.aki/mcpsv/intro.json — phiên sau không đọc lại.
- Sửa kèm:
~/.aki/aki-mcp-status.json— file trạng thái AI đọc đầu phiên để biết bản đang cài — trước đó nằm ngoàiUSER_DIRriêng của app,scripts/update-check.jsnay tính đường dẫn qua đúngUSER_DIR(scripts/userdata.js) như mọi userData khác. - GitHub Release notes hết trống:
.github/workflows/release.ymltrước dùnggh release create --generate-notes, chỉ lấy nội dung từ PR đã merge — repo này commit thẳng lên trunk nên phần thân gần như trống. Nay trích đúng sectionCHANGELOG.mdcủa bản được tag, kèm link so sánh Full Changelog với tag bare-semver liền trước. .envgiữ nguyên, không gỡ (quyết định đóng, không phải thay đổi hành vi).
Cài đặt
Hai đường, cả hai đều dẫn tới cùng server:
- Git clone (như trước giờ):
git clone https://github.com/lacvietanh/aki-mcp-sv.git && cd aki-mcp-sv && npm install && npm start. - Standalone (mới từ 1.9.0): tải launcher đúng hệ điều hành từ trang Releases trên GitHub, chạy trực tiếp — không cần cài Node hay Git trước.