
iCode là gì?
iCode là một ứng dụng đầu cuối mã nguồn mở để điều phối các tác tử AI và quy trình làm việc. Ứng dụng kết hợp hội thoại, hồ sơ mô hình, cấu hình tác tử, quyền truy cập shell, diff tệp, các tùy chọn khôi phục và phân tích thực thi trong cùng một giao diện.
Đang được phát triển: Giao diện, định dạng tệp và các giá trị mặc định của iCode có thể thay đổi giữa các bản phát hành.
iCode không tích hợp sẵn mô hình AI. Thay vào đó, bạn tự kết nối các nhà cung cấp mô hình và chọn hồ sơ đã cấu hình mà tác tử sẽ sử dụng.

Tính năng chính
- Trò chuyện trong terminal: Xem phản hồi Markdown phong phú, bao gồm danh sách và sơ đồ được định dạng.
- Tác tử có thể cấu hình: Xác định hướng dẫn, công cụ, tác tử con, kỹ năng, máy chủ MCP và bộ nhớ mà không cần viết mã tác tử.
- Nhiều hồ sơ mô hình: Cấu hình hồ sơ từ các nhà cung cấp khác nhau và chuyển đổi mô hình trong khi trò chuyện.
- Trực quan hóa quy trình: Theo dõi quy trình theo từng nút và kiểm tra mô hình, lời gọi công cụ cũng như lượng token sử dụng của từng nút tác tử.
- Đánh giá thay đổi: Kiểm tra mọi tệp được tác tử sửa đổi trong chế độ diff hợp nhất hoặc chia đôi.
- Khôi phục: Chọn một lượt trước đó, xem lại các thay đổi sẽ được hoàn tác và xóa cuộc trò chuyện sau thời điểm đó.
- Phân tích tiến trình: Kiểm tra phân tích thời gian, token, bộ nhớ đệm và khả năng xử lý song song, cùng với các lời gọi mô hình, hook và công cụ.
- Shell tích hợp: Chạy terminal thực bên trong iCode, bao gồm cả các ứng dụng toàn màn hình.

Điều kiện tiên quyết
Điều kiện tiên quyết duy nhất là uv. Công cụ này cung cấp Python 3.14 cho dự án, vì vậy bạn không cần cài riêng phiên bản Python đó.
Hãy sử dụng terminal hiện đại để có trải nghiệm tốt nhất. README khuyến nghị Windows Terminal trên Windows hoặc Ghostty trên macOS và Linux.
Cài đặt và chạy iCode
Bắt đầu từ bản sao cục bộ của kho mã. Mở terminal tại thư mục gốc và đồng bộ dự án cùng tất cả phần bổ sung bắt buộc:
uv sync --extra allHãy sử dụng chính xác --extra all như trên. Dự án đặc biệt cảnh báo không sử dụng uv sync không có tùy chọn hoặc thay thế tùy chọn này bằng --all-extras.
Tiếp theo, tải xuống tệp nhị phân ripgrep đi kèm. Trên macOS hoặc Linux, hãy chạy:
./scripts/fetch_rg.shTrên Windows, hãy chạy tập lệnh PowerShell thay thế:
.\scripts\fetch_rg.ps1Cuối cùng, khởi chạy iCode:
uv run icodeTên mã của dự án là Chrys, vì vậy lệnh này cũng khởi chạy cùng một ứng dụng:
uv run chrysCấu hình mô hình đầu tiên
iCode không đi kèm hồ sơ mô hình. Trong lần khởi chạy đầu tiên, nhấn F4 để mở Model Configuration và thêm hồ sơ cho nhà cung cấp mô hình bạn sử dụng.

Sau khi cấu hình các hồ sơ, bạn có thể giữ các hồ sơ từ nhiều nhà cung cấp khác nhau cạnh nhau và chuyển đổi giữa chúng trong khi trò chuyện. Vì iCode không cung cấp mô hình, kết nối nhà cung cấp mà bạn cấu hình sẽ quyết định nơi gửi các yêu cầu mô hình.
Cách sử dụng cơ bản
Điều hướng từ thanh nhập
Màn hình chính luôn hiển thị tác tử, mô hình, chế độ phê duyệt và phiên hiện tại. Một số tiền tố cung cấp quyền truy cập nhanh vào các chức năng quan trọng:
#truy cập các tác tử.$truy cập các mô hình./truy cập các lệnh.@truy cập các tệp.!truy cập shell.
Bắt đầu cuộc trò chuyện
Chọn một tác tử và mô hình đã cấu hình, sau đó nhập yêu cầu vào thanh nhập. Phản hồi được hiển thị dưới dạng Markdown phong phú ngay trong terminal. Khi tác tử sửa đổi tệp, iCode ghi lại các thay đổi để bạn có thể xem xét theo từng lượt hoặc cùng lúc.
Cấu hình tác tử
Nhấn F2 để mở Agent Configuration. Tác tử là một cấu hình thay vì mã ứng dụng. Từ màn hình này, bạn có thể chỉnh sửa hướng dẫn, công cụ, tác tử con, kỹ năng, máy chủ MCP và bộ nhớ.

Hãy giữ hướng dẫn của tác tử phù hợp với mục đích sử dụng và chỉ bật những công cụ, tích hợp mà tác tử cần. Điều này cũng quan trọng đối với quyền riêng tư vì các công cụ và máy chủ bên ngoài có thể tự xử lý dữ liệu.
Xem xét thay đổi tệp
Sử dụng trình xem diff để kiểm tra các tệp đã được tác tử thay đổi. Bạn có thể xem xét từng lượt một hoặc tổng hợp chúng thành chế độ xem tổng thể. Cả chế độ hợp nhất và chia đôi đều khả dụng.

Chạy và kiểm tra quy trình
Chế độ quy trình cho phép bạn theo dõi quy trình thực thi theo từng nút. Với mỗi nút tác tử, iCode có thể hiển thị mô hình được chọn, các lời gọi công cụ và lượng token sử dụng.

Giao diện này hữu ích khi một tác vụ gồm nhiều giai đoạn hoặc tác nhân. Thay vì xem quá trình thực thi như một phản hồi đơn lẻ, không minh bạch, bạn có thể theo dõi cách công việc di chuyển qua biểu đồ.
Mẹo nâng cao
Sử dụng tính năng khôi phục trước khi tiếp tục từ một lượt xử lý không mong muốn
Nếu một cuộc hội thoại tạo ra các chỉnh sửa không mong muốn, hãy chọn một lượt xử lý trước đó và mở tính năng khôi phục. iCode sẽ hiển thị những thay đổi tệp sẽ được hoàn tác trước khi áp dụng. Sau đó, ứng dụng loại bỏ phần hội thoại sau lượt xử lý đã chọn.

Hãy cẩn thận xem xét các thao tác hoàn tác tệp được đề xuất trước khi xác nhận, đặc biệt khi nhiều lượt xử lý đã chỉnh sửa cùng một tệp.
Phân tích quá trình thực thi bằng Trajectory
Nhấn F12 để mở giao diện trajectory. Phần tổng quan giải thích thời gian và token đã được sử dụng vào đâu, đồng thời phân tách hoạt động của mô hình, quá trình thực thi công cụ và thời gian chờ. Giao diện cũng cung cấp thông tin sử dụng token và bộ nhớ đệm theo từng lượt xử lý, cùng thông tin về khả năng chạy song song.

Dòng thời gian đi sâu vào từng lần gọi mô hình, hook và lần gọi công cụ trong một lượt xử lý. Hãy dùng tính năng này để điều tra các tương tác tốn nhiều tài nguyên hoặc chậm, đồng thời hiểu trình tự các thao tác.
Sử dụng shell tích hợp
Nhập shell bằng !. Đây là một terminal thực sự thay vì bảng đầu ra lệnh bị giới hạn, vì vậy các chương trình toàn màn hình có thể chạy trực tiếp và nhận mọi thao tác bàn phím.
Hãy nhớ rằng các lệnh, tập lệnh kỹ năng và workflow là những chương trình độc lập có quyền truy cập mạng của bạn. Hãy xem xét cách chúng hoạt động trước khi chạy, đặc biệt trong các môi trường nhạy cảm.
Mở hướng dẫn người dùng đầy đủ
Nhấn F8 trong iCode để mở hướng dẫn người dùng tích hợp. Tài liệu tương tự cũng có trong thư mục docs/ của repository bằng tiếng Anh và tiếng Trung giản thể.
Quyền riêng tư và kết nối bên ngoài
iCode không có tính năng đo từ xa, phân tích dữ liệu hoặc báo cáo sự cố, đồng thời không thu thập dữ liệu của bạn. Theo mặc định, ứng dụng không gửi bất cứ thứ gì, bao gồm dữ liệu sử dụng, đến dự án hoặc bên thứ ba khác.
Dữ liệu vẫn có thể được truyền đến các đích do bạn cấu hình, bao gồm nhà cung cấp mô hình, máy chủ MCP, hook và trình xuất OpenTelemetry. Các công cụ web bị tắt theo mặc định. Nếu được bật, các lượt tìm kiếm sẽ được gửi đến nhà cung cấp bạn đã cấu hình hoặc dịch vụ công khai mcp.exa.ai của Exa khi chưa cấu hình nhà cung cấp, còn các trang sẽ được yêu cầu trực tiếp từ website của chúng.
Tuân thủ và cấp phép
iCode là một công cụ điều phối và không cung cấp mô hình AI. Khi kết nối mô hình cho mục đích kinh doanh hoặc kỹ thuật, bạn chịu trách nhiệm tuân thủ Đạo luật AI của EU và mọi yêu cầu pháp lý hoặc quy định hiện hành khác.
Dự án là phần mềm nguồn mở theo Giấy phép Apache 2.0. Các thành phần bên thứ ba đi kèm vẫn giữ giấy phép tương ứng của chúng, được ghi rõ trong tệp NOTICE của repository.
Kết luận
Với uv, một terminal hiện đại và hồ sơ mô hình đã được cấu hình, bạn có thể sử dụng iCode làm giao diện trung tâm cho các tác nhân AI và workflow dựa trên terminal. Hãy bắt đầu bằng một cuộc hội thoại đơn giản, xem xét mọi thay đổi tệp được tạo ra, sau đó khám phá cấu hình tác nhân, workflow, khôi phục, quyền truy cập shell và phân tích trajectory khi tác vụ của bạn trở nên phức tạp hơn.
