Bắt đầu
Ba bước, từ máy trắng tới portal đang chạy. Không có bước "khởi động daemon" riêng — lệnh nào cần daemon thì tự dựng một cái.
Bước 1: Máy cần gì
| Thứ | Bắt buộc? | Vì sao |
|---|---|---|
| Windows 10 1809+ x64 hoặc Ubuntu Desktop 22.04 / 24.04 x86-64 |
Có | phiên agent chạy trên ConPTY hoặc PTY Linux |
| Agent CLI trên PATH | Có | claude, codex hoặc opencode — thứ thật sự
viết ra câu trả lời. Thiếu thì portal vẫn lên nhưng spawn sẽ thất bại. |
| Git 2.5+ | Cho fan-out | mỗi agent cần một git worktree riêng |
Bước 2: Cài
Tải cho Windows.
Nhấp đúp file agentdc-windows-amd64.exe vừa tải.
- Nếu SmartScreen hiện ra, bấm More info → Run anyway — binary chưa ký số.
- Binary tự cài vào
%LOCALAPPDATA%\Programs\AgentDC\agentdc.exe, tạo AgentDC trên Desktop và một App trong Start/Search. - Một Terminal duy nhất hiện ra và ở lại khi app chạy. Đóng cửa sổ hoặc nhấn
Ctrl+Clà dừng AgentDC.
Về sau, Desktop hoặc Start chạy thẳng app ở đường dẫn chuẩn. File trong Downloads chỉ dùng cho lần cài đầu tiên và có thể xoá sau khi AgentDC đã mở thành công.
Linux x64: tải binary thô, cấp quyền chạy rồi mở nó:
$ curl -fL https://agentdc.nqdiepoii.com/download/linux-amd64/agentdc-linux-amd64 -o agentdc chmod +x agentdc ./agentdc
Lần chạy đầu tự cài vào ~/.local/bin/agentdc, ghi desktop entry dưới
${XDG_DATA_HOME:-~/.local/share}/applications, mở một Terminal nhìn thấy
được và portal trong trình duyệt. Agent CLI có sẵn trên PATH được dùng lại;
máy mới có thể cài Claude Code, Codex hoặc OpenCode trong mục Agents.
Zalo dùng được trên Windows và Linux x64. Linux không hỗ trợ server/systemd, ARM hoặc cài qua package manager; phạm vi đã kiểm là Ubuntu Desktop 22.04 / 24.04 x86-64.
PowerShell là lựa chọn phụ khi cần cài tự động hoặc cài trên máy không có giao diện. Mở PowerShell (bản đi kèm Windows là đủ) và dán:
# cài, và cũng là lệnh cập nhật $ irm https://…/install.ps1 | iex
Script tạo cùng app ở đường dẫn chuẩn, cùng lối tắt Windows trên Desktop và Start/Search, rồi mở một Terminal nhìn thấy được. Chạy lại lệnh chỉ thay mã ứng dụng; daemon hiện tại và các phiên đang sống vẫn được giữ nguyên.
Dữ liệu nằm riêng trong AGENTDC_HOME và không bao giờ nằm trong gói tải.
Binary cài đặt hay cập nhật không chép, xoá hoặc đặt lại dữ liệu đó.
# cài app và lối tắt nhưng chưa mở AgentDC $ & ([scriptblock]::Create((irm https://…/install.ps1))) -NoStart
Bước 3: Khám máy
Bản cài AgentDC không sửa PATH. Các ví dụ trong tài liệu dùng alias
agentdc; đặt alias một lần cho phiên PowerShell hiện tại trước khi chạy:
$ $AgentDC = "$env:LOCALAPPDATA\Programs\AgentDC\agentdc.exe" $ Set-Alias -Name agentdc -Value $AgentDC $ agentdc doctor [ok] windows build 26200 >= 17763 [ok] agent binary claude [ok] git 2.51.0 [ok] config C:\Users\you\AppData\Local\agentdc [--] daemon not running (the CLI starts one on demand)
doctor kiểm 9 hàng: build Windows, agent CLI, git, config, quyền
ghi, kho tri thức, daemon, home claim, database. Hàng nào FAIL thì các hàng sau
vẫn chạy — trừ config, vì mọi thứ sau nó đều cần config.
doctor không chỉ đọc: nó tạo thư mục config, token và database nếu
chưa có. Chạy nó trên máy trắng là cách nhanh nhất để dựng sẵn mọi thứ.
Cấu hình
Hai biến quyết định tất cả
Cả hai đều tuỳ chọn:
AGENTDC_HOME |
config, database, token, log. Mặc định %LOCALAPPDATA%\agentdc trên Windows hoặc ~/.config/agentdc trên Linux |
AGENTDC_PORT | mặc định 8770 |
Một daemon cho một AGENTDC_HOME. Muốn chạy
con thứ hai thì đổi AGENTDC_HOME, không phải chỉ đổi cổng — đổi mỗi cổng thì
nó từ chối và nói thẳng lý do.
AGENTDC_HOME vào thư mục được OneDrive/Dropbox đồng bộ.
SQLite đang mở trong đó sẽ hỏng.
Ba loại log, ba chỗ
daemon.log | daemon: định tuyến, việc nền, lỗi |
logs\<sid>.log |
terminal của một cuộc chat — có mã màu ANSI, đừng mở bằng Notepad |
update-apply.log |
lần tự cập nhật gần nhất. Đọc đây khi app không lên lại sau cập nhật |
Tất cả nằm trong <AGENTDC_HOME>.
Portal
$ agentdc portal portal: http://127.0.0.1:8770/?k=…
Lệnh này làm ba việc: dựng daemon ở nền nếu chưa có, đúc một khoá dùng-một-lần, và mở trình duyệt vào portal.
agentdc app là lệnh CLI tương đương để mở phiên app có Terminal nhìn thấy được.
Lối tắt Desktop, Start/Search và file tải về khi nhấp đúp đều chạy AgentDC không truyền đối số.
http://127.0.0.1:8770/ sẽ trả 401 — và đó không phải lỗi.
Portal nằm sau một cookie phiên, còn agentdc portal là thứ đúc ra nó.
Phiên chỉ nằm trong RAM, nên khởi động lại daemon là mất phiên: chạy lại
agentdc portal.Máy chuyên dụng một người dùng: đặt
AGENTDC_PORTAL_OPEN=1 trước khi chạy
daemon để bỏ yêu cầu cookie. Kiểm Origin, allowlist route và header vẫn giữ.
Dự án và cuộc chat
- Sidebar → + Thêm dự án → trỏ vào một thư mục làm việc.
- Sidebar → + Thêm cuộc chat → chọn dự án + agent.
Dự án là ngữ cảnh làm việc: agent sinh ra trong dự án nào thì chạy với thư mục đó làm cwd. Bộ nhớ dài hạn gắn theo dự án, không theo cuộc chat — hai cuộc chat cùng dự án dùng chung một cây trụ cột.
Làm được cả từ CLI:
# thêm dự án rồi mở một phiên agent trong đó $ agentdc project add myapp C:\code\myapp $ agentdc spawn myapp # gửi prompt và xem output tới khi agent rảnh $ agentdc send <sid> "đọc README rồi nói nó làm gì"
Chế độ an toàn
Trong hộp thoại mở chat có một công tắc Chế độ an toàn: agent chạy ở chế độ thường, không có cờ bỏ hỏi-quyền, và daemon nối thêm một system prompt nói rõ giới hạn ngay từ byte đầu. Bật nó cho cuộc chat nào sẽ đứng trước người ngoài.
Phiên sống bền
Agent chạy trong ConPTY do daemon giữ, không phải terminal của bạn. Đóng
terminal chỉ dùng cho CLI/attach, đóng tab portal, đăng xuất — phiên vẫn sống và
vẫn ghi transcript. Đừng nhầm nó với Terminal AgentDC do shortcut mở: cửa sổ đó giữ daemon,
nên đóng nó hoặc nhấn Ctrl+C sẽ tắt AgentDC và các phiên đang sống.
# nối terminal này vào một phiên đang sống; Ctrl-] để rời ra $ agentdc attach <sid> # hoặc chỉ xem lại transcript $ agentdc logs <sid>
Fan-out
Một prompt, N agent, N git worktree riêng — rồi so kết quả cạnh nhau và tự chọn bản để lấy.
$ agentdc fanout myapp --n 3 "thêm test cho parser" run 7f3a: 3 worktrees branched from commit 1c9de2f 3/3 agents completed # so ba bản cạnh nhau $ agentdc fanout diff 7f3a # xem patch đầy đủ của bản số 2 $ agentdc fanout diff 7f3a 2 # dọn worktree, branch và bản ghi $ agentdc fanout clean 7f3a
--n nhận từ 2 đến 8. Dự án phải là một git repo đã có commit —
hai điều kiện đó bị từ chối ngay ở client, với hai câu lỗi khác nhau.
fanout diff đếm file chưa track. Agent thường
không commit, nên nếu chỉ đọc git diff thì mọi số đều là 0 và bảng
trông như chẳng ai làm gì.
Tham chiếu CLI
Portal là giao diện chính; CLI là cho việc script hoá và cho lúc portal không lên.
Mọi lệnh đều có --help.
Các lệnh bên dưới dùng alias của phiên PowerShell, vì AgentDC không được thêm vào
PATH:
$ $AgentDC = "$env:LOCALAPPDATA\Programs\AgentDC\agentdc.exe" $ Set-Alias -Name agentdc -Value $AgentDC
Alias chỉ tồn tại trong cửa sổ PowerShell hiện tại; mọi ví dụ agentdc …
sau đây đều gọi executable ở đường dẫn chuẩn.
| attach | nối terminal này vào một phiên đang sống (thoát: Ctrl-]) |
| app | mở AgentDC như app có cửa sổ giữ phiên; đóng cửa sổ là tắt daemon |
| completion | sinh script tự hoàn thành cho shell |
| daemon | chạy daemon ở tiền cảnh |
| doctor | khám môi trường agentdc phụ thuộc vào |
| fanout | sinh N agent cùng một prompt, mỗi agent một git worktree |
| kb | Knowledge Base: đề xuất và đọc trang tri thức |
| licenses | in giấy phép bên thứ ba nhúng trong binary |
| logs | xem transcript của một phiên |
| ls | liệt kê phiên |
| portal | mở portal trong trình duyệt |
| project | quản lý dự án |
| rm | dừng phiên và xoá bản ghi (transcript được giữ) |
| send | gửi prompt và stream output tới khi agent rảnh |
| spawn | sinh một phiên agent trong một dự án |
| status | trạng thái daemon (không tự dựng daemon) |
| stop | dừng một phiên (tử tế trước, rồi kill) |
| view | hiện một file trong trình xem của portal |
status, doctor, --version và
completion đều tự dựng daemon nếu chưa có. status cố ý
không — một lệnh để hỏi "daemon còn chạy không" mà tự khởi động daemon thì không trả
lời được câu đó.
Định dạng máy đọc
$ agentdc ls --json | ConvertFrom-Json $ agentdc status --json
ls, status, fanout list và
fanout diff đều nhận --json. Danh sách rỗng trả về
[], không bao giờ null.
MCP cho Agents
Một endpoint AgentDC cho mọi MCP client tương thích. Codex, Claude Code và OpenCode là ba cấu hình hiện có dưới đây; agent mới dùng lại cùng hợp đồng này.
AgentDC phải đang chạy trong Terminal để agent kết nối tới
http://127.0.0.1:8770/mcp. MCP dùng cùng daemon, dự án, phiên và bộ nhớ
với portal; nó không mở thêm app và không gửi một prompt khởi đầu vào phiên.
%LOCALAPPDATA%\agentdc\token, hoặc
<AGENTDC_HOME>\token nếu đã đổi thư mục dữ liệu. Đây là khoá quản trị
cục bộ: không commit, không gửi cho người khác và chỉ kết nối qua
127.0.0.1.
Codex
Thêm server sau vào ~/.codex/config.toml, rồi mở lại Codex:
[mcp_servers.agentdc]
url = "http://127.0.0.1:8770/mcp"
http_headers = { Authorization = "Bearer <TOKEN>" }
tool_timeout_sec = 1200
Claude Code
Đăng ký ở scope người dùng để AgentDC có mặt trong mọi dự án:
$ claude mcp add --transport http --scope user agentdc http://127.0.0.1:8770/mcp --header "Authorization: Bearer <TOKEN>" $ claude mcp get agentdc
OpenCode 1.x
Thêm server từ xa vào cấu hình OpenCode đang dùng, rồi mở lại OpenCode:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"agentdc": {
"type": "remote",
"url": "http://127.0.0.1:8770/mcp",
"enabled": true,
"oauth": false,
"headers": {
"Authorization": "Bearer <TOKEN>"
}
}
}
}
Công cụ
status | đọc trạng thái daemon, bản hiện tại và bản cập nhật |
list_agents | khám phá profile agent hiện có và trạng thái cài, bật, resume |
list_projects | liệt kê dự án AgentDC đang quản lý |
list_sessions | liệt kê phiên, có thể lọc theo dự án |
spawn_session | tạo phiên bằng ID profile do list_agents trả về |
prompt_session | gửi prompt và nhận output UTF-8 đã làm sạch |
stop_session | dừng đúng một phiên khi người dùng yêu cầu |
search_memory | tra bộ nhớ dài hạn trong đúng một dự án |
record_memory | ghi một quyết định vào nhánh bộ nhớ có sẵn |
update_status | đọc tiến trình tải và cài bản mới |
Ba công cụ liệt kê nhận cursor/limit và trả
next_cursor; search_memory dùng
before/next_before. Toàn bộ kết quả gửi trên wire, gồm cả
text fallback cho MCP client cũ, được giới hạn ở 256 KiB và báo
truncated; số project, session hay agent tăng lên vẫn không làm tràn
ngữ cảnh của client.
MCP chỉ cung cấp các thao tác được kiểm soát ở trên. Xoá dự án, xoá lịch sử, tắt daemon và áp dụng cập nhật vẫn cần người dùng thực hiện trực tiếp trong AgentDC.
Tự cập nhật
Daemon kiểm bản mới ngay khi khởi động, sau đó mỗi một phút. Có bản mới thì một dải đỏ hiện ở đỉnh portal; bấm vào đó sẽ mở hộp tiến trình với ghi chú bản vá, phần trăm và số byte tải thật, bước kiểm sha256 và trạng thái cài đặt.
Terminal AgentDC vẫn là dòng trạng thái liên tục: nó in lần kiểm phiên bản, ghi chú bản vá, các mốc tải, bước kiểm tra, thay bản, lỗi nếu có và lúc bản mới đã sẵn sàng để dùng.
Cập nhật chỉ thay mã ứng dụng: AgentDC tải nguyên binary phát hành mới, không
chép nối vài MB vào binary cũ.
Bản đang chạy được đổi tên tạm thành agentdc.exe.old, bản mới nhận tên
agentdc.exe. Daemon hiện tại vẫn chạy từ bản .old, nên mọi phiên
agent tiếp tục nguyên trạng; lần mở app kế tiếp dùng bản mới và tự dọn bản .old.
Database, cấu hình, lịch sử và toàn bộ AGENTDC_HOME vẫn được dùng tại chỗ,
không bị sao chép theo binary và không bao giờ nằm trong gói tải. Chỉ dung lượng tệp
chương trình tạm tăng gần gấp đôi trong khoảng từ lúc cài tới lần mở app kế tiếp.
Ctrl+C là tắt
AgentDC. Trong lúc đang tải, nên đợi Terminal báo đã cài xong rồi mới ngắt.
.old vẫn đang được daemon hiện tại sử dụng.
Kích hoạt bản mới
Sau khi Terminal báo đã cài, tiếp tục dùng các phiên hiện tại bình thường. Khi thuận tiện, đóng Terminal rồi mở AgentDC từ shortcut. Có thể chạy thẳng app chuẩn bằng PowerShell:
$ & "$env:LOCALAPPDATA\Programs\AgentDC\agentdc.exe"
Chi tiết lần cập nhật nằm ở <AGENTDC_HOME>\update-apply.log; lỗi khởi động
và trạng thái chạy nằm ở <AGENTDC_HOME>\daemon.log. Mặc định
<AGENTDC_HOME> là %LOCALAPPDATA%\agentdc.
Tắt việc kiểm
AGENTDC_NO_UPDATE_CHECK=1 |
tắt hẳn. Chỉ nhận đúng chuỗi 1 |
AGENTDC_UPDATE_URL |
trỏ sang một mirror khác |
Bản go build tự dựng không có
kênh cập nhật và không gọi ra mạng — dải cập nhật sẽ không hiện.
Hỏng thì nhìn đâu
Mở 127.0.0.1:8770 ra 401 |
chưa agentdc portal, hoặc phiên portal đã hết hạn |
Route mới 404 nhưng /status 200 |
exe cũ — daemon đang chạy là bản trước |
spawn thất bại |
Claude Code, Codex hoặc OpenCode không có trên PATH. Chạy agentdc doctor |
fanout từ chối |
dự án không phải git repo, hoặc chưa có commit nào |
Phiên hiện orphaned |
daemon trước chết mà không dọn. Bản ghi còn, tiến trình thì không |
| Cập nhật xong app không lên | chạy lại AgentDC bằng lệnh ở mục Kích hoạt bản mới; đọc <AGENTDC_HOME>\update-apply.log
và daemon.log |
| Cập nhật báo không ghi được | kiểm tra antivirus và quyền ghi vào %LOCALAPPDATA%\Programs\AgentDC;
có thể nhấp đúp bản tải mới để app tự sửa bản ở đường dẫn chuẩn |
agentdc doctor trả lời được phần lớn bảng trên. Chạy nó trước khi đi tìm
trong log.
Có gì mới
Đang tải lịch sử phiên bản…