Craft Agents: giao diện agent mã nguồn mở mà developer nên thử — hoatq.dev

cat blog/.md

Craft Agents: giao diện agent mã nguồn mở mà developer nên thử

date: tags: ai, developer-tools, open-source, productivity

Bạn đang dùng AI agent qua terminal. Mở 5 tab, chạy 3 task song song, muốn quay lại xem kết quả task hôm qua — và nhận ra mọi thứ đã mất trong scroll history. Hoặc bạn cần agent vừa đọc issue trên Linear, vừa check code trên GitHub, vừa gửi summary lên Slack — nhưng phải copy-paste context qua lại giữa các tool như thời chưa có clipboard.

Đó là lúc mình bắt đầu tìm một cái gì đó tốt hơn terminal thuần. Và mình tìm thấy Craft Agents.

Craft Agents là gì?

Craft Agents là một ứng dụng desktop mã nguồn mở (Apache 2.0) được thiết kế từ đầu như một giao diện cho AI agent. Nó không phải chatbot UI, không phải IDE plugin — mà là một agent interface đúng nghĩa.

Cách đơn giản nhất để hình dung: nếu Claude Code là agent chạy trong terminal, thì Craft Agents là “lớp vỏ” cho agent đó — với UI đẹp, quản lý session, kết nối nhiều nguồn dữ liệu, và workflow có cấu trúc.

Điểm đặc biệt: Craft team tự build Craft Agents bằng chính Craft Agents — không dùng code editor. Mọi feature, fix, improvement đều qua prompt. Đó là mức dogfooding khá hardcore.

Session như document, không phải chat log

Đây là thay đổi tư duy quan trọng nhất.

Trong hầu hết AI tool, mỗi cuộc hội thoại là một chat log — scroll lên xuống, khó tìm lại, không có trạng thái. Craft Agents thiết kế session như document: bạn có thể gắn flag, đánh label, assign status workflow.

Todo → In Progress → Needs Review → Done

Nghe quen không? Đúng rồi, giống hệt cách bạn quản lý task trên Linear hay Jira. Nhưng ở đây, mỗi “task” là một session agent hoàn chỉnh — có context, có lịch sử, có kết quả.

Mình thấy pattern này cực kỳ hữu ích khi chạy nhiều task song song. Ví dụ sáng nay mình có 3 session:

  • “Refactor auth middleware” — In Progress
  • “Research caching strategy” — Done, kết quả vẫn ở đó để tham khảo
  • “Review PR #142” — Needs Review, mình cần check lại output

Tất cả nằm trong một inbox, giống email client. Không mất context, không lẫn lộn.

Kết nối mọi thứ qua Sources

Sources là cách Craft Agents kết nối với thế giới bên ngoài — MCP server, REST API, hoặc file local.

Cái hay là bạn không cần viết config file hay setup wizard. Bạn chỉ cần nói:

“Add Linear as a source”

Agent sẽ tự tìm API, đọc docs, thiết lập credentials, và configure mọi thứ. Sau đó, trong bất kỳ session nào, bạn có thể:

  • Pull issue từ Linear
  • Check code trên GitHub
  • Đọc thread Slack
  • Truy cập file local
  • Gọi bất kỳ REST API nào

Tất cả trong cùng một cuộc hội thoại, không cần switch context.

Session: "Investigate bug ENG-234"
├── Đọc issue từ Linear → lấy description, assignee, priority
├── Check related commits trên GitHub → tìm recent changes
├── Đọc source code liên quan → phân tích root cause
└── Tổng hợp findings → đề xuất fix

Đây là thứ mà terminal thuần không làm tốt được. Bạn phải tự copy ID từ Linear, paste vào GitHub search, rồi copy link commit… Craft Agents thì agent tự làm hết.

3 chế độ quyền — kiểm soát agent theo nhu cầu

Một trong những tính năng mình thích nhất là Permission Modes. Thay vì “all or nothing”, Craft Agents tách thành 3 chế độ rõ ràng:

ModeAgent được làm gìKhi nào dùng
ExploreChỉ đọc, tìm kiếm, phân tíchResearch, tìm hiểu codebase mới
Ask to EditĐọc tự do, hỏi trước khi sửaLàm việc hàng ngày, cần review
ExecuteTự do hoàn toànTask rõ ràng, đã tin tưởng flow

Chuyển mode bằng keyboard shortcut — không cần config lại gì.

Nếu bạn đã đọc bài bảo mật AI coding agent của mình, đây chính là “least privilege” được product hóa. Mình thường bắt đầu ở Explore để agent phân tích, rồi chuyển sang Ask to Edit khi sẵn sàng implement. Chỉ dùng Execute cho task lặp đi lặp lại mà mình đã verify flow rồi.

Skills — dạy agent một lần, dùng mãi

Skills là bộ instruction có thể tái sử dụng. Bạn define một lần, invoke bất cứ khi nào cần.

Ví dụ mình có skill writing để viết blog:

# Blog Writer — hoatq.dev

## Tone & Style
- Developer chia sẻ kinh nghiệm, không phải giáo viên dạy học sinh
- Thân thiện, gần gũi: "mình", "bạn"
- Code examples thực tế, có comment

## Cấu trúc bài viết
- Hook mở đầu — tình huống thực tế
- Nội dung chính (2-4 sections)
- Tips / Bài học rút ra
- Câu kết — mời tương tác

Khi cần viết bài, mình chỉ invoke skill đó và agent tự biết phải viết theo format, tone, và convention nào. Không cần nhắc lại mỗi lần.

Tương tự, bạn có thể tạo skill cho:

  • Code review: checklist riêng cho team, focus vào security + performance
  • Weekly report: tự tổng hợp commits, PRs, issues trong tuần
  • Migration: quy trình tạo database migration theo convention của project

Skills lưu dạng file Markdown, version control được bằng git — đơn giản mà hiệu quả.

Remote mode — agent chạy trên server

Tính năng này hơi “niche” nhưng cực kỳ hữu ích cho một số use case.

Craft Agents có thể chạy headless trên remote machine (VPS, server Linux), còn desktop app kết nối như thin client. Lợi ích:

  • Session sống lâu: agent chạy task nặng hàng giờ mà không cần giữ laptop mở
  • Multi-device: bắt đầu trên máy công ty, tiếp tục trên laptop cá nhân
  • Compute mạnh: chạy trên server 64GB RAM thay vì MacBook Air

Với mình, remote mode đặc biệt hữu ích khi cần agent chạy test suite lớn hoặc build project phức tạp — những thứ mà laptop quạt kêu inh ỏi.

Mermaid diagram — visualize ngay trong session

Craft Agents render Mermaid diagram đẹp ngay trong conversation. Nghe nhỏ nhưng thực tế rất đáng giá.

Khi đang phân tích kiến trúc, bạn có thể yêu cầu agent vẽ diagram:

graph LR
    Client --> Gateway
    Gateway --> AuthService
    Gateway --> CatalogService
    Gateway --> OrderService
    OrderService --> PaymentGateway

Diagram render native, không cần mở tab mới hay paste vào tool khác. Rất tiện khi muốn nhanh chóng hình dung flow hoặc chia sẻ với team.

Bắt đầu dùng Craft Agents

Craft Agents có sẵn trên Mac (Apple Silicon và Intel). Cách nhanh nhất:

  1. Tải app từ agents.craft.do
  2. Cấu hình API key (Anthropic, hoặc Google AI Studio, OpenAI)
  3. Tạo workspace cho project
  4. Thêm sources cần thiết (GitHub, Linear, Slack…)
  5. Bắt đầu session đầu tiên

Source code mở hoàn toàn trên GitHub — bạn có thể fork, customize, hoặc contribute.

Craft Agents có thay thế terminal không?

Câu trả lời ngắn: không, và không cần.

Terminal vẫn là nơi tốt nhất cho quick command, ad-hoc task, và workflow đã quen tay. Craft Agents shine ở chỗ khác:

  • Task phức tạp cần nhiều nguồn dữ liệu
  • Session dài cần quay lại tham khảo
  • Workflow có cấu trúc cần permission control
  • Làm việc nhóm cần chia sẻ context

Mình dùng cả hai. Terminal cho task nhanh gọn, Craft Agents cho những thứ cần tổ chức và kết nối.

Tổng kết

Craft Agents giải quyết một vấn đề mà phần lớn developer đang chịu đựng mà không nhận ra: giao diện cho AI agent vẫn đang ở thời kỳ nguyên thủy. Chat window đơn giản không đủ cho workflow thực tế của developer.

Những điểm mình thấy đáng thử nhất:

  1. Session as document — quản lý task bằng status, label, không mất context
  2. Sources — kết nối Linear, GitHub, Slack… trong cùng một session
  3. Permission modes — least privilege cho agent, chuyển đổi linh hoạt
  4. Skills — instruction tái sử dụng, version control bằng git
  5. Open source — Apache 2.0, tự do customize

Nếu bạn đang dùng AI agent hàng ngày và cảm thấy workflow vẫn hơi “rời rạc”, thử Craft Agents một tuần xem. Có thể nó sẽ thay đổi cách bạn nhìn nhận việc tương tác với agent.


Bạn đang dùng AI agent với giao diện nào? Terminal, IDE, hay đã thử Craft Agents? Chia sẻ với mình qua email nhé!

// reactions


cat comments.log


hoatq@dev : ~/blog $