- qm là một harness agent nhiều người dùng, cho phép các thành viên startup cộng tác với agent trong kênh Slack, tin nhắn nhóm và dự án, trong khi mỗi người sử dụng không gian làm việc được cô lập riêng
- Tách riêng bộ nhớ, tệp, keychain, quyền, tác vụ đã lên lịch, ứng dụng web và sandbox lâu dài cho từng người và từng phòng trò chuyện; đồng thời duy trì cùng danh tính và cấu hình trên Slack và web
- Có thể kết nối Pi, OpenCode, Codex và Claude Code vào cùng một lõi; kho phiên, sandbox và bộ nhớ cũng được đặt sau các interface để tránh bị phụ thuộc vào một mô hình hoặc nhà cung cấp cụ thể
- Cung cấp các chế độ bảo mật Strict, Auto và Dangerous; trong mọi chế độ đều áp dụng chính sách lệnh và từ chối cưỡng chế đối với các thao tác như xóa đệ quy hoặc SQL mang tính phá hoại
- Cấu hình và hạ tầng theo từng tổ chức được giữ trong repository triển khai riêng hoặc repository riêng tư tạo bằng cách clone thông thường; người vận hành phải triển khai trực tiếp lên tài khoản Fly.io hoặc AWS của chính mình
Không gian làm việc agent theo đơn vị tổ chức
- Được thiết kế với phạm vi cá nhân và chia sẻ (scope) làm đơn vị cơ bản nhằm giảm độ phức tạp khi áp dụng agent kiểu trợ lý cá nhân cho toàn công ty
- Mỗi nhân viên có thể làm việc trong không gian làm việc độc lập mà không ảnh hưởng đến người khác
- Trong kênh Slack, tin nhắn nhóm và dự án, nhiều người có thể cộng tác với cùng một agent
- Mỗi người và phòng trò chuyện có bộ nhớ, tệp, chế độ xem keychain, quyền, tác vụ đã lên lịch, ứng dụng web và sandbox lâu dài riêng
- Sử dụng cùng danh tính và cấu hình giữa Slack và ứng dụng web
- Quản trị viên có thể kiểm soát cấu hình cấp tổ chức, tư thế bảo mật, các harness và mô hình khả dụng
- Kỹ năng kỹ thuật thuộc sở hữu của phạm vi và có thể được chia sẻ thông qua cấp quyền
- Việc nâng lên toàn tổ chức cần phê duyệt của quản trị viên
- Có thể lấy skill pack từ repository Git
- Tác vụ đã lên lịch (cron) và tác vụ giám sát (watch) chạy ở nền ngay cả khi người dùng không theo dõi
Các công việc được hỗ trợ
- Có thể tìm kiếm đồng thời ghi chú nội bộ, email, tài liệu, cơ sở dữ liệu và web, rồi truy vấn tri thức công ty
- Có thể tạo ứng dụng web nội bộ, công khai cho những người cần và giữ dữ liệu luôn cập nhật
- Sau khi học văn phong của người dùng từ lịch sử gửi trước đây, có thể phân loại hộp thư đến theo lịch, tạo nhãn và bản nháp trả lời
- Có thể chạy kiểm thử trong repository hiện có, tạo PR, giám sát CI và kiểm tra log hệ thống
- Có thể theo dõi dự án trong kênh chia sẻ và đăng tiến độ cùng các việc cần làm tiếp theo
Cấu trúc lõi và thực thi
- Mọi yêu cầu đi qua lõi headless và tạo phản hồi bằng nhiều mô hình và harness khác nhau
- Postgres lưu trạng thái bền vững như dữ liệu người dùng, lịch sử phiên, hàng đợi và bộ nhớ
- Bề mặt công cụ mà agent sử dụng nhỏ và cố định; công cụ
execute chạy lệnh trong sandbox cô lập của phạm vi tương ứng
- Sandbox hoạt động như một máy tính lâu dài thuộc sở hữu của từng phạm vi
- Các công cụ đã cài đặt vẫn được giữ cho các tác vụ tiếp theo
- Web UI, bảng quản trị và portal công khai là các plugin tùy chọn được cài đặt trên HTTP API của lõi
- Slack là plugin in-process tùy chọn do lõi khởi động và giám sát trực tiếp như một service client
- Lõi chạy TypeScript trực tiếp trên Node và dùng Fastify cho HTTP
- Plugin Slack dùng Bolt
- Web UI được build bằng Vite và render bằng Lit
- Harness, kho phiên, sandbox và bộ nhớ đều nằm sau các interface riêng; triển khai production có thể được thay thế trong một tệp wiring duy nhất
Mô hình triển khai theo tổ chức
- Cấu hình theo từng công ty, công cụ và kỹ năng tùy chỉnh, image sandbox và hạ tầng được đặt trong thư mục triển khai tách khỏi lõi
qm CLI xác thực và triển khai thư mục triển khai
- Trong repository thuộc sở hữu của tổ chức, có thể phụ thuộc vào
@yc-software/qm rồi khởi tạo như sau
npm exec --yes --package=@yc-software/qm@latest -- \
qm init . --org <slug> --target <fly-or-aws>
npm install
- Quá trình khởi tạo hướng dẫn về hạ tầng, đăng nhập web, thông tin xác thực connector, quyền truy cập Slack tùy chọn, triển khai và xác thực thực tế; không cần checkout source
- Việc triển khai chạy trong tài khoản đám mây của chính người vận hành
- Khởi tạo không tạo hoặc kích hoạt CI triển khai, và repository qm cũng không có workflow triển khai production
- Quy trình cụ thể được trình bày trong
deployment.md
Bảo mật và thông tin bí mật
- Agent hành động bằng thông tin xác thực và quyền của người đang làm việc cùng, và mọi thao tác đã thực hiện đều được lưu vào nhật ký kiểm toán
- Tổ chức chọn một tư thế bảo mật, và các phạm vi hẹp hơn chỉ có thể tăng cường chứ không được nới lỏng tư thế đó
- Strict: Dừng mọi lệnh gọi công cụ của harness cho đến khi có phê duyệt của con người, ngoại trừ hai thao tác kết thúc lượt không có hiệu lực
- Auto: Chế độ mặc định; bộ phân loại kiểm tra dữ liệu bên ngoài có gắn nhãn nguồn và kết quả công cụ trước khi chuyển cho mô hình
- Có thể chỉ định proxy kiểm tra riêng trong môi trường triển khai
- Dangerous: Không kiểm tra nội dung và không tạm dừng giữa các lệnh gọi công cụ
- Chính sách lệnh khai báo sẵn được áp dụng cho mọi chế độ bảo mật
- Cùng với quy tắc phê duyệt, cưỡng chế từ chối các lệnh như xóa đệ quy hoặc SQL mang tính phá hoại
- Chế độ Dangerous cũng không ngoại lệ
- Có thể xem mô hình đe dọa, điều kiện tiên quyết dành cho người vận hành và các giới hạn đã biết trong
SECURITY.md
Repository tùy chỉnh riêng tư
- Các tổ chức mà repository triển khai là chưa đủ có thể vận hành repository clone riêng tư để đọc lõi và mã tùy chỉnh riêng tư ở cùng một nơi
- Phải tạo bằng cách clone thông thường, không phải tính năng Fork của GitHub
- Fork GitHub của repository công khai không thể chuyển sang riêng tư
- Fork GitHub chia sẻ object network với bản gốc, nên các commit được push lên fork có thể bị tra cứu bằng SHA từ phía công khai
- Repository clone thông thường không gặp vấn đề này, nhưng workflow CI upstream sẽ thực sự chạy trong tài khoản tổ chức
- Cần cung cấp các thông tin bí mật cần thiết hoặc vô hiệu hóa workflow không mong muốn
- Cấu hình theo tổ chức, công cụ và kỹ năng sandbox, image plugin và hạ tầng được lưu trong
deploy/layers/<org>/
- Giữ lõi giống hệt upstream đến từng byte để giảm quy mô merge
- Hai kỹ năng quản lý ranh giới giữa lõi công khai và vùng tùy chỉnh riêng tư
update-qm merge qm upstream vào repository riêng tư và tạo PR đồng bộ
upstream-pr tạo nhánh từ upstream/main và gửi các chỉnh sửa độc lập với tổ chức về qm
- Trước khi push, kiểm tra định danh tổ chức trong diff, thông điệp commit và ảnh chụp màn hình
- Không gửi các tệp dưới
deploy/layers/ lên upstream
Đóng góp và giấy phép
- Dự án nhận đóng góp dưới dạng tài liệu
.txt hoặc .md do con người viết, không phải mã
- Viết không chính thức thay đổi mong muốn trong
adrs/; phía dự án sẽ triển khai sau khi thống nhất
- Quy tắc chi tiết có trong
CONTRIBUTING.md
- Lỗ hổng phải được báo cáo riêng tư theo quy trình trong
SECURITY.md, không qua issue công khai
- Các phần không ghi chú riêng được cung cấp theo MIT License
1 bình luận
Ý kiến trên Hacker News
Thật thú vị khi thấy xuất hiện những thành phần UI và khái niệm mới trong thời đại LLM, nhưng có quá nhiều ứng dụng sáng tạo và phần giải thích lại quá ít nên rất khó hiểu từng cái thực sự làm gì
Trên trang của agent Hermes tôi hoàn toàn không hiểu tính năng của nó, và phải lục tung trang qm một lúc lâu mới tìm được phần giải thích phù hợp. Gần đây tôi hay dùng Orca do YC hỗ trợ để quản lý các phiên coding, nhưng vì thiếu cơ sở dữ liệu phiên dựa trên PostgreSQL nên qm có vẻ đáng để thử
Rất vui khi thấy hướng đi này xuất hiện cùng với Buzz. Phần khó nhất của agent nhiều người dùng không phải là vòng lặp agent mà là xác định phạm vi, và phạm vi theo từng cá nhân cùng phòng chia sẻ của QM là một lời giải hợp lý cho trợ lý toàn công ty
Nhóm chúng tôi đang làm AQ (aq.dev), một công cụ coding nhiều người dùng chạy Claude Code và Codex cùng lúc, nên việc YC ra mắt công cụ agent nhiều người dùng cho công việc vừa xác nhận hướng đi này vừa khiến nó có phần hơi phi thực tế
Đã có quá nhiều sản phẩm tương tự rồi nên tôi không hiểu vì sao phải dùng cái này thay vì Claude Cowork. Cowork có vẻ đơn giản hơn, hoàn thiện hơn và cũng nhiều tính năng hơn, nên cần có so sánh
QM vs CoworkCần xem họ đã triển khai ngữ cảnh toàn tổ chức và bảo mật như thế nào. Nó trông khá bổ sung cho công cụ coding của tôi vốn hiện đang cung cấp giao diện AI tối ưu cho cá nhân, và sẽ rất tuyệt nếu chỉ với vài ticket lớn là có được cả kiến trúc toàn công ty lẫn giao diện coding cá nhân hiệu quả
Tôi tò mò không biết trong các agent dòng OpenClaw mà Hermes từng dùng thì đó có phải lựa chọn tốt nhất không, và người dùng cao cấp thực tế dùng các hệ thống như vậy vào việc gì
Tôi dùng chúng để tự động sửa các lỗi CI đơn giản, nhận cảnh báo production rồi phân tích nguyên nhân gốc và tạo PR sửa, kiểm tra định kỳ và tối ưu các truy vấn cơ sở dữ liệu chậm, hoặc tạo biểu đồ để trả lời các câu hỏi dữ liệu một lần. Tôi cũng đã thử dùng khi coding lúc di chuyển, nhưng vẫn thích agent tương tác hơn vì có thể tự xem mã trực tiếp
Tôi thích bản thân việc tạo ra phần mềm và quyền kiểm soát hoàn toàn, còn vòng lặp agent cơ bản thì thực ra chẳng có gì đặc biệt. Có rất nhiều thứ để tinh chỉnh bên ngoài vòng lặp cốt lõi, và quá trình thử nhiều cách mở rộng khác nhau rất thú vị. Không cần phải nghĩ đến kiếm tiền hay tính phổ dụng, chỉ cần thêm đúng những gì mình cần, cũng không cần làm nó có khả năng plugin vô hạn. Cảm ơn nanoclaw và Hermes đã cho tôi ý tưởng cốt lõi, nhưng giờ tôi muốn biến đổi nó theo cách của mình
Tôi dùng nó để đọc các RSS feed phụ và newsletter rồi lọc ra chỉ những thông tin quan trọng với tôi, sau đó gửi tin tức và xu hướng thị trường
Trông giống một công cụ nội bộ mà YC vội vàng công bố để giảm thiểu phần thị trường bị Buzz lấy mất. Tôi muốn xem đánh giá từ người đã trực tiếp so sánh hai công cụ
Tôi thắc mắc
yc softwarenghĩa là gìThật thú vị khi họ phát hành kèm kỹ năng thiết kế
anti-slopđể tạo giao diện không trông như templateTrong hàng tiêu dùng cao cấp, họ cấm các bảng màu mà AI hay dùng, và vì landing page cùng portfolio là sản phẩm mang tính thị giác nên họ xem các trang chỉ có chữ với vùng screenshot giả là kết quả chất lượng thấp. https://github.com/yc-software/qm/blob/7f2c916360f1797a8ff2a...
Tiêu đề kiểu
qm - a multiplayer agent harness for worksẽ hữu ích hơn vì thể hiện rõ công cụ dùng để làm gì