📦 Repo 🌱 Mới trồng 12 tháng 7, 2026 Trồng 12 thg 7

nhadaututtheky/companion

📦 nhadaututtheky/companion Mở trên GitHub ↗

Phân tích sâu repo — kết luận: watch

Kết luận: watch · Điểm bằng chứng: 45/100

nhadaututtheky/companion là một command center self-hosted để chạy và điều phối nhiều coding agent như Claude Code, Codex, Gemini và OpenCode từ web dashboard hoặc Telegram. Repo giải quyết bài toán quản lý nhiều phiên agent song song, lưu session/context, duyệt file, stream log thời gian thực và tích hợp phê duyệt từ xa.

✨ Tính năng nổi bật

  • Chạy nhiều coding-agent session song song trong một dashboard
  • Hỗ trợ Claude Code, Codex, Gemini và OpenCode qua adapter registry
  • WebSocket bridge để stream log, trạng thái và tương tác theo thời gian thực
  • Telegram bot để start, monitor, resume và approve session từ xa
  • SQLite persistence cho session, project, message, settings và agent memory
  • Debate mode cho review/brainstorm/verdict giữa nhiều agent
  • File viewer và project context để duyệt mã nguồn trong UI
  • Preview Intelligence để review website hoặc ảnh thiết kế rồi chuyển comment trực quan cho agent

💡 Ý tưởng đáng học

💡 Ưu tiên Docker Compose cho trải nghiệm self-hosted

Vì sao hay: Giảm ma sát cài đặt cho người dùng cuối, đặc biệt khi app cần mount credential, thư mục host và volume dữ liệu.

Áp dụng: Cung cấp .env.example, script install sinh API key, compose file có volume persistence và hướng dẫn mount rõ ràng cho từng hệ điều hành.

💡 Bắt buộc cấu hình API key cho UI nội bộ

Vì sao hay: Ứng dụng có quyền chạy agent và đọc file host nên nếu mở trong LAN mà không bảo vệ sẽ rất rủi ro.

Áp dụng: Mặc định fail-closed trong production nếu thiếu API key; hiển thị cảnh báo rõ khi chạy dev hoặc local-only.

🔥 Vì sao được chú ý

Repo nổi bật vì đánh vào nhu cầu mới: điều phối nhiều coding agent song song thay vì dùng từng CLI rời rạc. Dù metadata hiện chưa có stars/forks, lần push rất mới và scope tính năng khá rộng: Rust backend, web dashboard, Telegram bot, session persistence, multi-agent debate và self-hosted Docker.

⚙️ Kiến trúc

Kiến trúc tổng quan

  • Frontend là Next.js/React dashboard, giao tiếp với backend qua REST API và WebSocket.
  • Backend chính là Rust native server trong server-rs/, dùng axum, Tokio, sqlx và teloxide.
  • SQLite lưu projects, sessions, messages, settings, templates, schedules và agent memory.
  • Các adapter trong backend chịu trách nhiệm launch/điều phối Claude Code, Codex, Gemini và OpenCode.
  • Telegram bot chạy in-process trong cùng Rust server, dùng chung session lifecycle và luồng streaming với web.

Luồng chính

  • Người dùng mở UI tại localhost:3579, nhập API key nếu cấu hình.
  • UI tạo/resume session agent qua REST/WebSocket.
  • Rust server khởi chạy CLI/SDK adapter tương ứng, stream event/log về browser và Telegram.
  • Session state, message và settings được ghi vào SQLite để có thể resume sau restart.

🧰 Tech stack

rust · axum · tokio · sqlx · sqlite · teloxide · nextjs · react · tailwindcss · zustand

🌌 Bản đồ mã nguồn

Mỗi điểm là một symbol trong repo, gom theo thư mục. Tự quay · kéo để xoay · lăn chuột để zoom · bấm cụm để bay tới.

packages/shared (1)packages/web (50)scripts (2)server-rs/scripts (3)server-rs/src (343)src-tauri/src (1)

✅ Kết luận

watch — Đáng theo dõi và thử nghiệm nội bộ vì kiến trúc đúng hướng cho command center của coding agents, nhưng chưa nên adopt rộng ngay do repo còn rất mới, gần như chưa có tín hiệu cộng đồng và có license BSL 1.1 cần xem kỹ trước khi dùng thương mại.

🧭 Lộ trình đọc repo

  1. Đọc README.md, đặc biệt Quick Start, Features và Architecture — Nắm mục tiêu sản phẩm, cách chạy bằng Docker Compose, biến môi trường và các thành phần chính trước khi vào code.
  2. Mở server-rs/src/main.rs và phần khởi tạo server — Đây là điểm vào để hiểu Rust server bind port, load config, chạy migrations, khởi tạo router, WebSocket, scheduler và Telegram.
  3. Đọc server-rs/src/routes/ — Các route cho biết API surface thực tế: session, project, channel, settings, templates và những capability backend expose cho UI.
  4. Đọc server-rs/src/ws/ và session lifecycle — Đây là phần lõi của realtime command center: stream event, quản lý session, health/idle watchdog và cầu nối giữa browser với process agent.
  5. Đọc server-rs/src/adapters/ — Hiểu cách Companion trừu tượng hóa Claude Code, Codex, Gemini và OpenCode; đây là phần đáng học nhất nếu muốn tự xây multi-agent launcher.
  6. Đọc server-rs/src/telegram/ — Cho thấy cách bot Telegram được tích hợp in-process, ánh xạ command vào session và xử lý remote approval/streaming.
  7. Đọc server-rs/migrations/writer.rs — Nắm schema SQLite, các bảng persistence và cách backend ghi session/message/settings để hỗ trợ resume.