--outpost trong các lệnh.Cách hoạt động
Công việc với tệp và shell chạy trên máy của bạn. Model và thông tin xác thực của kết nối ở lại trong CloudThinker Cloud.
Tại sao dùng Worker
- Làm việc tại nơi code của bạn nằm. Agent chỉnh sửa tệp và chạy công cụ của riêng bạn trong một repository riêng tư hoặc trên một host nội bộ, mà không cần mở cổng inbound nào. Worker kết nối ra ngoài qua HTTPS.
- Thông tin xác thực của kết nối ở lại trên cloud. Các lệnh dùng một kết nối workspace, như AWS hoặc Kubernetes, vẫn chạy trong CloudThinker Cloud. Thông tin xác thực đó không bao giờ đến máy của bạn. Shell của agent vẫn có thể dùng bất kỳ thông tin xác thực nào đã có sẵn trên máy, như
~/.awshoặc~/.kube/config, vì vậy hãy chạy Worker dưới một tài khoản không có các thông tin xác thực đó nếu điều này quan trọng. - Quy tắc của thư mục được áp dụng. Agent tuân theo các tệp hướng dẫn và Skill bạn giữ trong thư mục.
- Cá nhân hoặc dùng chung. Chỉ bạn mới dùng được Worker cá nhân. Worker dùng chung có sẵn cho mọi người trong workspace, kể cả Automation.
Điều kiện tiên quyết
- CloudThinker CLI được cài trên máy, chạy Linux hoặc macOS. Không có bản build Windows gốc. Xem CLI.
- HTTPS outbound (cổng 443) từ máy đến
app.cloudthinker.io, trực tiếp hoặc quaHTTPS_PROXY. Nếu proxy của bạn ký lại HTTPS, hãy đặtSSL_CERT_FILEthành CA bundle của công ty. - Một thư mục bạn muốn agent làm việc, chẳng hạn một bản checkout repository. Với Worktree, thư mục phải là một git repository và máy cần git 2.38 trở lên.
- Để tạo Worker dùng chung: vai trò Admin workspace. Xem Vai trò.
- Allow Workers được bật trong More → Workspace settings → General (xem cài đặt workspace). Tùy chọn này bật sẵn, trừ khi Admin workspace đã tắt.
cloudthinker login trên máy. Lệnh thiết lập tự đăng ký Worker. Thiết lập chỉ qua terminal thì cần đăng nhập.
Thiết lập Worker
Mở hộp thoại thiết lập Worker

Admin Settings, Sandboxes: Create worker thêm một thư mục trên máy của bạn để agent làm việc
Đặt tên Worker
payments-api. Bật Share with workspace nếu đồng đội và Automation cần dùng Worker này. Chọn Create worker. Chỉ Admin mới thấy Share with workspace; những người khác tạo Worker cá nhân.Trạng thái thành công: hộp thoại hiển thị một lệnh thiết lập. Lệnh chỉ dùng được một lần và hết hạn sau 10 phút (hộp thoại gọi lệnh này là liên kết).Chạy lệnh trong thư mục dự án
<reference> là mã đăng ký dùng một lần từ hộp thoại. --url mặc định là địa chỉ của lần cloudthinker login gần nhất, nếu không thì là https://app.cloudthinker.io, nên thường có thể bỏ flag này.Worker lưu thông tin xác thực trong một tệp riêng tư (mode 0600) trên máy này. Sau đó Worker tự kiểm tra khả năng đọc tệp, chạy lệnh shell, hủy lệnh và tải lên kết quả. Worker tiếp tục chạy ở foreground cho đến khi bạn nhấn Ctrl-C.Trạng thái thành công: terminal in ra Waiting for work. và hộp thoại hiển thị <name> is verified. Nếu lệnh đã hết hạn, chọn New command.Bắt đầu chat trên Worker
Thiết lập chỉ qua terminal
Đăng nhập bằngcloudthinker login trước và kiểm tra workspace bằng cloudthinker whoami. Sau đó:
Waiting for work., và Worker hiển thị Online trong menu Run in.
Thêm máy cho một Worker
Một Worker có thể có nhiều máy, ví dụ một build server và máy dự phòng của nó. Mở phần cài đặt của Worker, chọn Connect a machine, rồi chạy lệnh được cung cấp trên máy mới. Mỗi lần đăng ký là một máy riêng với thông tin xác thực riêng, và theo mặc định mỗi máy xử lý tối đa 4 lượt chạy cùng lúc. Cuộc hội thoại ở lại trên máy và thư mục đầu tiên nhận nó. Cuộc hội thoại không bao giờ chuyển sang máy khác, kể cả khi máy đó offline.Dùng ứng dụng CloudThinker Desktop
Trong ứng dụng CloudThinker Desktop, menu Run in có thêm Open a folder…, cho phép phục vụ một thư mục trên máy tính này như một Worker mà không cần terminal. Với thư mục Desktop đang được chọn, Remove this folder gỡ thư mục khỏi danh sách. Chọn một thư mục Desktop có Worker đang dừng sẽ khởi động Worker đó. Các thao tác này không có trên trình duyệt.Chọn nơi cuộc chat chạy
Chọn Worker


Gửi tin nhắn đầu tiên
Làm việc trong một worktree riêng
Sau khi bạn chọn một Worker, mở lại Run in. Menu lúc này hiển thị Configure local environment. Nếu thư mục là một git repository, hãy bật Worktree và chọn một Branch gốc trước tin nhắn đầu tiên. Khi đó Worker tạo một nhánhcloudthinker/<id> trong worktree riêng, được lưu trong thư mục trạng thái của Worker bên ngoài thư mục bạn phục vụ, nên bản checkout chính của bạn không thay đổi. Worker dùng nhánh cục bộ nếu có, nếu không thì fetch origin/<base> một lần.
- Dọn dẹp: Worker xóa một worktree sau 14 ngày không dùng, nhưng chỉ khi worktree đó không có thay đổi chưa commit. Nhánh
cloudthinker/<id>chỉ bị xóa khi đã được merge hoặc push. Liệt kê worktree bằngcloudthinker worker worktrees ls, hoặc dọn dẹp ngay bằngcloudthinker worker worktrees prune. Các worktree có thay đổi chưa commit sẽ ở lại và hiển thị làdirty. - Khi công tắc bị mờ: một dòng bên dưới công tắc cho biết lý do, ví dụ “This folder is not a git repository.” hoặc “Update the worker to use worktrees.” Chạy
cloudthinker update, vàcloudthinker worker doctorđể kiểm tra phiên bản git.
Worker có thể truy cập những gì
PATH, HOME, LANG, TERM, USER và TMPDIR. Để truyền thêm, hãy thêm flag vào worker start, ví dụ cloudthinker worker start --outpost payments-api --workdir "$PWD" --env AWS_PROFILE. Giá trị lấy từ môi trường của chính Worker, và bạn lặp lại --env cho mỗi biến. --inherit-env truyền mọi thứ. Thông tin xác thực của chính Worker luôn bị loại ra. --background không chấp nhận các flag này.
Mọi lệnh shell, việc bắt đầu hoặc dừng tác vụ nền, và thao tác ghi tệp đều được ghi lại trong Admin Settings → Audit Logs dưới bộ lọc Command, cho cả Worker cá nhân lẫn dùng chung. Owner và Admin của tổ chức có thể mở mục này. Bản ghi giữ một bản xem trước đã che của lệnh (tối đa 1 KiB), không bao giờ giữ đầu ra. Thao tác đọc không được ghi lại.
Những gì rời khỏi máy
Worker chạy các công cụ, nhưng model chạy trong CloudThinker Cloud. Những thứ sau được gửi lên đó và trở thành một phần của cuộc hội thoại:- Nội dung tệp mà agent đọc, tối đa 1.4 MB mỗi tệp.
- Đầu ra của lệnh.
- Các tệp agent tải lên làm kết quả, tối đa 64 tệp và 16 MiB mỗi thao tác.
Công tắc Use Connections
Công tắc Use Connections xuất hiện trong menu Run in sau khi bạn chọn Worker. Công tắc bật sẵn, và người bắt đầu cuộc chat có thể đổi. Công tắc này quyết định lượt chạy có được dùng lệnh kết nối hay không: các lệnh đi qua một kết nối workspace, nhưaws hoặc kubectl. Phần trợ giúp ? của công tắc ghi “Connections like AWS or Kubernetes run in CloudThinker Cloud, and credentials stay there. Turn it off to keep everything on this worker.” Công tắc này không bao giờ chuyển việc xử lý tệp hay shell ra khỏi Worker.

Những gì ở lại trong CloudThinker Cloud
Các lượt chạy Cyber và phiên trình duyệt cần CloudThinker Cloud. Trong cuộc hội thoại trên Worker, các tác vụ này trả về lỗi, và không có gì âm thầm chuyển lên cloud. Hãy bắt đầu một cuộc hội thoại mới trong CloudThinker Cloud cho những việc đó.Quy tắc thư mục và Skill
Khi một cuộc hội thoại bắt đầu, agent đọc các tệp hướng dẫn ở gốc thư mục:AGENTS.override.md, AGENTS.md, CLAUDE.md và GEMINI.md. Agent đọc tất cả các tệp có mặt theo đúng thứ tự đó, không chỉ tệp đầu tiên. Khi làm việc trong thư mục con, agent cũng đọc các tệp tương tự từ thư mục con đó và các thư mục phía trên. Các tệp ở gốc được đọc một lần mỗi cuộc hội thoại, nên một chỉnh sửa sẽ áp dụng từ cuộc hội thoại tiếp theo.
Skill chỉ đến từ .agents/skills/ (tối đa 64), không đến từ thư mục của các công cụ khác như .claude/skills/. Mỗi Skill là một thư mục có SKILL.md với frontmatter chứa description, và agent nạp Skill khi một tác vụ phù hợp. Đặt disable-model-invocation: true để ẩn một Skill. Xem Định dạng Skill.
Giữ Worker luôn chạy
worker start dừng khi bạn đóng terminal. Để giữ Worker chạy, thêm --background vào cùng lệnh. Flag này thực hiện service install và service start trong một bước, cho cùng Worker, thư mục, mức đồng thời và nhãn: một systemd user unit trên Linux, một LaunchAgent trên macOS. Trên Linux, lệnh này cũng bật lingering để Worker tiếp tục chạy sau khi đăng xuất, hoặc in ra lệnh loginctl enable-linger <user> khi không thể bật. Sau đó lệnh in ra các lệnh xem trạng thái, log và dừng. Trên macOS, LaunchAgent chỉ chạy khi bạn đang đăng nhập.
cloudthinker worker service stop (lệnh này để công việc hiện tại hoàn tất), rồi cloudthinker update, rồi cloudthinker worker service start. Ở foreground, nhấn Ctrl-C, cập nhật và chạy lại cùng lệnh worker start.
Các flag hữu ích của worker start: --concurrency <1-32> (mặc định 4) cho số lượt chạy tối đa Worker xử lý cùng lúc, --label <name> cho tên hiển thị của thư mục, --health-addr 127.0.0.1:9464 cho các endpoint /healthz và Prometheus /metrics, --log-format json để ghi mỗi dòng log thành một đối tượng JSON, và --verbose (-v) để in ra từng thao tác.
Quản lý Worker
Chọn dòng của Worker trong Admin Settings → Sandboxes, hoặc biểu tượng cài đặt cạnh Worker đang chọn trong menu Run in, để mở phần cài đặt của Worker. Hộp thoại liệt kê từng máy với trạng thái (Online, Offline, Draining, Registered hoặc Needs enrollment), nền tảng, thời điểm thấy gần nhất, mức tải, cùng tuổi và hạn của thông tin xác thực. Huy hiệu phiên bản xuất hiện khi CLI của một máy bị tụt lại: Update available hoặc Outdated. Cách sửa cho cả hai là chạycloudthinker update trên máy đó. cloudthinker worker status hiển thị cùng huy hiệu này.
Khi Worker bị tắt
worker start đang chạy sẽ chờ trong lúc Worker bị tắt, kiểm tra lại mỗi 60 giây và tự tiếp tục, nên bạn không cần khởi động lại.
Chạy Automation trên Worker
Trong biểu mẫu Automation, đặt Run in thành một Worker dùng chung. Automation không thể dùng Worker cá nhân, và chỉ Admin workspace mới có thể thay đổi nơi một Automation chạy. Thay đổi công tắc Use Connections sẽ áp dụng từ lượt chạy tiếp theo. Nếu Worker offline khi đến giờ chạy, lượt chạy không bao giờ chuyển sang CloudThinker Cloud. Hãy giữ các Worker dùng chung phục vụ Automation chạy dưới dạng service.Khắc phục sự cố
Hộp thoại báo Verification failed
Hộp thoại báo Verification failed
cloudthinker worker doctor trong thư mục, áp dụng cách sửa mà lệnh in ra, rồi chọn New command và chạy lại. Nếu lệnh báo Your CLI is out of date, hãy chạy cloudthinker update trước.Worker hiển thị Offline
Worker hiển thị Offline
worker start hoặc service vẫn đang chạy bằng cloudthinker worker status --outpost <name>. Worker tự kết nối lại sau khi máy ngủ hoặc thay đổi mạng.Lệnh shell không tìm thấy biến hoặc công cụ
Lệnh shell không tìm thấy biến hoặc công cụ
PATH, HOME, LANG, TERM, USER và TMPDIR được truyền theo mặc định. Khởi động lại Worker với --env NAME cho mỗi biến, hoặc --inherit-env.Worker thoát với WORKDIR_IDENTITY_CHANGED
Worker thoát với WORKDIR_IDENTITY_CHANGED
worker start một lần với cùng --outpost và --workdir cộng thêm --reset-folder. Các cuộc hội thoại đã dùng thư mục cũ vẫn không khả dụng.Thông tin xác thực đã hết hạn hoặc bị thu hồi (exit code 3)
Thông tin xác thực đã hết hạn hoặc bị thu hồi (exit code 3)
Thu hồi một Worker, ví dụ khi mất laptop
Thu hồi một Worker, ví dụ khi mất laptop
cloudthinker worker outpost archive <name> khi các cuộc hội thoại đang mở của Worker kết thúc.Đồng đội thấy "This conversation runs on another member's personal Worker"
Đồng đội thấy "This conversation runs on another member's personal Worker"