Cindy: thử AI agent mã nguồn mở bên cạnh n8n và Make
Cindy là AI agent mã nguồn mở chạy trên máy cá nhân, làm việc với tệp và ứng dụng đã đăng nhập. Hãy thử từ tác vụ đọc, trả đầu ra có cấu trúc và giữ các bước hành động quan trọng trong workflow có kiểm soát.
Một workflow n8n hay Make thường rất tốt ở các bước đã rõ ràng: nhận form, kiểm tra điều kiện, ghi CRM, gửi thông báo. Phần khó hơn nằm ở những yêu cầu lộn xộn như đọc tài liệu đính kèm, xác định ngữ cảnh và đề xuất bước xử lý tiếp theo.
Đó là khoảng trống mà AI agent có thể hỗ trợ — đồng thời cũng là nơi cần kiểm soát chặt nhất. Cindy là một AI agent mã nguồn mở, chạy trên máy của người dùng và có thể làm việc với tệp thật cùng các ứng dụng đã đăng nhập.
Với người làm automation, cách thử hợp lý không phải là giao toàn bộ quy trình cho agent. Hãy bắt đầu để Cindy đọc, phân loại và trả đầu ra có cấu trúc; các bước tạo thay đổi thực tế vẫn nên nằm trong workflow rõ ràng, có kiểm tra và phê duyệt.
Cindy là gì?
Cindy tập hợp nhiều thành phần vào một agent, gồm harness, model và công cụ. Hai harness được hỗ trợ đầu tiên là Claude Code và Codex. Theo README, harness và model có thể thay đổi trong lúc thực hiện tác vụ, trong khi workspace, memory, skills và tools được duy trì liên tục.
Cindy chạy cục bộ trên máy tính của người dùng, làm việc với tệp và ứng dụng đã đăng nhập. Dự án cũng mô tả khả năng điều khiển trình duyệt, máy tính và điện thoại; nhận việc từ IM và lịch biểu.
Các hướng mở rộng được nêu trong README gồm:
Memory: lưu các điều chỉnh để tái sử dụng giữa các harness.
Skills: đóng gói cách làm việc để dùng lại.
Automation: thực hiện công việc theo lịch và báo kết quả.
MCP: đưa công cụ nội bộ hoặc hệ thống nghiệp vụ vào phạm vi agent có thể sử dụng.
Plugins: mở rộng tính năng, giao diện và tương tác; marketplace plugin vẫn đang được phát triển.
Repository makecindy/cindy là mã nguồn của client Cindy: ứng dụng desktop Electron, ứng dụng mobile Expo/React Native và các package dùng chung. Dịch vụ backend không nằm trong monorepo này.
Cindy khác gì n8n hoặc Make?
Không nên xem Cindy là bản thay thế trực tiếp cho n8n hay Make.
n8n/Make phù hợp với các bước xác định trước: webhook → điều kiện → tạo bản ghi → thông báo.
Cindy phù hợp để thử nghiệm với đầu vào cần diễn giải, chẳng hạn đọc tệp, đối chiếu thông tin hoặc thao tác trong ứng dụng đã đăng nhập.
Node cố định vẫn nên là node cố định: lọc dữ liệu, ánh xạ trường hay cập nhật CRM theo quy tắc rõ ràng thường dễ kiểm thử và truy vết hơn khi để trong workflow truyền thống.
Một cách phân vai thực tế là: Cindy hỗ trợ phần đọc hiểu và đề xuất; workflow đảm nhiệm điều phối, xác thực dữ liệu và các hành động đã được phê duyệt.
Bắt đầu với phạm vi hẹp
Cindy có client desktop và mobile, được phát hành mã nguồn mở theo giấy phép Apache-2.0.
Nếu muốn dùng local agent mà không đăng nhập tài khoản Cindy, người dùng có thể chọn “Skip Sign-In” ở màn hình đăng nhập. Ứng dụng sẽ hiển thị trạng thái “Not signed in”; các khả năng cần máy chủ sẽ không khả dụng trong chế độ này.
Để phát triển hoặc đóng góp cho client, README đưa ra điểm bắt đầu:
bash
git clone https://github.com/makecindy/cindy.git
cd cindy
git lfs pull
pnpm install
Môi trường này yêu cầu Node.js 22.x, pnpm 10.x và Git LFS. README cho biết pnpm v11 chưa được hỗ trợ.
Với nhóm vận hành, nên thử trước trong một workspace riêng, chỉ có dữ liệu mẫu hoặc dữ liệu đã được làm sạch. Không nên khởi đầu trong thư mục chứa hợp đồng, token, khóa API, dữ liệu xuất từ CRM hoặc tài liệu khách hàng.
Ví dụ: dùng agent để phân loại, không tự hành động
Một bài thử an toàn là yêu cầu agent đọc một tệp trong thư mục được chỉ định và trả về kết quả có cấu trúc. Mục tiêu không phải để agent tự sửa CRM hay gửi email, mà để nó tạo đề xuất cho bước tiếp theo.
Ví dụ prompt:
text
Bạn là bước phân loại yêu cầu cho workflow vận hành.
Chỉ đọc các tệp trong <thumucduocphep>.
Không được tạo, sửa, đổi tên hoặc xóa tệp.
Không được gửi tin nhắn, email hoặc thao tác trên website.
Không dùng dữ liệu ngoài workspace.
Đọc <tepdauvao> và trả về DUY NHẤT JSON hợp lệ:
{
"requesttype": "<loaiyeucau>",
"priority": "<low|medium|high>",
"summary": "<tomtatngan>",
"missinginformation": ["<thongtinconthieu>"],
"recommendednextstep": "<buoctieptheo>",
"needshumanapproval": true
}
Chẳng hạn, nếu yêu cầu cập nhật thông tin khách hàng nhưng không có mã bản ghi, kết quả mong muốn là đánh dấu thông tin còn thiếu và yêu cầu phê duyệt — không phải tự tìm rồi sửa dữ liệu.
README không công bố node chính thức cho n8n/Make, webhook hay API cụ thể để gọi Cindy từ hai nền tảng này. Vì vậy, trước hết nên thiết kế điểm bàn giao ở mức quy trình: agent tạo đầu ra có cấu trúc, còn workflow nhận dữ liệu đã được kiểm tra theo phương án phù hợp với hệ thống của đội ngũ.
Mở rộng quyền theo từng tầng
Khi thử nghiệm agent trong quy trình vận hành, có thể chia quyền thành ba tầng:
Tầng đọc: đọc tệp hoặc tra cứu trong ứng dụng đã đăng nhập, sau đó trả tóm tắt và đề xuất.
Tầng soạn: tạo nháp email, nháp cập nhật CRM hoặc danh sách việc cần làm để con người xem trước.
Tầng hành động: workflow cố định thực hiện gửi email, cập nhật CRM hoặc thay đổi dữ liệu sau khi có xác nhận rõ ràng.
Với các thao tác như gửi email, thanh toán, xóa dữ liệu hoặc đổi quyền truy cập, nên có:
người phê duyệt;
bản nháp hoặc màn hình xem trước;
điều kiện xác nhận trong workflow;
bản ghi về thời điểm và người phê duyệt;
cơ chế dừng luồng khi đầu vào thiếu hoặc bất thường.
Nguyên tắc đơn giản: agent có thể hỗ trợ đề xuất, còn workflow và người phụ trách giữ quyền cam kết hành động.
Lưu ý về chi phí, khóa truy cập và telemetry
Client Cindy được dùng miễn phí và mã nguồn mở. README cho biết người dùng có thể dùng dịch vụ Cindy, kết nối API key riêng, dùng Claude Code hoặc Codex Coding Plan đã có, hay dùng model cục bộ. Với Coding Plan đã trả phí, dự án nói người dùng có thể tiếp tục dùng trong Cindy mà không bị tính hóa đơn trùng.
Không đưa API key, token hoặc tệp ủy quyền vào workspace thử nghiệm hay repository Git. README cũng cảnh báo không commit credentials và authorization files vào working tree.
Bản phân phối chính thức có TapDB analytics cho thống kê sử dụng ở cấp sản phẩm. Theo README, dữ liệu này gồm định danh thiết bị, phiên bản hệ điều hành/ứng dụng và sự kiện khởi động, hoạt động; sau khi đăng nhập, sự kiện có thể được liên kết với account ID. TapDB không thu thập nội dung chat, nội dung tệp hay thư mục làm việc theo mô tả của dự án.
Người dùng có thể tắt thống kê sử dụng trong Settings trên desktop và mobile. README cũng nêu một ngoại lệ đã biết trên mobile liên quan đến khôi phục đăng nhập enterprise SSO: trong một số điều kiện, trạng thái đồng ý analytics có thể được ghi nhận mà không qua bước chấp nhận chính sách rõ ràng. Nếu dùng dữ liệu công việc, hãy kiểm tra cài đặt này trước.
Checklist trước khi dùng trong luồng thật
[ ] Xác định rõ thư mục, ứng dụng và dữ liệu agent được phép truy cập.
[ ] Bắt đầu bằng tác vụ đọc và trả đầu ra có cấu trúc.
[ ] Giữ trigger, validation, routing và hành động quan trọng trong workflow kiểm soát được.
[ ] Bắt buộc phê duyệt với email, thanh toán, xóa hoặc sửa dữ liệu quan trọng.
[ ] Lưu trạng thái xử lý, lỗi và quyết định phê duyệt theo chính sách nội bộ.
[ ] Không để API key, token hoặc tệp ủy quyền trong workspace hay Git.
[ ] Kiểm tra cài đặt Usage statistics trước khi đưa dữ liệu công việc vào ứng dụng.
Cindy đáng chú ý ở chỗ kết hợp agent, harness, model và công cụ trong trải nghiệm chạy trên máy người dùng. Với automation, giá trị thực tế sẽ đến từ cách giới hạn phạm vi: thử việc nhỏ, yêu cầu đầu ra rõ ràng và chỉ mở rộng quyền khi quy trình đã kiểm soát được rủi ro.