OpenCode: Trình Thông Diễn Mã Nguồn Mở

Nội dung

    OpenCode là một trình thông dịch mã nguồn mở thế hệ mới. Cộng đồng phát triển mã nguồn mở đã giới thiệu OpenCode chính thức vào khoảng đầu năm 2025. Công cụ này được thiết kế để hoạt động như một trợ lý lập trình AI tiên tiến. Nó cho phép người dùng chuyển đổi ngôn ngữ tự nhiên thành các đoạn mã lập trình chất lượng cao.

    Điểm khác biệt cốt lõi của OpenCode so với các mô hình ngôn ngữ lớn khác nằm ở khả năng không chỉ viết mã. Công cụ còn có thể thực thi và kiểm thử đoạn mã ngay trong môi trường biệt lập. Nền tảng này giúp các lập trình viên giải quyết các tác vụ phức tạp. Các tác vụ bao gồm phân tích dữ liệu, xử lý hình ảnh và xây dựng thuật toán logic. Mọi việc được thực hiện một cách chính xác và nhanh chóng.

    Các tính năng nổi bật của OpenCode

    • Tạo và thực thi mã thời gian thực: Viết code và chạy thử nghiệm ngay lập tức.
    • Xem kết quả đầu ra mà không cần chuyển sang công cụ khác.
    • Hỗ trợ đa ngôn ngữ lập trình: Tương thích tốt với Python.
    • Tương thích tốt với JavaScript, Go, Rust, C++ và nhiều ngôn ngữ phổ biến khác.
    • Phân tích và trực quan hóa dữ liệu: Tự động tạo biểu đồ, đồ thị.
    • Tạo từ các tập dữ liệu thô (file CSV, Excel) được tải lên.
    • Tự động gỡ lỗi: Phát hiện lỗi cú pháp hoặc lỗi logic.
    • Đề xuất phương án sửa chữa cụ thể sau đó.
    • Chuyển đổi file đa định dạng: Hỗ trợ xử lý và chuyển đổi qua lại.
    • Giữa các định dạng tệp tin như PDF, hình ảnh, video và văn bản.
    • Khả năng hoạt động ngoại tuyến: Cho phép cài đặt và chạy trực tiếp.
    • Chạy trên máy tính cá nhân để đảm bảo quyền riêng tư.
    • Tích hợp sâu vào IDE: Kết nối mượt mà với các môi trường lập trình.
    • Kết nối với VSCode, Cursor hoặc Windsurf thông qua API.

    Ưu điểm

    • Tối ưu chi phí vận hành: Là mã nguồn mở, OpenCode cho phép sử dụng miễn phí.
    • Giúp doanh nghiệp và cá nhân tiết kiệm ngân sách mua bản quyền phần mềm.
    • Bảo mật dữ liệu tuyệt đối: Có thể triển khai trên máy chủ riêng hoặc máy cá nhân.
    • Thông tin dự án không bị gửi về máy chủ của bên thứ ba.
    • Giảm thiểu rủi ro rò rỉ trí tuệ.
    • Cộng đồng hỗ trợ mạnh mẽ: Số lượng người dùng đông đảo.
    • Các vấn đề phát sinh được giải đáp nhanh chóng trên GitHub hoặc Discord.
    • Tính linh hoạt cao: Lập trình viên có thể tùy biến, tinh chỉnh mã nguồn.
    • Để phù hợp với quy trình làm việc riêng biệt (Vibe Coding).

    Nhược điểm

    • Yêu cầu cấu hình phần cứng: Để vận hành mượt mà ở chế độ ngoại tuyến.
    • Máy tính cần có RAM lớn và GPU mạnh.
    • Rào cản cho người mới bắt đầu: Việc cài đặt và thiết lập môi trường ban đầu.
    • Có thể phức tạp hơn so với các công cụ “mì ăn liền” chạy trên web.
    • Cập nhật không đồng bộ: Các bản vá lỗi đôi khi phụ thuộc vào sự đóng góp.
    • Phụ thuộc vào sự đóng góp của cộng đồng nên có thể chậm hơn.
    • Chậm hơn so với các sản phẩm thương mại có đội ngũ kỹ thuật chuyên trách.

    Đây là cách phổ biến và dễ tiếp cận nhất cho người mới bắt đầu. Phiên bản Desktop (hiện đang ở giai đoạn Beta) cung cấp một không gian làm việc riêng biệt, tối ưu hóa cho trải nghiệm chat và quản lý dự án tập trung.

    • Hỗ trợ đa nền tảng:Ứng dụng có sẵn các bản cài đặt chomacOS(cả chip Apple Silicon và Intel),Windows(x64), vàLinux(định dạng .deb hoặc .rpm).
    • Ưu điểm:Tận dụng tối đa tài nguyên phần cứng máy tính để chạy các mô hình AI cục bộ mượt mà.

    OpenCode là một phần mềm mã nguồn mở (MIT License). Người dùng có thể tải về và cài đặt miễn phí trên máy tính cá nhân.

    Cách hoạt động:

    • Bring Your Own Key (BYOK):Người dùng tự nhập API Key riêng của mình (từ OpenAI, Anthropic, Google Gemini…) vào cấu hình để sử dụng. Chi phí sẽ được thanh toán trực tiếp cho các nhà cung cấp đó.
    • Local Models:Kết nối với các mô hình AI chạy offline trên máy (như Llama 3, Mistral thông qua Ollama) hoàn toàn miễn phí, đảm bảo quyền riêng tư tuyệt đối.

    Cách cài đặt OpenCode miễn phí
    Bước 1: Truy cập vào trang chủ chính thức opencode.ai. Tại góc trên bên phải màn hình, hãy nhấp vào nút “Free”.

    Hệ thống sẽ tự động nhận diện hệ điều hành hoặc người dùng có thể chọn thủ công phiên bản phù hợp, ví dụ: “Download for Windows”.

    Bước 2: Sau khi tải file về máy, hãy mở tệp tin và tiến hành cài đặt như các phần mềm thông thường.

    Cài đặt bằng một lệnh.

    curl -fsSL //opencode.ai/install | bash
    Hoặc sử dụng trình quản lý gói.

    npm install -g opencode-ai
    Homebrew cũng hoạt động.

    brew install anomalyco/tap/opencode
    Các tài liệu.

     

    Khám phá giao diện làm việc (Workspace) của OpenCode

    Giao diện của OpenCode được thiết kế theo phong cách tối giản (Minimalism), tập trung hoàn toàn vào trải nghiệm viết code và tương tác với AI.

    Khu vực quản lý dự án (Project Management):

    Ở góc trái trên cùng, nút “Open project” (phím tắt Ctrl+O) cho phép người dùng mở toàn bộ thư mục mã nguồn đang làm việc trên máy tính. Khi một dự án được nạp vào, OpenCode sẽ quét và hiểu toàn bộ ngữ cảnh (context) của các file code hiện có.

    Trung tâm điều khiển (Command Center):

    Phần quan trọng nhất nằm ở phía dưới màn hình với khung chat “Ask anything…”. Tại đây, lập trình viên có thể nhập các yêu cầu bằng ngôn ngữ tự nhiên, ví dụ: “Fix a TODO in the codebase” hoặc “Find and fix security vulnerabilities”.

    Bộ lựa chọn mô hình (Model Selector) – Điểm nhấn quan trọng:

    Ngay bên cạnh nút gửi lệnh là menu chọn mô hình AI. OpenCode cung cấp sự linh hoạt tuyệt vời khi chia làm hai nhóm:

    Nhóm mô hình miễn phí (Free models provided by OpenCode): Ngay khi cài đặt xong, người dùng được tiếp cận ngay lập tức với các model mạnh mẽ mà không tốn phí, bao gồm:
    Big Pickle (Mặc định)
    GPT-5 Nano
    GLM-4.7
    Grok Code Fast 1
    MiniMax M2.1
    Nhóm mô hình từ nhà cung cấp khác: Tại đây, người dùng có thể kết nối với OpenCode Zen (được khuyến nghị), Anthropic (Claude), GitHub Copilot, OpenAI hoặc Google nếu muốn sử dụng các model trả phí chuyên sâu hơn.

    Cách kết nối OpenCode với ollama

    Bạn có thể cấu hình OpenCode để sử dụng các mô hình cục bộ thông qua Ollama.

    ~/.config/opencode/opencode.jsonc

    {
    “$schema”: “//opencode.ai/config.json”,
    “provider”: {
    “ollama”: {
    “npm”: “@ai-sdk/openai-compatible”,
    “name”: “Ollama (local)”,
    “options”: {
    “baseURL”: “//localhost:11434/v1”
    },
    “models”: {
    “qwen3.5”: {
    “name”: “Qwen”
    }
    }
    }
    }
    }

    Trong ví dụ này:

    • ollamaĐây là ID nhà cung cấp tùy chỉnh. Bạn có thể chọn bất kỳ chuỗi ký tự nào.
    • npmChỉ định gói cần sử dụng cho nhà cung cấp này. Ở đây,@ai-sdk/openai-compatibleđược sử dụng cho bất kỳ API nào tương thích với OpenAI.
    • nameĐây là tên hiển thị của nhà cung cấp trong giao diện người dùng.
    • options.baseURLĐây là điểm cuối của máy chủ cục bộ.
    • modelsĐây là bản đồ ánh xạ ID của mô hình đến cấu hình tương ứng. Tên mô hình sẽ được hiển thị trong danh sách lựa chọn mô hình.

    Hướng dẫn sử dụng OpenCode cơ bản

    Bước 1: Bạn cần tạo mới một thư mục trống trên máy tính (ví dụ: Demo-opencode)

    Sau đó, quay lại ứng dụng OpenCode, tại giao diện chính, nhấn vào nút “Open project” (hoặc tổ hợp phím Ctrl+O) nằm ở góc trên bên trái màn hình.

    Bước 2: Kiểm tra thanh chọn mô hình ở dưới cùng rồi nhập nội dung sau vào khung “Ask anything…”.

    Ví dụ:
    “Hãy tạo một file index.html xây dựng trang giới thiệu bản thân hiện đại. Giao diện có nền màu gradient xanh dương, hình đại diện hình tròn ở giữa, tên là ‘Alex Nguyen’ và 3 nút bấm liên kết đến Facebook, GitHub và Email. Sử dụng CSS nội tuyến (internal CSS) để làm đẹp.”

    Nhấn phím Enter hoặc biểu tượng mũi tên hướng lên để gửi lệnh.

    Bước 3: Hệ thống sẽ tự động phân tích yêu cầu, tạo file index.html trong thư mục dự án và viết toàn bộ mã nguồn cần thiết.

    Trên màn hình sẽ hiển thị quá trình AI viết code (Streaming).

    Nếu kết quả chưa ưng ý (ví dụ: màu sắc chưa đẹp), hãy nhập tiếp yêu cầu sửa đổi ngay tại khung chat:
    “Hãy đổi màu nền thành màu tối (Dark Mode) và thêm hiệu ứng phát sáng (Neon effect) cho các nút bấm.”

    Bước 4: Kiểm tra file html đã được tạo trong thư mục trên máy tính.

    Chạy n8n-mcp với OpenCode

    chỉnh sửa file opencode.json (hoặc opencode.jsonc) như sau:

    {
    “$schema”: “//opencode.ai/config.json”,
    “mcp”: {
    “n8n-mcp”: {
    “type”: “local”,
    “command”: [“npx”, “n8n-mcp”],
    “environment”: {
    “MCP_MODE”: “stdio”,
    “N8N_API_URL”: “//n8n.ten-mien-cua-ban”,
    “N8N_API_KEY”: “DAN_API_KEY_CUA_BAN_VAO_DAY”
    }
    }
    }
    }

    Lưu ý khi dùng:

    • Thay //n8n.ten-mien-cua-ban bằng URL thật của n8n (có http/https và port nếu cần).
    • Thay DAN_API_KEY_CUA_BAN_VAO_DAY bằng API Key thật của n8n.
    • Sau khi lưu file, khởi động lại OpenCode (hoặc chạy lệnh opencode mcp reload nếu có).
    • Bạn có thể kiểm tra MCP server đang chạy bằng lệnh: opencode mcp list hoặc opencode mcp debug n8n-mcp.

    Nếu gặp lỗi:

    • Máy có Node.js chưa.
    • N8N_API_URL có đúng URL instance không.
    • N8N_API_KEY có còn hiệu lực không.

    Nạp “kỹ năng” để AI hiểu n8n sâu hơn

    Ngoài MCP, bạn còn có thể tăng chất lượng làm việc bằng skills. Google mô tả skills như một cách mở rộng khả năng của agent; skill là một thư mục chứa SKILL.md. Tài liệu ADK cũng nói skills có thể dùng với Antigravity, Claude Code, Cursor… và có thể cài global bằng lệnh npx skills add … -g.
    Điều này có nghĩa là nếu bạn có một repo n8n-skills, bạn có thể làm theo 1 trong 2 cách:
    Cách 1: bảo opencode tự cài
    Bạn chat kiểu:
    Các kỹ năng của tác nhân cho phép OpenCode khám phá các hướng dẫn có thể tái sử dụng từ kho lưu trữ hoặc thư mục chính của bạn. Các kỹ năng được tải theo yêu cầu thông quaskillcông cụ gốc — các tác nhân sẽ thấy các kỹ năng có sẵn và có thể tải toàn bộ nội dung khi cần.
    //opencode.ai/docs/skills/
    Install the n8n skills globally from this repo: [link repo].
    Check the docs for the correct global skills location and install them properly.
    Cách 2: tự thêm skill bằng lệnh
    Nếu repo skill hỗ trợ chuẩn skills, bạn có thể dùng cú pháp kiểu:
    npx skills add [repo-or-package] -y -g
    Cách này tương tự pattern mà tài liệu ADK dùng để cài global skills.
    Vai trò thực sự của skills là gì?
    MCP cho AI quyền truy cập công cụ.
    Skills cho AI cách suy nghĩ và làm việc tốt hơn với công cụ đó.
    Nói dễ hiểu:
    • MCP = AI có “tay chân”
    • Skills = AI có “tay nghề”
    Vì vậy, khi làm n8n với opencode, lý tưởng nhất là có cả hai.

    Kiểm tra xem kết nối đã hoạt động chưa

    Sau khi setup xong, đừng tạo workflow ngay. Hãy test theo thứ tự sau:
    Test 1: AI có thấy MCP tools chưa?
    Gõ:
    List the available n8n MCP tools you can access right now.
    Test 2: AI có hiểu node n8n chưa?
    Gõ: Search n8n nodes for Gmail, Google Sheets, Webhook and HTTP Request.
    Show me what each node is for.
    Test 3: AI có thấy workflow không?
    Gõ: Find my n8n workflows and summarize what they do.
    Test 4: AI có thể đọc cấu trúc workflow?
    Gõ: Open this n8n workflow: [URL].
    Explain trigger, main branches, external services, and likely failure points.
    Nếu tới bước này AI trả lời mạch lạc, đúng bối cảnh và nhận ra workflow của bạn, tức là hệ thống đã vào guồng.

    Cách dùng opencode để làm việc với n8n

    1. Tạo workflow mới từ đầu
    Đây là use case mạnh nhất. Thay vì ngồi kéo từng node, bạn mô tả bài toán kinh doanh bằng ngôn ngữ tự nhiên.
    Công thức prompt nên dùng
    Viết prompt theo 6 ý:
    . Mục tiêu: muốn tự động hóa việc gì
    . Trigger: workflow chạy khi nào
    . Input: dữ liệu đầu vào là gì
    . Output: kết quả mong muốn là gì
    . Công cụ/ứng dụng: YouTube, Gemini, Sheets, Slack, Gmail…
    . Ràng buộc: thời gian chạy, format dữ liệu, retry, logging,
    Create an n8n workflow for me.
    Goal:
    Automatically take my latest YouTube video, extract the transcript, summarize key ideas, rewrite it into a LinkedIn post, and save the final draft to Google Docs.
    Requirements:
    – Trigger: run every day at 10:00 AM
    – Only process videos published in the last 24 hours
    – If no new video exists, stop gracefully
    – Use Gemini to generate the LinkedIn post
    – Save title, source URL, transcript summary, and final post
    – Add error handling and logging
    – Show me an implementation plan first before applying changes
    Antigravity có cơ chế artifact và implementation plan để bạn review trước khi agent đi tiếp; trong codelab của Google, implementation plan và task plan chính là các điểm bạn có thể đọc, comment và điều hướng lại hướng làm của agent.
    Đừng bắt AI “làm luôn” ngay từ dòng đầu.
    Hãy bắt đầu bằng:
    First, create an implementation plan.
    Do not apply changes yet.
    Cách này giúp bạn xem kiến trúc trước, chỉnh logic trước, giảm tỷ lệ workflow bị dựng sai ngay từ đầu.
    2. Chỉnh sửa workflow có sẵn
    Đây là use case cực mạnh khi bạn có workflow cũ, nhưng muốn thay model, đổi API, thêm node kiểm soát lỗi hoặc chỉnh data mapping.
    Prompt mẫu
    Open this n8n workflow: [URL].
    I want you to replace the current video generation path from Veo 3.1 to Kling 2.6.
    Tasks:
    – Identify all nodes related to Veo
    – Update request URL, authentication, payload schema, and output mapping for Kling 2.6
    – Keep the rest of the workflow intact
    – Validate the workflow after changes
    – Explain any breaking changes before applying them
    Here is the API documentation for Kling:
    [paste docs here]
    Vì sao phải dán docs vào chat?
    Vì AI rất giỏi suy luận, nhưng không mặc định biết đúng phiên bản API mới nhất bạn đang dùng. Khi bạn dán docs, bạn đang “grounding” tác vụ bằng context thật, giảm hallucination rất mạnh.
    Cách ra lệnh đúng
    Đừng chỉ nói:
    “Sửa workflow này giúp tôi.”
    Hãy nói:
    • sửa workflow nào
    • sửa phần nào
    • đổi từ A sang B
    • giữ nguyên phần nào
    • cần validate hay test sau khi sửa không
    3. Chạy thử workflow
    Có hai trường hợp:
    Trường hợp A: bạn dùng community n8n-mcp
    Nếu đã có management tools, bạn có thể yêu cầu agent chạy workflow, đọc kết quả, đối chiếu lỗi và tiếp tục sửa.
    Prompt mẫu:
    Run this workflow and inspect the latest execution.
    If it fails, explain the root cause and propose a fix.
    Trường hợp B: bạn dùng official built-in MCP của n8n
    Trong chế độ chính thức của n8n, workflow chỉ chạy được qua MCP nếu nó là workflow đủ điều kiện: phải published, và có trigger thuộc nhóm Webhook, Schedule, Chat hoặc Form. Ngoài ra, từng workflow phải được enable MCP access riêng; mặc định không workflow nào tự lộ ra cho MCP client.
    Tài liệu chính thức của n8n cũng ghi thêm 3 giới hạn rất quan trọng:
    • execution qua MCP client bị timeout sau 5 phút
    • multi-step forms hoặc human-in-the-loop interactions không được hỗ trợ
    • binary input data không được hỗ trợ, MCP client chỉ truyền text-based input được thôi
    Nói cách khác: nếu bạn chỉ muốn “chat để chạy workflow đã expose”, built-in MCP đủ dùng. Nhưng nếu muốn “chat để xây/sửa/fix workflow”, bạn vẫn nên đi theo custom n8n-mcp.
    4. Tự động tìm và sửa lỗi
    Đây là phần đáng tiền nhất của mô hình này.
    Khi workflow lỗi, thay vì bạn tự mở từng node, tự đọc JSON, tự dò credential, bạn có thể yêu cầu agent:
    Open this workflow: [URL].
    Check the latest failed execution.
    Tell me:
    . which node failed,
    . the exact error,
    . the likely root cause,
    . the safest fix.
    Do not modify anything yet.
    Sau khi AI giải thích xong, bạn ra lệnh tiếp:
    Apply the safest fix.
    Then validate the workflow again.
    Những lỗi AI thường fix tốt
    • Sai cấu trúc JSON body
    • Mapping field sai tên
    • Thiếu credential hoặc credential tham chiếu sai
    • Expression trong n8n lỗi cú pháp
    • Node output không khớp input node sau
    • Webhook/config endpoint đổi format
    Chiến thuật hay nhất
    Hãy bắt AI làm theo 3 nhịp:
    . chẩn đoán
    . đề xuất fix
    . apply + validate
    Đừng để AI vừa đọc lỗi xong đã tự sửa luôn ở lần đầu, đặc biệt với workflow quan trọng.
    5. Batch update nhiều workflow
    Nếu bạn có nhiều workflow cùng dùng một API/model/service cũ, bạn có thể yêu cầu AI sửa hàng loạt.
    Ví dụ:
    Find all workflows that use the old OpenAI image generation endpoint.
    Create a migration plan to update them to the new endpoint.
    Group them by risk level.
    Do not apply changes until I approve the plan.
    Đây là lúc Antigravity phát huy đúng kiểu “AI manager cho hệ thống automation”, thay vì chỉ là một chatbot trả lời câu hỏi.
    Khi làm với Antigravity + n8n, hãy dùng công thức này:
    Prompt Formula
    Context + Objective + Constraints + Validation + Action Policy
    Ví dụ:
    Context: This is a production-like workflow for content automation.
    Objective: Replace the current summarization model with Gemini 3.0 Pro.
    Constraints: Do not change trigger logic, schedule, or downstream Google Docs formatting.
    Validation: Validate node configuration and explain possible breaking points.
    Action policy: Show implementation plan first. Wait for my approval before editing.
    Vì sao công thức này hiệu quả?
    Vì AI agent không chỉ cần “việc phải làm”, mà còn cần:
    • bối cảnh
    • giới hạn
    • tiêu chuẩn đúng/sai
    • mức độ tự chủ được phép
    Thiếu 4 thứ này, AI dễ “làm đúng kỹ thuật nhưng sai bài toán”.

    Mẹo cực quan trọng cho người mới

    . Mẹo 1: Luôn gửi ID workflow
    Nếu không có URL hoặc định danh rõ ràng, AI rất dễ nhìn nhầm workflow.
    . Mẹo 2: Luôn đưa docs khi thay công cụ mới
    Đừng kỳ vọng AI tự biết API mới nhất của mọi nền tảng.
    . Mẹo 3: Luôn yêu cầu implementation plan trước
    Google Antigravity hỗ trợ artifact review, implementation plan và task plan để bạn comment ngay trên kế hoạch trước khi agent triển khai. Đây là một trong những cơ chế quan trọng để giữ kiểm soát.
    . Mẹo 4: Bật chế độ review thay vì auto hết
    Trong codelab của Google, Antigravity có các review policies như Always Proceed, Agent Decides, Request Review; nếu bạn mới dùng, nên ưu tiên kiểu thiên về review để agent trình bày kế hoạch trước khi hành động mạnh tay.
    . Mẹo 5: Không sửa production trực tiếp
    Repo n8n-mcp nhấn mạnh rất rõ: luôn copy workflow, test ở môi trường dev, export backup, validate trước khi deploy.
    10) Những lỗi người mới hay gặp nhất
    Lỗi 1: Cấu hình MCP nhưng quên MCP_MODE=stdio
    Kết quả là MCP client hoạt động chập chờn hoặc lỗi parse output. Repo đã cảnh báo điểm này rất rõ.
    Lỗi 2: Có docs tools nhưng không có management tools
    Tức là AI chỉ đọc hiểu node n8n được, nhưng không tạo/sửa/chạy workflow được. Thường do thiếu N8N_API_URL hoặc N8N_API_KEY.
    Lỗi 3: Nhầm giữa built-in MCP của n8n với custom n8n-mcp
    Built-in MCP của n8n rất hữu ích, nhưng nó không phải con đường chính để AI author/edit workflow từ bên ngoài.
    Lỗi 4: Workflow không được expose cho MCP
    Nếu bạn dùng official MCP của n8n, workflow phải published, có trigger phù hợp và được enable MCP access riêng.
    Lỗi 5: Prompt quá mơ hồ
    Ví dụ:
    “Làm workflow đăng bài tự động.”
    Prompt này quá rộng. Hãy chỉ rõ:
    • đăng ở đâu
    • nguồn dữ liệu nào
    • tần suất chạy
    • format đầu ra
    • logic lỗi
    • lưu log ở đâu
    11) Bộ prompt mẫu để bạn dùng ngay
    A. Tạo workflow mới
    Create an n8n workflow for me.
    Goal:
    [mo ta muc tieu]
    Trigger:
    [Webhook / Schedule / Chat / Form]
    Inputs:
    [du lieu dau vao]
    Outputs:
    [du lieu dau ra]
    Integrations:
    [danh sach cong cu]
    Requirements:
    [retry / logging / error handling / save result / notify]
    Process:
    First create an implementation plan.
    Do not apply any changes until I review it.
    B. Chỉnh sửa workflow
    Open this workflow: [URL].
    Objective:
    [muon doi gi]
    Constraints:
    [giu nguyen phan nao]
    Validation:
    Check for broken expressions, invalid mappings, and credential issues.
    Action policy:
    Show the plan first, then wait for approval.
    C. Fix lỗi
    Check the latest failed execution for this workflow: [URL].
    Tell me:
    – failed node
    – exact error
    – root cause
    – safest fix
    Do not modify anything yet.
    D. Tự sửa sau khi đã chẩn đoán
    Apply the safest fix.
    Then validate the workflow and summarize what changed.
    E. Refactor workflow cho dễ bảo trì
    Refactor this workflow for maintainability.
    Goals:
    – cleaner node naming
    – better branching
    – clearer error handling
    – reusable structure where possible
    Do not change business logic unless necessary.
    Show me the refactor plan first.

    OpenCode Telegram Bot

    Ngay cả trước khi Openclaw trở nên phổ biến, tôi vẫn luôn nghĩ về việc sẽ hữu ích như thế nào nếu có thể truy cập OpenCode từ điện thoại của mình. Tôi nhận thấy OpenCode có chế độ máy chủ, điều đó có nghĩa là việc xây dựng một ứng dụng khách tùy chỉnh hoàn toàn khả thi. Ban đầu, tôi chỉ muốn viết một bot Telegram đơn giản cho nhu cầu cá nhân. Nhưng, như thường lệ, tôi đã bị cuốn hút, thêm nhiều tính năng hơn, và cuối cùng quyết định công khai mã nguồn dự án.

    Tôi chắc chắn sẽ không gọi nó là “hoàn thiện đầy đủ chức năng” vào lúc này – vẫn còn một số điểm chưa hoàn thiện. Tuy nhiên, hiện tại nó đã có đủ các tính năng để sử dụng cho việc phát triển thực tế.

    Đây là giải pháp đang hiệu quả hiện nay:

    • Chuyển đổi giữa các dự án và phiên làm việc.
    • Lựa chọn tác nhân, mô hình và biến thể (nỗ lực suy luận).
    • Theo dõi tiến độ thực hiện nhiệm vụ của nhân viên.
    • Nhận các bản vá lỗi mã trực tiếp trong khung chat dưới dạng tệp văn bản.

    Trớ trêu thay, giờ đây tôi lại dùng chính con bot để viết mã cho nó. Cảm giác thật tuyệt khi nằm dài trên ghế sofa, xem phim truyền hình và thản nhiên gửi các nhiệm vụ lập trình cho “ông chủ ảo” qua Telegram trên điện thoại của mình.

    Tôi dự định sẽ tiếp tục phát triển dự án này một cách tích cực vì tôi sử dụng nó hàng ngày. Nếu ai muốn dùng thử, kho lưu trữ ở đây://github.com/grinev/opencode-telegram-bot

    OpenCode Telegram Bot là một ứng dụng Telegram an toàn dành choOpenCodeCLI, chạy trên máy tính cục bộ của bạn.

    Chạy các tác vụ lập trình AI, theo dõi tiến độ, chuyển đổi mô hình và quản lý phiên làm việc ngay trên điện thoại của bạn.

    Không có cổng mở, không có API lộ ra ngoài. Bot chỉ giao tiếp với máy chủ OpenCode cục bộ của bạn và API Bot của Telegram.

    Hỗ trợ các tác vụ theo lịch trình. Biến bot thành một giải pháp thay thế OpenClaw nhẹ nhàng dành cho người dùng OpenCode.

    Đặc trưng

    • Lập trình từ xa — gửi lệnh đến OpenCode từ bất cứ đâu, nhận kết quả hoàn chỉnh với mã được gửi dưới dạng tệp.
    • Quản lý phiên — tạo phiên mới hoặc tiếp tục các phiên hiện có, tương tự như trong giao diện người dùng TUI.
    • Trạng thái trực tiếp — tin nhắn được ghim hiển thị dự án hiện tại, mô hình, ngữ cảnh sử dụng và danh sách các tệp đã thay đổi, được cập nhật theo thời gian thực.
    • Chuyển đổi mô hình — chọn mô hình từ các mô hình yêu thích và lịch sử gần đây của OpenCode trực tiếp trong khung chat (các mô hình yêu thích được hiển thị trước)
    • Chế độ tác nhân — chuyển đổi giữa chế độ Lập kế hoạch và Xây dựng một cách nhanh chóng
    • Lệnh tùy chỉnh — chạy các lệnh tùy chỉnh của OpenCode (và các lệnh tích hợp sẵn như init/ review) từ menu nội tuyến có xác nhận.
    • Hỏi đáp tương tác — trả lời câu hỏi của nhân viên hỗ trợ và phê duyệt quyền thông qua các nút hiển thị trực tiếp.
    • Lời nhắc bằng giọng nói — gửi tin nhắn thoại/âm thanh, chuyển đổi chúng thành văn bản thông qua
    • API tương thích với Whisper, sau đó chuyển tiếp văn bản đã được nhận dạng đến OpenCode.
    • Tệp đính kèm — gửi hình ảnh, tài liệu PDF và bất kỳ tệp văn bản nào đến OpenCode (mã nguồn, nhật ký, cấu hình, v.v.)
    • Các tác vụ theo lịch trình — lên lịch cho các lời nhắc chạy sau hoặc theo định kỳ; xem Các tác vụ theo lịch trình
    • Kiểm soát ngữ cảnh — thu gọn ngữ cảnh khi nó trở nên quá lớn, ngay từ khung chat.
    • Kiểm soát luồng đầu vào — khi một luồng tương tác đang hoạt động, bot chỉ chấp nhận đầu vào có liên quan để duy trì tính nhất quán của ngữ cảnh và tránh các hành động ngoài ý muốn.
    • Bảo mật — danh sách trắng ID người dùng nghiêm ngặt; không ai khác có thể truy cập vào bot của bạn, ngay cả khi họ tìm thấy nó.
    • Bản địa hóa — Giao diện người dùng được hỗ trợ bản địa hóa cho nhiều ngôn ngữ ( BOT_LOCALE)
    • Các tính năng dự kiến ​​hiện đang được phát triển được liệt kê trong Danh sách nhiệm vụ hiện tại .

    Điều kiện tiên quyết

    • Node.js 20+ — tải xuống
    • OpenCode — cài đặt từ opencode.ai hoặc GitHub
    • Bot Telegram — bạn sẽ tạo một bot trong quá trình thiết lập (mất 1 phút)

    Hướng dẫn nhanh
    1. Tạo một Bot Telegram
    Mở tài khoản @BotFather trên Telegram và gửi tin nhắn./newbot
    Hãy làm theo hướng dẫn để chọn tên và tên người dùng.
    Sao chép mã thông báo bot bạn nhận được (ví dụ: 123456:ABC-DEF1234…)
    Bạn cũng cần ID người dùng Telegram của mình — hãy gửi bất kỳ tin nhắn nào đến @userinfobot và nó sẽ trả lời bằng ID số của bạn.

    2. Khởi động máy chủ OpenCode
    Khởi động máy chủ OpenCode:

    opencode serve
    Theo mặc định , bot sẽ kết nối với API OpenCode //localhost:4096.

    không set OPENCODE_SERVER_PASSWORD, thì:

    • Bất kỳ ai truy cập được vào port đều có thể dùng server
    • Nếu bạn expose ra mạng (public IP / port forwarding / VPS) → rất nguy hiểm
    • Chỉ khi: Bạn chạy local (127.0.0.1). Không expose port ra ngoài. Dùng để test cá nhân

    Cách xử lý (chuẩn nhất)
    1. Chạy nhanh với password
    OPENCODE_SERVER_PASSWORD=123456 opencode serve
    2. Cách đúng (dùng biến môi trường lâu dài)

    Linux / Mac (bash/zsh):

    export OPENCODE_SERVER_PASSWORD=”mat_khau_manh”
    opencode serve

    Hoặc lưu vào ~/.bashrc / ~/.zshrc:

    export OPENCODE_SERVER_PASSWORD=”mat_khau_manh”

    3. Cài đặt & Chạy
    Cách nhanh nhất — chạy trực tiếp với npx:

    npx @grinev/opencode-telegram-bot
    Hướng dẫn nhanh này dành cho việc sử dụng npm. Bạn không cần phải sao chép kho lưu trữ này. Nếu bạn chạy lệnh này từ thư mục nguồn (thư mục gốc của kho lưu trữ), nó có thể bị lỗi opencode-telegram: not found. Để chạy từ mã nguồn, hãy sử dụng phần Phát triển .

    Khi khởi chạy lần đầu, một trình hướng dẫn tương tác sẽ hướng dẫn bạn cấu hình — trước tiên nó sẽ yêu cầu ngôn ngữ giao diện, sau đó là mã thông báo bot, ID người dùng, URL API OpenCode và thông tin đăng nhập máy chủ OpenCode tùy chọn (tên người dùng/mật khẩu). Sau đó, bạn đã sẵn sàng sử dụng. Mở bot của bạn trong Telegram và bắt đầu gửi tác vụ.

    OpenCode ECC Plugin

    Plugin Everything Claude Code (ECC) dành cho OpenCode – bao gồm các tác nhân, lệnh, hook và kỹ năng. //github.com/affaan-m/everything-claude-code/blob/main/.opencode/README.md

    Có hai cách để sử dụng Everything Claude Code (ECC): Gói npm (được khuyến nghị cho hầu hết người dùng) Cài đặt thông qua npm/bun/yarn và sử dụng CLI ecc-install để thiết lập các quy tắc và tác nhân. Sao chép trực tiếp / chế độ plugin Sao chép kho lưu trữ và chạy OpenCode trực tiếp bên trong đó.

    Cài Package: npm install ecc-universal
    Add to your opencode.json:

    {
    “plugin”: [“ecc-universal”] }

    Thao tác này tải mô-đun plugin ECC OpenCode từ npm: tích hợp hook/sự kiện, các công cụ tùy chỉnh được đóng gói và xuất bởi plugin. Nó không tự động đăng ký toàn bộ danh mục lệnh/tác nhân/hướng dẫn ECC trong cấu hình dự án của bạn. Để thiết lập OpenCode đầy đủ, bạn có thể: chạy OpenCode bên trong kho lưu trữ này, hoặc sao chép các thư mục .opencode/commands/, .opencode/prompts/, .opencode/instructions/ và các mục cấu hình hướng dẫn, tác nhân và lệnh vào dự án của riêng bạn. Sau khi cài đặt, chạy lệnh CLI ecc-install: npx ecc-install typescript

    Cách 2

    git clone //github.com/affaan-m/everything-claude-code
    cd everything-claude-code
    opencode

    Claude Code có hơn 50 lệnh.

    Hầu hết các nhà phát triển sử dụng từ 3 đến 5 trong số đó.Những thứ còn lại nằm im lìm/help, chờ đợi để giúp bạn tăng năng suất gấp 10 lần — nếu bạn biết đến sự tồn tại của chúng.

    Hiểu về ba loại lệnh

    Trước khi đi sâu vào từng lệnh, hãy hiểu cách thức hoạt động của các lệnh trong Claude Code.

    Loại 1: Lệnh CLI (Khởi chạy trong cửa sổ Terminal)

    Các lệnh này sẽ chạy khibạn khởi độngClaude Code từ terminal:

    claude                     # Bắt đầu trong thư mục hiện tại
     claude -c                  # Tiếp tục phiên gần nhất
     claude -- print  "question"  # Truy vấn một lần, sau đó thoát

    Loại 2: Lệnh gạch chéo (Phiên tương tác)

    Các lệnh này chạybên trongmột phiên Claude Code bằng cách gõ/:

    /init       # Khởi tạo CLAUDE.md
     /compact    # Nén ngữ cảnh
     /model      # Chuyển đổi mô hình

    Nhập/để xem tất cả các lệnh có sẵn và lọc khi bạn nhập.

    Loại 3: Phím tắt bàn phím (Tăng hiệu quả)

    Những điều này có hiệu quảtrongcác phiên tương tác:

    Ctrl+C      # Hủy bỏ thế hệ hiện tại
     Ctrl+R      # Tìm kiếm lịch sử lệnh
     Shift+Tab   # Chuyển đổi chế độ (bình thường → tự động chấp nhận → lập kế hoạch)

    Bây giờ chúng ta hãy cùng phân tích từng cái một.

    Đây là những mệnh lệnh bạn sẽ sử dụng mỗi ngày. Hãy nắm vững chúng trước tiên.

    Chức năng:
    TạoCLAUDE.mdmột tập tin bộ nhớ lưu trữ vĩnh viễn trong thư mục gốc dự án của bạn, tập tin này sẽ được Claude đọc trong mỗi phiên làm việc.

    Cách sử dụng:

    /khởi tạo

    Claude tạo một tệp CLAUDE.md khởi đầu với nội dung sau:

    • Mô tả dự án
    • Ngăn xếp công nghệ
    • tùy chọn kiểu mã
    • Các mô hình phổ biến

    Vì sao điều này quan trọng:

    Theo quy trình làm việc của nhà phát triển,việc bắt đầu mọi dự án bằng cách này/initsẽ loại bỏ 80% các bước thiết lập ngữ cảnh lặp đi lặp lại.

    Thay vì phải giải thích “hãy sử dụng async/await, chứ không phải promises” trong mỗi buổi hướng dẫn, điều đó đã được ghi rõ ràng trong CLAUDE.md.

    Mẹo hay:
    Sau đó/init, hãy thêm ngay các quy tắc cụ thể của bạn:

    # CLAUDE.md 
    
    ## Xác thực 
    - Sử dụng mã thông báo JWT, không phải phiên 
    - Lưu trữ trong cookie httpOnly 
    
    ## Kiểm thử 
    - Viết bài kiểm thử cho tất cả các điểm cuối API 
    - Sử dụng Jest, không phải Mocha 
    
    ## Xử lý lỗi 
    - Trả về lỗi có cấu trúc: { error: string, code: number }

    Chức năng:
    Nén lịch sử hội thoại khi cửa sổ ngữ cảnh đầy, tóm tắt lại để tiết kiệm không gian.

    Cách sử dụng:

    # Nén cơ bản
     /compact 
    
    # Nén có mục tiêu (giữ lại ngữ cảnh cụ thể)
     /compact giữ lại các mẫu xử lý lỗi và các thay đổi của mô-đun xác thực

    Khi nào nên sử dụng:

    • Sau hơn 30 phút trong một buổi tập
    • Khi bạn thấy cảnh báo “ngữ cảnh đang trở nên lớn”
    • Khi Claude bắt đầu quên những quyết định trước đó

    Thông tin kỹ thuật chi tiết:

    Theo ghi chú phát hành tháng 2 năm 2026,/compactgiờ đây quá trình hoàn tấttức thì(trước đây mất 3-5 giây).

    Nén dữ liệu giúp bảo toàn: Nội dung CLAUDE.md
    Các mục trong danh sách nhiệm vụ
    Các quyết định và mô hình quan trọng

    Những điểm cần loại bỏ: Cuộc hội thoại dài dòng qua lại
    Các phiên bản mã đã lỗi thời

    Lỗi cần tránh:

    Đừng đợi đến khi bộ nhớđầymới bắt đầu nén. Hãy chủ động thực hiện việc nén khi mức sử dụng bộ nhớ đạt 70–80%.

    Kiểm tra ngữ cảnh với/context.

    Chức năng:
    Xóa hoàn toàn lịch sử cuộc trò chuyện. Khởi đầu mới.

    Cách sử dụng:

    /thông thoáng

    Khi nào nên sử dụng:

    • Chuyển sang một nhiệm vụ hoàn toàn khác
    • Sau khi hoàn thành một tính năng
    • Khi bối cảnh không liên quan đến tác phẩm tiếp theo

    /compactso với/clear:

    Tác dụng của lệnh: Khi nào?/compactTóm tắt và giữ nguyên ngữ cảnh Tiếp tục cùng một nhiệm vụ, ngữ cảnh phức tạp/clearThiết lập lại hoàn toàn, bắt đầu lại từ đầu Chuyển sang nhiệm vụ khác

    Cảnh báo:

    /clearThao tác này cũng xóa lịch sử lệnh cho thư mục đó. Sử dụng/compactnếu bạn muốn giữ lại quyền truy cập vào các dấu nhắc lệnh cũ.

    Chức năng:
    Tự động chuyển đổi giữa các định dạng Claude Sonnet, Opus và Haiku trong quá trình sáng tác.

    Cách sử dụng:

    /model                  # Công cụ chọn tương tác
     /model sonnet           # Chuyển sang Sonnet 4.6
     /model opus             # Chuyển sang Opus 4.6
     /model haiku            # Chuyển sang Haiku 4.5

    Khi nào nên sử dụng từng loại:

    Sonnet 4.6(mặc định cho Pro/Max5):

    • Lập trình hàng ngày
    • Tái cấu trúc
    • Sửa lỗi
    • Đạt kết quả tốt đối với hầu hết các nhiệm vụ đơn giản.

    Opus 4.6(mẫu tốt nhất, dùng với Max20):

    • Lập kế hoạch phức tạp nhiều bước
    • Các quyết định về kiến ​​trúc
    • Mã sản xuất quan trọng
    • Khi chất lượng > chi phí

    Haiku 4.5(nhanh nhất, rẻ nhất):

    • Chỉnh sửa đơn giản
    • Tạo mẫu văn bản
    • Câu hỏi nhanh
    • Khi tốc độ quan trọng hơn sự tinh tế

    Quy trình làm việc chuyên nghiệp:

    Hãy bắt đầu với thể thơ Sonnet. Chuyển sang Opus khi bí ý. Sử dụng Haiku cho những việc đơn giản.

    Chức năng:
    Hiển thị số lượng token đã sử dụng và chi phí cho phiên hiện tại.

    Cách sử dụng:

    /trị giá

    Kết quả đầu ra:

    Chi phí phiên: 2,47 đô la Mỹ 
    Số token đầu vào: 48.392 
    Số token đầu ra: 12.847 
    Mô hình: claude-sonnet-4-20250514

    Vì sao điều này quan trọng:

    Đối với các buổi huấn luyện phát triển kỹ năng, chi phí có thể dao động từ 5 đến 50 đô la tùy thuộc vào mô hình và thời lượng.

    Mẹo tối ưu hóa chi phí:

    • Hãy sử dụng Haiku cho những nhiệm vụ đơn giản.
    • Chạy/compactđể giảm chi phí ngữ cảnh
    • Khi có thể, hãy chuyển sang sử dụng thể thơ Sonnet thay vì Opus.
    • Theo dõi/costsau mỗi lần tương tác quan trọng.

    Chức năng:
    Hiển thị mức độ sử dụng ngữ cảnh theo thời gian thực dưới dạng phần trăm diện tích cửa sổ.

    Cách sử dụng:

    /bối cảnh

    Kết quả đầu ra:

    Mức độ sử dụng theo ngữ cảnh: 67% (134.400 / 200.000 từ)

    Khi nào nên nén giấy:

    • 70–80% →/compactChủ động thực hiện
    • 90%+ → Claude có thể bắt đầu quên bối cảnh trước đó.

    Mẹo hay:

    Quá nhiều ngữ cảnh khiến LLM hoạt động kém hiệu quả hơn. Hãy sử dụng chúng/contextđể nắm bắt tình hình và thu gọn trước khi đạt đến giới hạn.

    Chức năng:
    Hiển thị sự khác biệt giữa các thay đổi mà Claude đã thực hiện trong phiên làm việc bằng lệnh `git diff`.

    Cách sử dụng:

    /diff               # Hiển thị tất cả các thay đổi
     /diff src/auth.ts   # Hiển thị các thay đổi đối với tệp cụ thể

    Khi nào nên sử dụng:

    • Trước khi lưu mã
    • Xem xét lại những gì Claude thực sự đã thay đổi.
    • Phát hiện các thay đổi ngoài ý muốn

    Quy trình làm việc chuyên nghiệp:

    Kết thúc mỗi tính năng bằng/diff→ xem xét → cam kết. Đây là bước xem xét mã trước khi cam kết.

    Chức năng:
    Hiển thị tất cả các lệnh gạch chéo có sẵn.

    Cách sử dụng:

    /giúp đỡ

    Vì sao điều này quan trọng:

    Tính khả dụng của các lệnh thay đổi khi Claude Code được cập nhật./helpluôn là nguồn thông tin chính xác nhất cho phiên bản của bạn.

    Kiểm tra phiên bản hiện tại:

    claude --version

    Chức năng:
    Mở tệp CLAUDE.md để chỉnh sửa mà không cần thoát khỏi phiên làm việc.

    Cách sử dụng:

    /ký ức

    Khi nào nên sử dụng:

    • Bổ sung các tiêu chuẩn mã hóa mới giữa phiên làm việc
    • Cập nhật bối cảnh dự án
    • Ghi chép lại những mô hình mới mà Claude nên tuân theo.

    Cú pháp ghi nhớ nhanh:

    # Thêm vào bộ nhớ mà không cần mở trình soạn thảo 
    # Sử dụng async/await cho tất cả các truy vấn cơ sở dữ liệu

    Phần tiền tố này#bổ sung các ghi chú nhanh về bộ nhớ được thêm vào cuối tệp CLAUDE.md.

    Chức năng:
    Tải và tiếp tục cuộc hội thoại trước đó.

    Cách sử dụng:

    # Khôi phục phiên làm việc gần nhất
     claude --resume 
    
    # Khôi phục phiên làm việc cụ thể theo tên
     claude --resume auth-refactor 
    
    # Chọn từ danh sách phiên làm việc
     /resume

    Mẹo nhỏ:

    Dữ liệu phiên được lưu trữ trong~/.claude/projects/. Bạn có thể hỏi Claude:“Tìm các phiên của tôi từ tháng 12 năm 2024”và nó sẽ tìm kiếm giúp bạn.

    Các lệnh này giúp phân biệt người dùng thành thạo với người mới bắt đầu.

    Chức năng:
    Đặt câu hỏi phụ mà không làm gián đoạn công việc hiện tại của Claude hoặc làm ảnh hưởng đến ngữ cảnh.

    Cách sử dụng:

    # Claude đang tái cấu trúc một mô-đun lớn 
    # Bạn đột nhiên cần kiểm tra một thứ gì đó
    
     /nhân tiện, sự khác biệt giữa useEffect và useLayoutEffect là gì? 
    # Claude trả lời, rồi tiếp tục tái cấu trúc

    Vì sao điều này lại mang tính đột phá:

    Trước đây/btw, bạn phải:

    1. Hủy bỏ tác vụ hiện tại
    2. Đặt câu hỏi
    3. Nhắc lại nhiệm vụ ban đầu

    Giờ thì bạn cứ/btwtiếp tục tiến lên thôi.

    Ngày phát hành:11 tháng 3 năm 2026 (tweet gây sốt đạt 2,2 triệu lượt xem)

    Chức năng:
    Kích hoạt Chế độ nhanh với các thiết lập API được tối ưu hóa tốc độ.

    Cách sử dụng:

    /fast # Bật/tắt# Bật/tắt

    Thông số kỹ thuật:

    Chế độ nhanhkhông phải là một mô hình khác— nó chạy cùng hệ điều hành Opus 4.6 với các thiết lập API được tối ưu hóa.

    Dùng cho:

    • Tương tác lặp lại nhanh
    • Gỡ lỗi trực tiếp
    • Thử nghiệm nhanh

    Tắt trong:

    • Hiệu quả chi phí
    • Mã sản xuất

    Quan trọng:
    Khi Chế độ Nhanh được bật giữa phiên làm việc,toàn bộ ngữ cảnh trước đó sẽ được tính phí lại theo giá của Chế độ Nhanh.

    Chức năng:
    Các thay đổi mã được đề xuất dưới dạng kế hoạch và cần được phê duyệt trước khi thực hiện.

    Cách sử dụng:

    # Chuyển đổi chế độ lập kế hoạch
     bằng Shift+Tab    # Chuyển đổi giữa các chế độ 
    
    # Hoặc nhập rõ ràng bằng
     lệnh /plan

    Ba chế độ:

    Chế độ thông thường:Yêu cầu xác nhận trước khi thực thi mỗi công cụ. Chế độ
    tự động chấp nhận:Chạy tất cả các công cụ mà không cần xác nhận.
    Chế độ lập kế hoạch:Đề xuất thay đổi, chờ phê duyệt trước khi thực thi.

    Quy trình làm việc thực tế:

    • Tự động chấp nhận:Viết bài kiểm tra, tạo mẫu văn bản
    • Chế độ lập kế hoạch:Chỉnh sửa các tệp quan trọng đối với môi trường sản xuất (cấu hình, di chuyển cơ sở dữ liệu, package.json)

    Quy trình “trình bày kế hoạch → phê duyệt → thực hiện” giúp ngăn ngừa tai nạn.

    Chức năng:
    Tạo một nhánh hội thoại tạm thời để khám phá các ý tưởng mà không ảnh hưởng đến ngữ cảnh chính.

    Cách sử dụng:

    /fork
    
    # Thử nghiệm tái cấu trúc 
    # Không hiệu quả? 
    # Đóng nhánh, quay lại cuộc thảo luận chính

    Khi nào nên sử dụng:

    • Kiểm thử các thao tác tái cấu trúc rủi ro cao
    • Khám phá nhiều phương pháp tiếp cận
    • Thí nghiệm nhanh

    Chức năng:
    Tua lại lịch sử hội thoại và/hoặc các thay đổi mã.

    Được nâng cấp vào tháng 2 năm 2026:Giờ đây có thể tua lại cuộc hội thoại và mã lệnhmột cách riêng biệt.

    Cách sử dụng:

    Esc Esc    # Mở menu tua lại 
    
    # Tùy chọn: 
    # - Chỉ tua lại đoạn hội thoại (giữ mã) 
    # - Chỉ tua lại mã (giữ lại đoạn hội thoại) 
    # - Tua lại cả hai

    Quy trình làm việc:

    # Thử nghiệm tái cấu trúc 
    # → Không hoạt động 
    # → Nhấn Esc 
    # → "Chỉ tua lại mã" 
    # → Mã được khôi phục, lịch sử hội thoại được bảo toàn

    Đây là một công cụ cứu cánh khi bạn vô tình phê duyệt những thay đổi không tốt.

    Chức năng:
    Duy trì danh sách công việc, danh sách này vẫn còn ngay cả khi bạn đóng các phiên làm việc.

    Đã thêm:v2.1.16 (tháng 1 năm 2026)

    Cách sử dụng:

    # Bật/tắt hiển thị danh sách tác vụ
     Ctrl+T 
    
    # Tạo tác vụ bằng ngôn ngữ tự nhiên 
    "Thêm tính năng xác thực. Chia nhỏ thành các tác vụ theo mức độ phụ thuộc"

    Vì sao điều này quan trọng:

    Các tác vụkhông biến mấtkhi bạn đóng phiên làm việc. Danh sách tác vụ vẫn còn nguyên sau khi nén ngữ cảnh.

    Quy trình làm việc nhóm:

    Thiết lậpCLAUDE_CODE_TASK_LIST_IDbiến môi trường để chia sẻ danh sách tác vụ giữa nhiều phiên Claude Code khác nhau.

    Hữu ích cho các phiên làm việc song song trên các phần khác nhau của cùng một dự án.

    Chức năng:
    Rà soát mã nguồn bằng ba tác nhân song song.

    Cách sử dụng:

    /simplify # Thay thế lệnh /review đã lỗi thời# Thay thế lệnh /review đã lỗi thời

    Nó kiểm tra những gì:

    • Chất lượng mã
    • Các lỗ hổng bảo mật
    • Vi phạm các quy tắc thực hành tốt nhất
    • Vấn đề về hiệu năng
    • Phạm vi kiểm thử

    Quy trình làm việc:

    1. Viết bài chuyên đề
    2. /simplify
    3. Đánh giá phản hồi
    4. Khắc phục sự cố
    5. Làm

    Chức năng:
    Tùy chỉnh cách Claude phản hồi.

    Cách sử dụng:

    /output-style
    
    # Các tùy chọn: 
    # - Ngắn gọn 
    # - Giáo dục 
    # - Người đánh giá mã 
    # - Tạo mẫu nhanh

    Tính năng không được ghi chép:

    @agent-output-mode-setup

    Tạo ra 4 chế độ tùy chỉnh trong~/.claude/output-modes/:

    • Ngắn gọn
    • Giáo dục
    • Người đánh giá mã
    • Tạo mẫu nhanh

    Chức năng:
    Cấu hình các thao tác mà Claude có thể thực hiện mà không cần hỏi.

    Cách sử dụng:

    /permissions
    
    # Ví dụ cấu hình: 
    # Tự động phê duyệt: npm install, git status, đọc file 
    # Yêu cầu phê duyệt: git push, xóa file, npm publish

    Thực hành tốt nhất:

    Tự động phê duyệt các thao tác thường xuyên. Giúp bạn tập trung vào những quyết định quan trọng.

    Chức năng:
    Tạo và quản lý các tác nhân phụ chuyên biệt cho các nhiệm vụ cụ thể.

    Cách sử dụng:

    /agents
    
    # Tạo tác nhân phụ
     @agent-create test-writer "Viết các bài kiểm tra Jest toàn diện"

    Khi nào nên sử dụng:

    • Phân công nhiệm vụ cụ thể
    • Giữ cho cuộc trò chuyện chính tập trung
    • Ngăn ngừa ô nhiễm ngữ cảnh

    Mẹo hay:

    Đừng ngại giao phó công việc. Việc giao cho người phụ trách giúp công việc chính của bạn không bị quá tải bởi những công việc không liên quan.

    Các cờ này điều khiển hành vi khikhởi chạyClaude Code từ thiết bị đầu cuối.

    Chức năng:
    Thực thi một truy vấn duy nhất và thoát (không có phiên tương tác).

    Cách sử dụng:

    # Hỏi câu hỏi, nhận câu trả lời, thoát
     claude -- print  "Giải thích sự khác biệt giữa async/await và promises" 
    
    # Hoàn hảo cho việc viết kịch bản
     result=$(claude -- print  "Tạo một UUID ngẫu nhiên" ) 
    echo  $result

    Các trường hợp sử dụng:

    • Tập lệnh shell
    • quy trình CI/CD
    • Hỏi nhanh các câu hỏi mà không cần khởi động toàn bộ phiên họp.

    Chức năng:
    Khôi phục phiên làm việc gần nhất trong thư mục hiện tại.

    Cách sử dụng:

    cd ~/projects/my-app 
    claude -c    # Tiếp tục phiên làm việc gần nhất trong thư mục này

    Sơ yếu lý lịch từ thư mục khác:

    claude --resume session-id

    Tiếp tục từ Pull Request:

    claude --from-pr 123

    Tiếp tục trực tiếp phiên làm việc được liên kết với PR #123.

    Công việc của họ:
    Tùy chỉnh các hướng dẫn hệ thống.

    Cách sử dụng:

    # Thêm vào các hướng dẫn mặc định (an toàn)
     claude --append-system-prompt "Luôn sử dụng chế độ nghiêm ngặt của TypeScript" 
    
    # Thay thế tất cả các hướng dẫn mặc định (nguy hiểm)
     claude --system-prompt "Bạn là chuyên gia Python"

    Khi nào nên sử dụng từng loại:

    --append-system-prompt(khuyến khích):

    • Bổ sung các quy tắc tùy chỉnh trong khi vẫn giữ nguyên các chức năng mặc định của Claude Code.
    • An toàn cho hầu hết các trường hợp sử dụng.

    --system-prompt(trình độ cao):

    • Thay thế hoàn toàn các hướng dẫn mặc định
    • Chỉ sử dụng khi bạn cần kiểm soát hoàn toàn.
    • Loại bỏ tất cả các hành vi mặc định của Claude Code.

    Chức năng:
    Tự động phê duyệt tất cả các thao tác mà không cần hỏi ý kiến.

    Cách sử dụng:

    # NGUY HIỂM: Chỉ sử dụng trong các container đáng tin cậy
     claude --dangerously-skip-permissions

    Khi nào nên sử dụng:

    CHỈ sử dụngtrong môi trường container đáng tin cậy (Docker, CI/CD).

    TUYỆT ĐỐI KHÔNGsử dụng dữ liệu sản xuất trên máy tính cục bộ của bạn.

    Vui lòng xem Hướng dẫn sử dụng an toàn tính năng Tự động phê duyệt trước khi sử dụng cờ này.

    Chức năng:
    Định nghĩa các tác nhân phụ thông qua JSON khi khởi động.

    Cách sử dụng:

    claude --agents '{ 
      "test-writer": { 
        "role": "Viết các bài kiểm tra Jest toàn diện", 
        "model": "claude-sonnet-4" 
      } 
    }'

    Trường hợp sử dụng:

    Thiết lập sẵn các tác nhân cho quy trình làm việc nhóm và CI/CD.

    Chức năng:
    Trả về kết quả dưới dạng JSON thay vì văn bản thuần túy.

    Cách sử dụng:

    claude --print "Liệt kê tất cả các hàm trong app.js" --output-format json

    Các trường hợp sử dụng:

    • Lập trình shell
    • Tích hợp CI/CD
    • Phân tích đầu ra của Claude bằng lập trình.

    Những phím tắt này giúp tăng tốc quy trình làm việc của bạn một cách đáng kể.

    Ctrl+C Hủy thế hệ hiện tại 
    Ctrl+R Tìm kiếm lịch sử lệnh 
    Tab Bật/tắt hiển thị suy nghĩ 
    Shift+Tab Chuyển đổi chế độ (bình thường → tự động chấp nhận → lập kế hoạch) 
    Esc Esc Quay lại menu

    Điều hướng & Chỉnh sửa

    Ctrl+T Bật/tắt danh sách tác vụ 
    Alt+M Bật/tắt chế độ (tương tự như Shift+Tab) 
    Alt+P Tin nhắn trước 
    Alt+N Tin nhắn tiếp theo 
    Alt+B Quay lại cuộc hội thoại 
    Alt+F Tiến lên cuộc hội thoại

    Người dùng macOS:

    Để sử dụng các phím tắt,Altbạn cần cấu hình phím Option làm phím Meta trong terminal.

    iTerm2:Cài đặt → Hồ sơ → Phím → Đặt tùy chọn Trái/Phải thành “Esc+”

    Shift+Enter Nhập nhiều dòng mà không gửi 
    Ctrl+L Xóa màn hình (chỉ mang tính thẩm mỹ, không xóa đoạn hội thoại) 
    Ctrl+D Thoát khỏi Claude Code

    Người dùng WSL:

    Trong Windows Terminal,Shift+Enterchức năng này có thể không hoạt động ngay từ đầu.

    Chạy lệnh này/terminal-setupđể cài đặt phím tắt.

    @ + đường dẫn Tự động hoàn thành tệp 
    ! + lệnh Thực thi bash trực tiếplệnh     Thực thi bash trực tiếp 
    # + văn bản Thêm bộ nhớ nhanh

    Ví dụ:

    # Tự động hoàn thành tệp 
    @src /auth.ts    # Tự động hoàn thành thành đường dẫn đầy đủ 
    
    # Lệnh bash trực tiếp 
    ! git status    # Chạy ngay lập tức, đầu ra được đưa vào ngữ cảnh 
    
    # Bộ nhớ nhanh 
    # Sử dụng mã thông báo JWT để xác thực

    Những điều này không được ghi trong tài liệu chính thức nhưng vẫn hoạt động tốt trong môi trường sản xuất.

    Chức năng:
    Cho phép gán phím tắt Vim cho việc nhập liệu trong dấu nhắc lệnh.

    Cách sử dụng:

    /vim

    Những gì bạn nhận được:

    • Chuyển đổi chế độ (Thông thường, Chèn)
    • Điều hướng (h/j/k/l, w/b/e, 0/$)
    • Các kiểu nhảy nhân vật (f/F/t/T)
    • Các toán tử chỉnh sửa (d, c, y, p)
    • Các đối tượng văn bản (iw, aw, i”, a())

    Đây không phải là trình giả lập Vim rút gọn. Nó là một trình giả lập toàn diện.

    Chức năng:
    Điều khiển thiết bị Claude Code cục bộ của bạn từ giao diện web claude.ai.

    Cách sử dụng:

    /điều khiển từ xa

    Trường hợp sử dụng:

    Làm việc trực tiếp từ điện thoại khi bạn không ở bàn làm việc.

    Ví dụ:

    Trên đường về nhà, nhớ ra cần sửa lỗi. Mở claude.ai trên điện thoại, kết nối với phiên cục bộ, hướng dẫn Claude thực hiện sửa lỗi.

    Chức năng:
    Xuất đoạn hội thoại dưới dạng tài liệu có thể tìm kiếm.

    Cách sử dụng:

    /xuất khẩu

    Khi nào nên sử dụng:

    Sau khi giải quyết các vấn đề khó khăn, hàng xuất khẩu trở thành:

    • Tài liệu có thể tìm kiếm
    • Tài liệu học tập
    • Cơ sở kiến ​​thức nhóm

    Chức năng:
    Sao chép một cuộc hội thoại để khám phá các cách tiếp cận khác nhau.

    Cách sử dụng:

    Không phải là một mệnh lệnh rõ ràng, nhưng có thể thực hiện được thông qua:

    # Lưu trạng thái phiên
     /export 
    
    # Bắt đầu phiên mới 
    # Nhập ngữ cảnh trạng thái trước đó

    Trường hợp sử dụng:

    Thử nghiệm nhiều phương pháp kiến ​​trúc khác nhau từ cùng một điểm xuất phát.

    Chức năng:
    Đọc dữ liệu sử dụng của bạn trong tháng qua và biên soạn báo cáo HTML.

    Cách sử dụng:

    /báo cáo sử dụng

    Kết quả đầu ra:

    • Tổng số buổi
    • Tiêu thụ token
    • Phân tích chi phí
    • Các lệnh được sử dụng nhiều nhất
    • Thời gian dành cho mỗi dự án

    Chức năng:
    Nếu đang làm việc trên nhánh có yêu cầu kéo (PR) đang mở, Claude Code sẽ hiển thị trạng thái PR ở chân trang.

    Các chỉ báo trực quan:

    Gạch chân màu trên liên kết PR cho biết trạng thái xem xét:

    • Xanh lá cây: Đã được phê duyệt
    • Màu vàng: Yêu cầu thay đổi
    • Màu đỏ: Bị chặn
    • Màu xám: Đang chờ xem xét

    Tự động cập nhật sau mỗi 60 giây.

    Hiểu rõ vị trí lưu trữ dữ liệu của Claude Code và cách tùy chỉnh nó.

    ~/.claude/                     # Thư mục cấu hình chính
     ~/.claude/projects/            # Lịch sử phiên
     ~/.claude/commands/            # Các lệnh gạch chéo tùy chỉnh (cũ)
     ~/.claude/skills/              # Kỹ năng của tác nhân (tiêu chuẩn 2026)
     ~/.claude/output-modes/        # Kiểu hiển thị tùy chỉnh
     ~/.claude/keybindings.json     # Phím tắt

    Vị trí:Thư mục gốc của dự án

    Nó lưu trữ những gì:

    • Mô tả dự án
    • Ngăn xếp công nghệ
    • Quy tắc về kiểu mã
    • Các mô hình phổ biến
    • Yêu cầu kiểm thử

    Ví dụ:

    # Dự án: API Thương mại điện tử 
    
    ## Công nghệ sử dụng
     - Node.js + Express 
    - PostgreSQL thông qua Prisma 
    - Xác thực JWT 
    
    ## Quy tắc
     - Sử dụng async/await, không bao giờ dùng callback 
    - Viết kiểm thử cho tất cả các endpoint 
    - Trả về lỗi có cấu trúc: { error, code } 
    
    ## Mẫu thiết kế
     - Tất cả các truy vấn cơ sở dữ liệu trong /services 
    - Trình xử lý tuyến đường trong /routes 
    - Middleware trong /middleware

    Vị trí:~/.claude/skills/

    Những thay đổi trong năm 2026:

    Các lệnh tùy chỉnh truyền thống (.claude/commands/) và Kỹ năng (.claude/skills/) đã đượchợp nhất.

    Các tập tin hiện có.claude/commands/vẫn hoạt động, nhưng tiêu chuẩn mới làSkills.

    Kỹ năng bổ sung:

    • Kiểm soát tự động gọi hàm dựa trên phần đầu trang
    • Khả năng quản lý tệp
    • Tuân thủ Tiêu chuẩn Mở về Kỹ năng Đại lý
    • Khả năng tương thích giữa các công cụ

    Ví dụ về kỹ năng:

    --- 
    tên:  deploy-staging 
    mô tả:  Triển khai  nhánh hiện tại  lên môi trường thử nghiệm auto_invoke: false --- # Triển khai lên môi trường thử nghiệm 1. Chạy thử nghiệm 2. Xây dựng gói sản phẩm 3. Đẩy lên máy chủ thử nghiệm 4. Chạy kiểm thử bộ  
     
    Tùy chỉnh phím tắt

    Vị trí:~/.claude/keybindings.json

    Cách chỉnh sửa:

    /phím tắt

    Ví dụ:

    { 
      "toggle_thinking" :  "Tab" , 
      "cancel" :  "Ctrl+C" , 
      "search_history" :  "Ctrl+R" , 
      "toggle_task_list" :  "Ctrl+T" 
    }

    Các thay đổi sẽ có hiệu lực ngay lập tức mà không cần khởi động lại Claude Code.

    Làm thế nào để sử dụng các lệnh này trong thực tế lập trình?

    # 1. Bắt đầu phiên
     claude 
    
    # 2. Thiết lập ngữ cảnh
     /init    # Nếu là lần đầu tiên trong dự án
     /memory # Cập nhật với các yêu cầu tính năng hiện tại 
    
    # 3. Ghi nhớ nhanh tính năng này 
    # Sử dụng JWT để xác thực 
    # Viết các bài kiểm tra cho tất cả các điểm cuối 
    # Tuân theo các quy ước RESTful 
    
    # 4. Triển khai 
    "Tạo middleware xác thực cho Express để xác thực mã thông báo JWT" 
    
    # 5. Xem lại
     /diff 
    
    # 6. Chạy thử nghiệm
     ! npm test 
    
    # 7. Kiểm tra chi phí
     /cost 
    
    # 8. Cam kết
     ! git add . 
    ! git commit -m "feat: add JWT auth middleware"
    # 1. Tiếp tục phiên hiện tại
     claude -c 
    
    # 2. Hiển thị lỗi 
    "Đây là lỗi tôi đang gặp phải:"
     [ dán lỗi] 
    
    # 3. Claude điều tra 
    # Sử dụng /btw cho các câu hỏi bên lề mà không làm lạc đề 
    
    # 4. Đã áp dụng bản sửa lỗi
     /diff    # Xem lại các thay đổi 
    
    # 5. Kiểm tra
     ! npm test 
    
    # 6. Nếu hoạt động, nén và tiếp tục
     /compact
    # 1. Bắt đầu với chế độ lập kế hoạch
     claude 
    Shift+Tab   # Bật chế độ lập kế hoạch 
    
    # 2. Mô tả việc tái cấu trúc 
    "Tái cấu trúc mô-đun xác thực để sử dụng bcrypt thay vì mật khẩu thông thường" 
    
    # 3. Xem lại kế hoạch trước khi thực thi 
    # Phê duyệt hoặc điều chỉnh 
    # 4. Giám sát ngữ cảnh
     /context 
    
    # 5. Nén chủ động ở mức 70%
     /compact giữ lại các mẫu xác thực và chiến lược di chuyển 
    
    # 6. Chuyển sang chế độ tự động chấp nhận cho các thay đổi thường xuyên
     Shift+Tab   # Chế độ tự động chấp nhận 
    
    # 7. Xem lại cuối cùng
     /diff 
    /simplify   # Xem lại mã 
    
    # 8. Xuất để làm tài liệu
     /export
    # 1. Cuộc hội thoại chính: kiến ​​trúc 
    "Thiết kế lược đồ cơ sở dữ liệu cho xác thực người dùng" 
    
    # 2. Ủy quyền cho tác nhân phụ
     /agents 
    @agent -create test-writer "Viết các bài kiểm tra toàn diện" 
    
    # 3. Cuộc hội thoại chính tiếp tục 
    "Bây giờ hãy triển khai middleware xác thực" 
    
    # 4. Tác nhân phụ hoạt động song song 
    @test -writer "Tạo các bài kiểm tra cho middleware xác thực" 
    
    # 5. Hợp nhất kết quả 
    # Cuộc hội thoại chính vẫn gọn gàng và tập trung

    1. Hãy nắm vững 10 kỹ năng cốt lõi trước tiên.

    /init,/compact,/clear,/model,/cost,/context,/diff,/help,/memory,/resume

    Chỉ riêng những điều này thôi cũng sẽ giúp bạn tăng năng suất lên gấp 3-4 lần.

    2./btwlà yếu tố thay đổi cuộc chơi

    Hãy đặt câu hỏi mà không làm lạc đề. Sử dụng nó một cách thường xuyên.

    3. Chủ động thu gọn, chứ không phải thụ động.

    Chạy/compactở mức độ ngữ cảnh 70-80%, chứ không phải 95%.

    4. CLAUDE.md là công cụ nhân bội năng suất của bạn

    Cài đặt một lần, tiết kiệm 10-15 phút mỗi lần sử dụng.

    5. Chuyển đổi chế độ giúp ngăn ngừa tai nạn.

    • Tự động chấp nhận: Văn bản mẫu và các bài kiểm tra
    • Chế độ lập kế hoạch: Các tệp quan trọng cho sản xuất
    • Bình thường: Mọi thứ khác

    6. Xuất khẩu các phiên họp đột phá

    /exportBiến các giải pháp thành tài liệu có thể tìm kiếm.

    7. Theo dõi chi phí với Opus

    /costSau những tương tác quan trọng. Các phiên Opus có thể lên tới 50 đô la.

    8. Phím tắt bàn phím tăng tốc độ gấp 10 lần

    Shift+Tab,Ctrl+T,Esc Esc,Ctrl+R— hãy học những điều này.

    9. Các tác nhân phụ giữ cho ngữ cảnh được rõ ràng

    Phân công nhiệm vụ cụ thể. Cuộc trò chuyện chính sẽ vẫn tập trung.

    10. Có những tính năng ẩn.

    /vim— khám phá/remote-controlthường xuyên./usage-report/help

    Claude Code có hơn 50 lệnh.

    Bạn vừa học thuộc hết tất cả rồi đấy.

    Đa số các nhà phát triển sẽ tiếp tục sử dụng 3-5.

    Giờ đây bạn đã có đầy đủ vũ khí.

    Sự khác biệt giữa các nhà phát triển coi Claude Code như “ChatGPT trong terminal” và những người coi nó như một đối tác lập trình nằm ở khả năng làm chủ các lệnh.

    Hãy bắt đầu với 10 mệnh lệnh cốt lõi. Thêm một mệnh lệnh mới mỗi tuần. Xuất lại những thành quả đạt được.

    Năng suất làm việc của bạn sắp tăng gấp 10 lần.

    Nguồn: Tài liệu chính thức của Claude Code phiên bản 2.1.72, Ghi chú phát hành của Anthropic tháng 3 năm 2026, Tài liệu tham khảo đầy đủ của SmartScope, Hướng dẫn lệnh cộng đồng DEV, Bảng tóm tắt 32blog, Kho lưu trữ awesome-claude-code, Nhiều quy trình làm việc của nhà phát triển trong môi trường sản xuất — tháng 3 năm 2026

    Visual Studio Code tích hợp trực tiếp với Ollama

    nếu bạn là một nhà phát triển thường xuyên sử dụng VS Code, thì đây không chỉ là một bản cập nhật thông thường.

    Visual Studio Code hiện cho phép bạn sử dụng trực tiếp các mô hình Ollama bên trong giao diện Copilot Chat .

    Điều đó có nghĩa là:

    Bạn có thể tổ chức các khóa học LLM tại địa phương.
    Sử dụng chúng bên trong tính năng trò chuyện AI của VS Code.
    Chuyển đổi liền mạch giữa mô hình đám mây và mô hình cục bộ
    Và phần tuyệt vời nhất là gì?

    Không còn phụ thuộc vào API bên ngoài cho mọi thứ nữa.

    Tại sao điều này lại quan trọng
    Thành thật mà nói, nó lớn hơn vẻ bề ngoài. Hầu hết các nhà phát triển hiện nay đều dựa vào:

    GitHub Copilot
    ChatGPT
    Song Tử
    Claude
    API dựa trên đám mây
    Nhưng tất cả chúng đều có một điểm chung:

    Mã của bạn sẽ rời khỏi máy tính của bạn.

    Với sự tích hợp giữa Ollama và VS Code:

    Bảo mật là trên hết

    Mã của bạn được lưu trữ cục bộ. Không có cuộc gọi ra bên ngoài.

    Lặp lại nhanh hơn

    Không có độ trễ từ API. Phản hồi tức thì.

    Không mất phí API

    Chạy các mô hình như sau:

    LLaMA
    Mistral
    Kimi
    Qwen
    …mà không cần trả phí cho mỗi token.

    Kiểm soát hoàn toàn

    Bạn chọn mô hình, tinh chỉnh nó, điều chỉnh cho hoàn hảo.

    Điều kiện tiên quyết (Danh sách kiểm tra thiết lập nhanh)
    Theo tài liệu tham khảo:

    Ollama v0.18.3+
    VS Code 1.113 trở lên
    Tiện ích mở rộng GitHub Copilot Chat phiên bản 0.41.0 trở lên
    Bạn vẫn cần đăng nhập vào VS Code để chọn mô hình, nhưng bạn không cần gói Copilot trả phí.

     

    Để lại một bình luận

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

    Chat with us
    Hello! How can I help you today?