Trình cài đặt CodeGym yêu cầu quyền quản trị viên và cài lên máy tính khoảng một chục chương trình. Thấy dè chừng vào lúc này là bình thường, và cũng là phản xạ đúng. Ai quan tâm đến máy của mình cũng có quyền hỏi: rốt cuộc chương trình này định làm gì với nó?

Bài viết này trả lời câu hỏi đó đầy đủ, không tô vẽ. Cài những gì, đặt ở đâu, chúng tôi không đụng vào gì, dữ liệu nào được thu thập và làm sao hoàn tác tất cả.

Nếu bạn không muốn dùng trình cài đặt thì không dùng cũng được. Không có nó bạn vẫn học được khóa này: trong các bài giảng, mọi thứ cần thiết đều được hướng dẫn cài thủ công từng bước. Trình cài đặt chỉ giúp bạn khỏi phải làm những việc lặp đi lặp lại.

1. Vì sao cần nó

Khóa học cần khá nhiều công cụ: bản thân Claude Code, IDE, các ngôn ngữ lập trình, công cụ build. Mỗi thứ cài một kiểu, mỗi thứ có cách cấu hình riêng, và một số còn phải kết nối với nhau rồi đăng nhập.

Làm hết bằng tay thì được, nhưng mất vài tiếng đồng hồ, dễ nhầm ở đâu đó rồi lại mất rất lâu để tìm xem vì sao thứ gì đó không chạy. Trình cài đặt làm đúng những việc đó chỉ trong một lần chạy. Nhàm chán, nhưng đoán trước được.

2. Những gì được cài đặt

Dưới đây là danh sách đầy đủ những thứ sẽ xuất hiện trên máy tính của bạn.

Claude Code và nhập liệu bằng giọng nói

Claude Code CLI - công cụ chính của khóa học, chính là AI agent đó. Được cài bằng trình cài đặt chính thức của Anthropic từ trang claude.ai, luôn là phiên bản mới nhất.

Handy - tiện ích nhận dạng giọng nói. Nó giúp bạn giao nhiệm vụ cho agent bằng giọng nói thay vì gõ phím. Cùng với nó, mô hình nhận dạng Parakeet V3 (khoảng 456 MB) cũng được tải về, và mô hình này chạy ngay trên máy tính của bạn, không cần internet.

Hai plugin cho Claude Code - superpowers và frontend-design từ marketplace chính thức của Anthropic.

Môi trường phát triển

IntelliJ IDEA - IDE chính của khóa học. Đi kèm ba plugin: hỗ trợ Python, plugin CodeGym (để gửi bài tập đi kiểm tra) và plugin Claude Code (bảng điều khiển agent ngay trong IDE).

Visual Studio Code - IDE thứ hai, được cài song song để bạn tùy chọn. Đi kèm hai plugin từ cùng bộ đó: CodeGym (bản beta) và extension Claude Code chính thức.

Ngôn ngữ và tiện ích

  • Node.js 24 - để chạy các project của khóa học và phần kiểm tra kết quả.
  • Python 3.14 - cho các script và một phần bài tập.
  • Java 25 (Eclipse Temurin) - cơ sở của nền tảng CodeGym.
  • Gradle 9.5.1 - build các project Java.
  • Git - lưu lịch sử project, bạn sẽ cần đến nó ở các phần sau của khóa học. Trên Windows, Git Bash được cài kèm theo.

Cấu hình và đăng nhập

Một file cấu hình truy cập máy chủ AI của khóa học, cấu hình cho các plugin CodeGym và profile học tập cho Claude Code: quy tắc làm việc của agent, các kỹ thuật hỗ trợ và mẫu dựng sẵn cho game và project web. Mọi thứ đã được điền sẵn cho bạn - không cần nhập key, cũng không cần đăng nhập.

Khác biệt giữa các hệ điều hành

Trên macOS, nếu bạn chưa có Homebrew (trình quản lý gói), trình cài đặt sẽ cài luôn cả nó, vì Git, Python và VS Code được cài thông qua Homebrew.

Trên Linux, các kho (repository) của Node.js, Python và Microsoft (cho VS Code) sẽ được thêm vào. Trên Debian, Python 3.14 không cài được - trình cài đặt sẽ nói thẳng điều này trong báo cáo, và bạn sẽ phải tự cài bằng tay.

3. Mọi thứ được đặt ở đâu

Trình cài đặt không rải file khắp hệ thống. Mọi thứ nằm ở những chỗ dễ đoán - sau này muốn xem cái gì nằm ở đâu, bạn sẽ tìm ra mà không phải lục lọi.

Chương trình

Hệ điều hànhVị trí
WindowsProgram Files, C:\Gradle
macOS/Applications, /opt
Linux/opt

Ba thư mục trong thư mục người dùng

.claude-codegym - profile học tập của Claude Code: các cài đặt, quy tắc làm việc của agent, các kỹ thuật hỗ trợ.

.codegym - cấu hình đăng nhập cho các plugin CodeGym và hai lệnh khởi chạy (nói thêm ở dưới).

.codegym-backups - bản sao lưu của các file mà trình cài đặt đã thay đổi, kèm nhật ký thay đổi. Giữ lại 10 lần chạy gần nhất hoặc 30 ngày.

Riêng bản thân Claude Code được cài vào ~/.local/bin, còn mô hình nhận dạng giọng nói nằm trong thư mục dữ liệu của Handy.

Những gì thay đổi trong các cài đặt hệ thống

Biến PATH - để các lệnh của khóa học chạy được từ terminal. Trên Windows, thay đổi được ghi vào Registry, trên macOS - vào file .zprofile, trên Linux - vào /etc/profile.d/codegym.sh và .profile.

Trên macOS và Linux, các dòng của chúng tôi được bọc giữa hai dòng đánh dấu# CODEGYM START và # CODEGYM END. Bạn nhìn là thấy ngay, và khi hoàn tác, chỉ đúng những dòng đó bị xóa, các cài đặt của bạn không bị ảnh hưởng.

Registry của Windows - ba mục, không hơn: đường dẫn tới Gradle, đường dẫn tới các lệnh của khóa học và việc chấp nhận thỏa thuận cấp phép của IntelliJ IDEA.

4. Hai lệnh: claude và claude-native

Đây là một chi tiết quan trọng, nên biết trước.

Khóa học có các cài đặt Claude Code riêng: kết nối tới máy chủ của khóa học, quy tắc làm việc của agent, các nhân vật của khóa học. Không nên trộn chúng với các cài đặt cá nhân của bạn - vì vậy chúng tôi tách riêng hai bên.

claude - khởi chạy Claude Code với profile của khóa học. Đây là lệnh bạn dùng cho khóa học.

claude-native - khởi chạy Claude Code cá nhân của bạn, như thể chúng tôi không hề có mặt ở đây. Các cài đặt của riêng bạn, tài khoản của riêng bạn.

Cách hoạt động như sau: cả hai lệnh đều là script nhỏ trong thư mục .codegym/bin, cùng khởi chạy một Claude Code thật duy nhất, nhưng trỏ nó tới những thư mục cấu hình khác nhau. Bản thân tôi luôn để sẵn cả hai: lệnh của khóa học cho việc học trong khóa, lệnh của mình cho mọi việc khác.

Trình cài đặt không đọc, không sửa và không xóa profile Claude Code cá nhân của bạn. Nếu bạn đã có sẵn một profile, nó sẽ giữ nguyên như cũ.

Một lưu ý thực tế: các lệnh chỉ xuất hiện trong cửa sổ terminal mới. Nếu ngay sau khi cài xong bạn gõ claude trong cửa sổ đã mở từ trước, cửa sổ đó chưa biết gì về các lệnh này - chỉ cần mở một cửa sổ mới.

5. Những gì chúng tôi không làm

Có lẽ đây là phần quan trọng nhất. Trình cài đặt được viết theo nguyên tắc "không gây hại", và trên thực tế nguyên tắc đó có nghĩa như sau.

Không xóa và không ghi đè những gì bạn đã cài. Nếu máy tính đã có Java, Python, Node hoặc Git ở phiên bản khác, chúng vẫn ở nguyên chỗ cũ. Phiên bản cho khóa học được cài song song bên cạnh.

Không đụng vào trình quản lý phiên bản. Nếu bạn dùng nvm, pyenv, sdkman hoặc asdf, trình cài đặt sẽ để yên chúng, và trong báo cáo sẽ nhắc rằng nó đã cài một phiên bản song song. Chúng tôi không hề muốn làm hỏng pyenv mà bạn tự thiết lập.

Không cài lại những gì đã có đúng phiên bản. Chạy lại lần nữa cũng không làm hỏng những gì đã cài: trình cài đặt kiểm tra từng công cụ và bỏ qua thứ đã sẵn sàng.

Không đụng vào bản IntelliJ IDEA không do chúng tôi cài. Nếu bạn có IDEA từ JetBrains Toolbox, chúng tôi sẽ không động đến nó - mà cài một bản riêng cho khóa học và báo cho bạn biết.

Không ghi đè các lựa chọn đồng ý của bạn. Nếu bạn đã chấp nhận giấy phép IDEA hoặc đã thiết lập việc gửi thống kê sử dụng, các cài đặt đó vẫn là của bạn.

Không can thiệp vào khởi động cùng hệ thống, dịch vụ và chính sách hệ thống. Trình cài đặt không tự thêm mình vào danh sách khởi động, không tạo dịch vụ hay tác vụ lập lịch, không cài chứng chỉ, không đụng vào tường lửa, file hosts và DNS.

Không mở rộng quyền của AI agent. Profile học tập không gỡ bỏ bất kỳ giới hạn nào của Claude Code - agent làm việc với các cài đặt bảo mật thông thường và vẫn xin phép như mọi khi.

6. Dữ liệu nào được thu thập

Key cá nhân của bạn

Khi bạn tải trình cài đặt về, một key truy cập cá nhân gắn với tài khoản của bạn được ghi vào file nén. Nhờ key này, các plugin CodeGym và Claude Code tự đăng nhập vào tài khoản, nên bạn không phải nhập key bằng tay. Key không lọt vào nhật ký - nó được che bằng chính bộ lọc dùng cho mật khẩu. Và cũng chính vì key này mà bạn không nên đưa file nén cho người khác.

Nhật ký cài đặt

Trong lúc cài đặt, trình cài đặt ghi một nhật ký chi tiết: đã chạy những bước nào, trên máy đã có sẵn gì, việc gì thành công và việc gì không. Nhật ký này nằm lại trên ổ đĩa của bạn. Không được gửi đi đâu cả.

Nếu có gì trục trặc, chính bạn sẽ gửi nó đi, khi bạn tự quyết định như vậy. Trên Windows, file nằm trong thư mục tạm (%TEMP%\codegym-install.log), trên macOS và Linux - nằm cạnh chính trình cài đặt, tên file là install.log.

Mật khẩu và key không lọt vào nhật ký: trước khi ghi, mỗi dòng đều đi qua một bộ lọc, bộ lọc này thay token và mật khẩu bằng ký hiệu [SECRET]. Nội dung các file cấu hình của bạn cũng không được ghi vào đó - chỉ có tên các tham số.

Nếu sau này có thêm tính năng tự động gửi báo cáo lỗi, chúng tôi sẽ thông báo trước và cho bạn cách tắt nó.

Nhật ký phiên học

Đây là một chuyện khác hẳn, và cần nói thẳng.

Trong profile học tập của Claude Code có bật chế độ ghi nhật ký làm việc. Khi bạn giải một bài tập của khóa học, trong thư mục project sẽ xuất hiện file .codegym/cc-transcript.txt, ghi lại quá trình làm việc: các yêu cầu bạn gửi cho agent, phần đầu các câu trả lời của agent, những file mà agent đã sửa, những lệnh mà agent đã chạy.

Vì sao cần nó: nền tảng dựa vào nhật ký này để kiểm tra lời giải bài tập. Đây là "cuốn vở ghi quá trình giải bài" của bạn - nhìn vào đó thấy được không chỉ kết quả mà cả con đường bạn đi đến kết quả. Nghe có vẻ đáng lo, tôi hiểu. Nhưng không có nhật ký thì nền tảng chỉ thấy được cái cuối cùng bạn làm ra.

Điều quan trọng cần hiểu:

  • nhật ký nằm trong thư mục project của bạn, bạn có thể mở ra đọc;
  • nó không tự gửi đi đâu cả - trong các file thực hiện việc ghi nhật ký không có một lệnh gọi mạng nào;
  • mật khẩu và key trong đó được che y như trong nhật ký cài đặt;
  • nhật ký chỉ được ghi trong profile học tập. Chạy claude-native thì không có nhật ký nào được ghi.

Làm việc với AI đi qua máy chủ nào

Thêm một sự thật nữa mà nói thẳng ra vẫn hơn là im lặng.

CodeGym trả phí cho quyền truy cập AI mà bạn dùng trong khóa học, và quyền truy cập này đi qua máy chủ của chúng tôi - llm.codegym.cc. Nghĩa là các yêu cầu gửi tới mô hình và câu trả lời của nó đi qua hạ tầng của CodeGym về mặt vật lý.

Đó là cách quyền truy cập miễn phí cho học viên vận hành. Nếu bạn cần làm việc trực tiếp với tài khoản cá nhân của mình, lệnh claude-native sinh ra chính là để làm việc đó.

7. Cách kiểm tra và cách hoàn tác

Bạn không cần phải tin lời bài viết này. Trình cài đặt có những chế độ cho phép bạn xem trước và khôi phục lại.

Xem trước mà không cài gì

Cờ --dry-run (trên Windows là -DryRun) chạy trình cài đặt ở chế độ "chỉ hiển thị". Nó sẽ in ra danh sách đầy đủ những gì nó sẽ làm - tải file nào, đặt vào đâu, thêm gì vào PATH - rồi kết thúc mà không cài gì cả.

Nói cho công bằng: không thể gọi chế độ này là "hoàn toàn không đụng vào gì". Nó ghi đè file nhật ký của lần chạy trước, tạo các thư mục làm việc của trình cài đặt và dọn các bản sao lưu đã cũ. Nhưng không chương trình nào được cài, các cài đặt và PATH cũng không thay đổi.

Không đụng vào PATH

Cờ --minimal (trên Windows là -Minimal) cài tất cả chương trình nhưng không ghi đường dẫn vào các cài đặt hệ thống - thay vào đó, nó in ra các dòng để bạn tự thêm. Chế độ này dành cho những ai đã thiết lập môi trường theo ý mình (nếu bạn không chắc mình có cần nó không, thì là không cần).

Trên Windows, chế độ này hiện chưa hoạt động trọn vẹn: đường dẫn tới các lệnh của khóa học vẫn bị thêm vào PATH của người dùng. Thay đổi này hoàn tác được, nhưng tạm thời cờ này chưa làm đúng hoàn toàn như nó hứa. Chúng tôi biết và sẽ sửa.

Hoàn tác các thay đổi

Cờ --rollback (trên Windows là -Rollback) khôi phục các cài đặt mà trình cài đặt đã thay đổi: PATH, các file profile của shell, cấu hình, các mục trong Registry. Mọi thay đổi đều được ghi vào nhật ký thao tác, và việc khôi phục đi đúng theo nhật ký đó.

Thêm một lớp bảo vệ: nếu bạn đã sửa một file sau khi cài, việc khôi phục sẽ không đụng vào file đó - mà báo cho bạn và chỉ ra bản sao lưu nằm ở đâu.

Điều mà việc khôi phục không làm: nó không gỡ các chương trình đã cài. IntelliJ IDEA, Java, Node và những thứ còn lại vẫn ở nguyên chỗ. Thay vào đó, trình cài đặt sẽ in ra danh sách của chúng kèm các lệnh gỡ cài đặt viết sẵn - gỡ cái gì là do bạn quyết định.

Thêm một chi tiết cần nói rõ:trên Windows, trình cài đặt của Java, Node và Python tự ghi đường dẫn của chúng, không đi qua nhật ký thao tác của chúng tôi. Việc khôi phục không thể đưa những mục đó về như cũ.

Trên Windows, trình cài đặt tự in sẵn lệnh khôi phục ở cuối quá trình cài đặt. Cách chạy lệnh:

  1. Mở PowerShell với quyền quản trị viên: nhấp chuột phải vào biểu tượng PowerShell, rồi chọn "Run as administrator" (chạy với quyền quản trị viên).
  2. Chuyển đến thư mục của trình cài đặt.
  3. Chạy lệnh:
powershell -NoProfile -ExecutionPolicy Bypass -File .\resources\Windows_install.ps1 -Rollback

Xem những gì đã làm

Khi chạy xong, trình cài đặt in ra một báo cáo: danh sách các bước, mỗi bước có một trạng thái - đã xong, bỏ qua, cảnh báo, lỗi hoặc "hãy làm thủ công". Thất bại không bị giấu đi: nếu có gì không cài được, báo cáo sẽ ghi thẳng ra, kèm lý do.

Tất cả những gì trình cài đặt không tự làm được đều được gom vào một mục riêng "Hoàn tất thủ công" với các lệnh cụ thể.

8. Những gì bạn sẽ phải tự làm bằng tay

Có những việc về nguyên tắc không thể tự động hóa được.

Quyền cho Handy. Ở lần chạy đầu tiên, hệ thống sẽ hỏi quyền truy cập micro (trên macOS còn hỏi thêm quyền "Trợ năng"). Thiếu các quyền này thì nhập liệu bằng giọng nói sẽ không hoạt động. Chỉ con người mới cấp được quyền - không chương trình nào làm thay bạn việc đó.

Các cửa sổ có thể hiện ra khi IntelliJ IDEA khởi động lần đầu. Trình cài đặt đã chấp nhận giấy phép từ trước, nhưng nếu cửa sổ giấy phép vẫn hiện ra - hãy chấp nhận giấy phép.

9. Câu hỏi thường gặp

Cài đặt mất bao lâu?

20-40 phút, cần tải về khoảng một gigabyte. Phần lớn thời gian dành cho IntelliJ IDEA và mô hình nhận dạng giọng nói.

Vì sao cần quyền quản trị viên?

Các chương trình được cài vào thư mục hệ thống (Program Files, /opt, /Applications) - không có quyền quản trị viên thì không ghi vào đó được. Còn các cài đặt và profile thì được đặt trong thư mục người dùng của bạn và vẫn là của bạn.

Có chạy trình cài đặt hai lần được không?

Được, không hỏng gì cả. Những gì đã cài sẽ được bỏ qua. Trình cài đặt cũng có cơ chế chống vô tình chạy hai lần: tiến trình chạy thứ hai sẽ thấy quá trình cài đặt đang diễn ra và tự đóng lại.

Các cài đặt Claude Code của tôi sẽ ra sao?

Không sao cả. Profile học tập nằm trong một thư mục riêng, profile cá nhân của bạn không bị đọc và không bị thay đổi. Để làm việc cá nhân đã có lệnh claude-native.

Hệ thống hiện cảnh báo khi chạy. Như vậy có bình thường không?

Có. Hệ điều hành phản ứng như vậy với bất kỳ chương trình nào tải từ internet - trình cài đặt của chúng tôi hiện chưa có chứng chỉ ký mã. Trên Windows, hãy nhấp "Thông tin thêm", rồi chọn "Vẫn chạy". Trên macOS, nếu hệ thống báo không thể xác minh nhà phát triển, hãy nhấp chuột phải vào file, chọn "Mở", rồi xác nhận thêm một lần nữa.

Trình cài đặt gỡ nhãn "tải về từ internet" khỏi các file. Để làm gì?

Nếu không, hệ thống sẽ chặn không cho chạy các file đi kèm, và việc cài đặt bị dừng giữa chừng. Trên Windows, việc này được làm cho thư mục đã giải nén, trên macOS - là gỡ trạng thái cách ly (quarantine) của Gatekeeper cho chính thư mục đó. Nhãn chỉ được gỡ khỏi các file của chính trình cài đặt, còn các file khác của bạn thì trình cài đặt không động tới.

Vì sao không được đưa file nén cho người khác?

Bên trong có dữ liệu đăng nhập cá nhân của bạn. Ai nhận được file nén sẽ làm việc được bằng tài khoản của bạn. Chia sẻ đường link tải về thì được - mỗi người sẽ nhận một file nén của riêng mình.

Có gì đó trục trặc. Phải làm sao?

Xem báo cáo ở cuối và file install.log - ở đó thấy được lỗi ở bước nào và vì sao. Nếu vẫn chưa rõ, hãy gửi file này cho bộ phận hỗ trợ. Đây là cách làm thông thường, không phải biện pháp cuối cùng.

10. Nếu bạn không muốn cài mọi thứ cùng lúc

Trình cài đặt không phải bước bắt buộc của khóa học, mà là cách để tiết kiệm thời gian. Mọi việc nó làm đều được giải thích từng bước trong các bài giảng: Claude Code cài bằng một lệnh, phần cấu hình thì chỉ cần sao chép một file.

Các công cụ còn lại được thêm dần khi cần - đến lúc cần tới chúng, bạn sẽ hiểu chúng dùng để làm gì. Học theo cách đó thì nhớ lâu hơn là một danh sách mười dòng.