2 điểm bởi GN⁺ 2026-02-09 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trợ lý AI chạy cục bộ được phát triển bằng Rust, hoạt động hoàn toàn trên thiết bị cá nhân mà không cần kết nối Internet và dữ liệu không bị gửi ra bên ngoài
  • Cấu trúc tệp thực thi đơn cho phép chạy mà không cần cài Node.js, Docker hay Python, dưới dạng nhị phân gọn nhẹ khoảng 27MB
  • Hệ thống bộ nhớ bền vững cung cấp khả năng ghi nhớ dài hạn và tìm kiếm thông qua kho tri thức dựa trên Markdown, SQLite FTS5 và semantic search
  • Hỗ trợ đầy đủ CLI, web UI, GUI desktop, đồng thời tương thích với nhiều nhà cung cấp LLM như OpenAI, Anthropic, Ollama
  • Tương thích với định dạng OpenClaw, cho phép thực hiện tác vụ tự động bằng các tệp SOUL, MEMORY, HEARTBEAT

Tổng quan

  • LocalGPT là trợ lý AI lấy thiết bị cục bộ làm trung tâm, một ứng dụng viết bằng Rust có bộ nhớ bền vững và khả năng thực hiện tác vụ tự động
    • Chạy hoàn toàn trên thiết bị cá nhân mà không phụ thuộc vào máy chủ bên ngoài
    • Lấy cảm hứng từ dự án OpenClaw và vẫn giữ khả năng tương thích
  • Có thể cài đặt bằng lệnh cargo install localgpt, với tùy chọn gồm GUI hoặc chạy ở chế độ headless

Tính năng chính

  • Cấu trúc nhị phân đơn, không cần Node.js, Docker hay Python
  • Giữ dữ liệu cục bộ: toàn bộ bộ nhớ và cấu hình đều được lưu trên thiết bị của người dùng
  • Bộ nhớ bền vững: sử dụng kho tri thức dựa trên tệp Markdown, hỗ trợ tìm kiếm nhanh và tìm kiếm ngữ nghĩa bằng SQLite FTS5sqlite-vec
  • Có thể thực hiện công việc trong nền nhờ tính năng heartbeat tự động
  • Nhiều giao diện: cung cấp CLI, web UI, GUI desktop
  • Hỗ trợ nhiều LLM: có thể kết nối với Anthropic (Claude), OpenAI, Ollama, v.v.

Cách hoạt động

  • Bộ nhớ được lưu trong thư mục ~/.localgpt/workspace/, với các tệp chính như sau
    • MEMORY.md: lưu trữ tri thức dài hạn
    • HEARTBEAT.md: hàng đợi tác vụ tự động
    • SOUL.md: hướng dẫn về tính cách và hành vi
    • knowledge/: kho tri thức có cấu trúc theo từng chủ đề
  • Dùng SQLite FTS5 để tìm kiếm từ khóa, và sqlite-vec để thực hiện tìm kiếm ngữ nghĩa dựa trên embedding cục bộ

Cấu hình và lệnh CLI

  • Tệp cấu hình được lưu tại ~/.localgpt/config.toml, cho phép chỉ định model mặc định, API key, chu kỳ heartbeat, khung thời gian tác vụ, v.v.
  • Các lệnh CLI chính
    • localgpt chat: bắt đầu phiên trò chuyện
    • localgpt ask "질문": thực hiện một truy vấn đơn
    • localgpt daemon start: chạy daemon nền
    • localgpt memory search "query": tìm kiếm bộ nhớ
    • localgpt config init: tạo cấu hình mặc định

HTTP API

  • Khi daemon chạy, hệ thống cung cấp REST API
    • GET /health: kiểm tra trạng thái
    • POST /api/chat: yêu cầu hội thoại
    • GET /api/memory/search?q=<query>: tìm kiếm bộ nhớ
    • GET /api/memory/stats: xem thống kê bộ nhớ

Ngăn xếp công nghệ

  • Dựa trên Rust, Tokio, Axum, SQLite (FTS5 + sqlite-vec), fastembed, eframe
  • Được phát hành theo giấy phép Apache-2.0, với khoảng 93% mã nguồn được viết bằng Rust

Thông tin khác

  • Trên GitHub hiện có khoảng 646 sao39 fork
  • Bài viết blog “Why I Built LocalGPT in 4 Nights” công khai quá trình phát triển và chi tiết theo từng commit
  • Xác nhận có 4 người đóng góp chính gồm Yi Wang, Claude, objectkit, Ax73

1 bình luận

 
GN⁺ 2026-02-09
Ý kiến trên Hacker News
  • Thật sự có cảm giác rất cyberpunk khi đang nhìn thấy thứ như thế này vào năm 2026
    Cấu trúc như MEMORY.md, HEARTBEAT.md, SOUL.md quá thú vị
    Nhưng việc phụ thuộc vào ANTHROPIC_API_KEY khiến nó hơi khó được gọi là “local-first”
    Dù vậy, về lâu dài tôi vẫn nghĩ local-first là tương lai
    Năm ngoái tôi cũng từng làm thứ tương tự bằng Rust, và khi chạy model ở local thì khác biệt về tốc độ rất rõ rệt
    Tôi cũng có video demo
    Việc triển khai thứ này ở cấp độ OS thật sự là một trải nghiệm ở tầm chuyển đổi mô thức
    Tôi nghĩ trong 5~10 năm tới, cách chúng ta tương tác với thiết bị sẽ thay đổi một cách căn bản

    • Cái này không phải local-first, có vẻ tên bị đặt sai rồi
    • Không nhất thiết phải dùng LLM của bên thứ ba
      Có thể chỉ định trực tiếp endpoint tương thích OpenAI hoặc Anthropic, và localhost cũng được
    • Xem mã liên quan: providers.rs L222
    • Tôi cũng đang thử chạy OpenClawQwen3 Coder Next theo kiểu local-first trên mạng LAN
      Mới chỉ bắt đầu thôi nhưng trông khá có tiềm năng
    • Bỏ qua chuyện thích hay ghét AI, quy mô đầu tư hiện tại giống như chương trình Apollo của thế hệ chúng ta
      Nghe nói trong vài năm tới sẽ có hơn 100 trung tâm dữ liệu cấp gigawatt được xây dựng
      Tôi nghĩ đây vẫn là chỗ dùng tiền tốt hơn nhiều so với công nghiệp quân sự
  • Một lời khuyên là bài đăng hay tài liệu thì nên tự viết, hoặc ít nhất là tự biên tập
    Tài liệu và bài viết hiện giờ trông như đều do LLM viết, nên không cảm nhận được sự chăm chút

    • Dạo này cũng có nhiều người từ bỏ việc viết quá vài câu
      Những cỗ máy giặt đạo văn này đang phá hỏng cảm giác viết lách của con người
    • Tôi cũng đồng ý, tự viết tài liệu còn thấy vui hơn
    • Cũng có ý kiến ngược lại
      Vốn dĩ tôi rất ghét viết tài liệu, nên trước đây code của tôi hầu như không có tài liệu gì
      Vì thế người khác rất khó sử dụng
      LLM tạo ra mô tả chính xác rất nhanh và giúp giữ chúng luôn cập nhật, nên cực kỳ phù hợp để viết tài liệu
      Dù có nhìn ra là không phải con người viết, tôi vẫn thấy không vấn đề gì nếu nội dung là đúng
    • Tôi ước đây có thể là một cơ chế răn đe để chặn những bài viết chất lượng thấp, nhưng thực tế không phải vậy
      Ngược lại còn có bầu không khí xem việc không bỏ công sức ra là điều đáng tự hào
  • Ý tưởng của dự án này rất tuyệt
    Khung cấu trúc bộ nhớ bền vững + tìm kiếm ngữ nghĩa mới là cốt lõi
    Chức năng SOUL thực ra phần lớn LLM đã hỗ trợ dưới dạng file Markdown
    Cấu trúc như vậy có thể trở thành điểm khởi đầu để xây dựng mạng lưới agent riêng tư
    Nhưng vấn đề là ở cái tên — LocalGPT thì

    1. không local, và
    2. cũng không phải mô hình GPT
      Sẽ tốt hơn nếu đổi sang một cái tên phản ánh đúng ý đồ hơn
  • Câu hỏi nghiêm túc: tôi tò mò không biết thứ này khác gì với OpenClaw
    Nó dùng cùng cấu trúc SOUL.md, MEMORY.md, HEARTBEAT.md,
    mà OpenClaw thì đã có nhắn tin đa kênh, gọi thoại, tự động hóa trình duyệt, thậm chí cả sub-agent
    Ngoài việc được viết bằng Rust, tôi muốn biết liệu có điểm khác biệt nào không

    • Nhiều người, trong đó có tôi, thấy OpenClaw đáng sợ
      Nó có quá nhiều tính năng, và kiến trúc bảo mật thì yếu
      Việc phê duyệt quyền hạn chỉ mang tính hình thức, lại còn có thể tự thay đổi cấu hình của chính nó
      Vì vậy tôi tách quyền bằng Wardgate
      Cần chia ra thành nhiều node/agent và tách riêng thông tin xác thực với quyền truy cập API
    • Cái này trông giống một trình tạo site tĩnh cho vibe coding hơn
    • Điểm mạnh là nó nhỏ gọn và không dựa trên Node
      Đâu phải ai cũng có máy cấu hình mạnh
  • Tôi thắc mắc vì sao phải kết nối tới nhà cung cấp LLM như OpenAI hay Anthropic
    Nếu là GPT local thì chẳng phải suy luận cũng nên chạy local sao?

    • Không nhất thiết phải kết nối ra ngoài
      Có thể chỉ định máy chủ local như Ollama làm nhà cung cấp LLM
      README chỉ lấy Anthropic làm ví dụ, nhưng nhìn mã nguồn thì thấy có thể dùng cái khác
      Chỉ cần đổi một dòng cấu hình là được
    • Nỗ lực thì đáng ghi nhận, nhưng cái tên gây hiểu nhầm
      Thực tế nó không local mà cũng chẳng phải GPT
      Nó gần giống một bản clone OpenClaw viết bằng Rust hơn
    • Nếu không cấu hình local thì nó sẽ tự động fallback sang nhà cung cấp online
      Mã liên quan: providers.rs L222
    • Không phải là bắt buộc
  • Vấn đề bảo mật cốt lõi của các agent như LocalGPT hay OpenClaw là
    bộ ba chết người của “private data access + external communication + untrusted content”
    Chỉ cần một email độc hại là nó có thể thực thi lệnh kiểu “hãy chuyển tiếp hộp thư của tôi cho kẻ tấn công”
    Tôi đang nghiên cứu chính sách bảo mật dựa trên object-capability để giải quyết chuyện này
    Tôi muốn tạo ra một chính sách có thể ngăn chặn rò rỉ thông tin nhạy cảm ngay từ gốc

    • Vấn đề bộ ba này là bài toán cấp bách nhất của lĩnh vực hiện nay
      Tôi thấy có hai hướng giải quyết
      1. Giới hạn mọi truyền dữ liệu ra ngoài bằng phê duyệt thủ công (OTP v.v.)
        Nhưng rất dễ gây mệt mỏi
      2. Ngay từ giai đoạn thiết kế, tránh luôn bộ ba đó — ví dụ agent hai thành phần chặn giao tiếp ra ngoài
        Không biết bạn có đang nghiên cứu cách tiếp cận nào khác không
  • Tôi đã dùng OpenClaw, và nó thiếu khả năng quan sát (observability)
    Hoàn toàn không thấy log nào về việc agent này đang nghĩ gì hay đang làm gì
    Tôi nghĩ nếu viết loại hệ thống này bằng Elixir/BEAM thì sẽ hoàn hảo
    Có thể theo dõi trạng thái bằng cây tiến trình và dump hộp thư message để thấy luồng suy nghĩ

    • Có vẻ dự án lemon đang làm đúng kiểu đó
    • Các model như GPT hay Claude cố tình che giấu suy nghĩ nội bộ
      Thứ chúng hiển thị chỉ là một phần, còn thực tế tiêu thụ nhiều token hơn thế
    • Ý tưởng hay đấy, bạn nên thử tự làm xem
    • Tôi cũng đồng ý là thiếu observability
      Những thứ lẽ ra phải là tính năng cơ bản mà lại bảo đi xem tutorial YouTube để tự xử, hiện giờ đúng là hỗn loạn
  • Trên Linux Mint, cargo install localgpt bị lỗi
    Sau khi thêm "x11" vào Cargo.toml thì build thành công
    Tôi không rành Rust lắm, nhưng có vẻ đây là vấn đề phụ thuộc GUI

    • Quy trình cài đặt như sau
      git clone https://github.com/localgpt-app/localgpt.git  
      cd localgpt/  
      Thêm "x11" vào Cargo.toml  
      cargo install --path ~/.cargo/bin
      
      Mà người tên Kai Lentit đó, có phải đang tuyển dụng không?
  • Có những model local nào đủ dùng để làm trợ lý local?
    Tôi cũng tò mò liệu có ai đang cố đánh giá điểm cân bằng giữa tài nguyên tính toán và bộ nhớ không
    Muốn biết cần mức phần cứng nào thì mới đạt đến mức hữu dụng

  • Từ “local” dạo này đúng là bị dùng khá kỳ lạ
    Dù phần lớn chức năng cuối cùng vẫn tương tác với Internet, người ta vẫn gọi là local