Tóm tắt
Tạo một lệnh trong terminal giúp bạn sinh ra mã lệnh và câu lệnh bằng cách sử dụng bất kỳ nhà cung cấp AI nào. Không còn phải chuyển đổi giữa các tab nữa. Hỗ trợ cả vim với lệnh pip install llmswap → llmswap generate "lệnh của bạn"
Thứ Ba vừa qua, tôi đang gỡ lỗi một cụm Kubernetes lúc 3 giờ sáng. Tôi mở vim với một tệp YAML không hoạt động, ChatGPT mở trong Chrome, Stack Overflow trong một tab khác và Claude.ai trong tab thứ ba. Việc liên tục chuyển đổi giữa terminal, ChatGPT, Stack Overflow và các trợ lý AI khiến tôi cảm thấy phát điên.
Đó là lúc tôi nhận ra - tại sao tôi phải rời khỏi terminal để nhận sự giúp đỡ từ AI?
Điểm Bùng Phát
Chúng ta đều đã trải qua điều đó. Bạn biết rằng có một lệnh nào đó tồn tại, nhưng không thể nhớ cú pháp chính xác. Có thể đó là lệnh dọn dẹp Docker, hoặc mẫu awk cụ thể bạn cần, hoặc cách cấu hình nginx đúng cách cho proxy ngược.
Quy trình luôn giống nhau: chuyển sang trình duyệt, tìm kiếm, cuộn qua kết quả, sao chép lệnh, chuyển lại terminal, dán, thử, thất bại, lặp lại.
Tôi nhận ra rằng tôi đang làm điều này hàng chục lần mỗi ngày. Mỗi lần chuyển đổi ngữ cảnh đều làm gián đoạn dòng chảy của tôi. Mỗi lần sao chép-dán đều cảm thấy như thừa nhận thất bại.
Đó là khi tôi nhớ rằng - llmswap 4.1.1 vừa mới được phát hành với lệnh generate. Liệu tôi có thể nhận sự giúp đỡ từ AI mà không cần rời khỏi terminal không?
Cuộc Cách Mạng Terminal
Dưới đây là điều đã thay đổi mọi thứ. Thay vì phải chuyển sang ChatGPT, tôi chỉ cần gõ:
llmswap generate "hiện tất cả các container Docker đang tiêu thụ bộ nhớ"
Và ngay lập tức nhận được:
docker stats --no-stream --format "table \t\t"
Không cần trình duyệt. Không cần tab. Không cần chuyển đổi ngữ cảnh. Câu trả lời xuất hiện ngay nơi tôi cần.
Nhưng còn tuyệt vời hơn nữa. Cần lưu vào tệp?
llmswap generate "kịch bản sao lưu cho PostgreSQL với quay vòng" > backup.sh
chmod +x backup.sh
Xong. Kịch bản đã được tạo, quyền đã được thiết lập, sẵn sàng để sử dụng.
Các Ví Dụ Thực Tế Trong Tuần Này
Hãy để tôi cho bạn thấy điều này thực sự hoạt động như thế nào trong thực tế. Đây là những lệnh thực tế tôi đã tạo ra trong tuần này:
Sáng thứ Hai: Trang web của khách hàng bị sập. Cần kiểm tra nhật ký nginx nhanh chóng.
llmswap generate "tìm lỗi trong nhật ký nginx từ giờ trước"
# Nhận được: tail -f /var/log/nginx/error.log | grep $(date -d '1 hour ago' '+%d/%b/%Y:%H')
Thứ Ba: Thiết lập một dự án Django mới. Cần docker-compose mà tôi luôn quên.
llmswap generate "docker compose cho django postgres redis phát triển" --language yaml
Hoàn hảo, tệp docker-compose.yml dài 40 dòng đã xuất hiện. Với kiểm tra sức khỏe, gắn kết volume, mọi thứ.
Thứ Tư: Ngày di chuyển cơ sở dữ liệu. Cần tìm email trùng lặp trước khi thêm ràng buộc duy nhất.
llmswap generate "PostgreSQL tìm email trùng lặp trong bảng người dùng"
# Nhận được: SELECT email, COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1;
Thứ Năm: Phân tích một số nhật ký API. Lệnh awk mà tôi không bao giờ nhớ.
llmswap generate "trích xuất địa chỉ IP và đếm từ nhật ký truy cập nginx"
# Nhận được: awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
Thứ Sáu: Khách hàng cần 100 VM được tạo ra trong OpenStack với độ trễ để tránh làm quá tải API.
llmswap generate "kịch bản tạo 100 VM trong openstack với độ trễ 30 giây"
Nhận được một kịch bản bash hoàn chỉnh với phân nhóm và xử lý lỗi hợp lý.
Cuối tuần: Phiên gỡ lỗi khẩn cấp. Cần grep qua các tệp nhật ký nén.
llmswap generate "tìm kiếm mẫu lỗi trong các tệp nhật ký đã nén"
# Nhận được: zgrep -i "error\|fail\|exception" /var/log/app/*.gz | head -50
Mỗi lần, câu trả lời xuất hiện trong vài giây. Không cần trình duyệt.
Nhưng Chờ Đã, Còn Tuyệt Vời Hơn
Đây là nơi mọi thứ trở nên thú vị. Tôi phát hiện ra rằng bạn có thể sử dụng điều này bên trong vim nữa.
Làm việc trên một dự án Node.js, cần middleware giới hạn tỷ lệ. Thay vì tìm kiếm trên Google và sao chép-dán, tôi gõ bên trong vim:
:r !llmswap generate "middleware giới hạn tỷ lệ của Express"
Và điều này xuất hiện trực tiếp trong tệp của tôi:
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 phút
max: 100, // giới hạn mỗi IP là 100 yêu cầu trong windowMs
message: {
error: 'Quá nhiều yêu cầu, vui lòng thử lại sau.'
},
standardHeaders: true,
legacyHeaders: false,
});
module.exports = limiter;
Tôi chỉ ngồi đó nhìn màn hình. Mã đã hiện ra đúng vị trí con trỏ của tôi. Không cần chuyển đổi. Không cần sao chép. Chỉ cần… ở đó.
Tích Hợp Vim Khiến Tôi Ngạc Nhiên
Lệnh :r ! trong vim đọc đầu ra của bất kỳ lệnh shell nào trực tiếp vào bộ đệm của bạn. Kết hợp điều đó với llmswap generate và bạn có được sự sinh mã ngay lập tức bên trong trình soạn thảo của mình.
Cần một sơ đồ MongoDB?
:r !llmswap generate "Sơ đồ người dùng với xác thực cho MongoDB"
Cần cấu hình nginx?
:r !llmswap generate "cấu hình proxy ngược nginx cho ứng dụng Node.js"
Cần một kịch bản bash?
:r !llmswap generate "kịch bản sao lưu các tệp cũ hơn 30 ngày"
Mỗi lần, mã xuất hiện ngay tại con trỏ của bạn. Giống như có ChatGPT tích hợp trong vim, nhưng tốt hơn - vì nó hoạt động với bất kỳ nhà cung cấp LLM nào.
Tự Do Nhà Cung Cấp Thay Đổi Mọi Thứ
Điều khiến tôi thực sự phấn khích là. Trong khi GitHub Copilot buộc bạn phải đăng ký tháng 10 đô la và lựa chọn nhà cung cấp của họ, llmswap mang đến cho bạn sự tự do hoàn toàn.
Muốn sử dụng Claude vì nó tốt hơn cho lập trình hệ thống? Đặt ANTHROPIC_API_KEY.
Muốn phản hồi siêu nhanh? Sử dụng Groq với GROQ_API_KEY.
Muốn giữ mọi thứ cục bộ? Chạy Ollama.
Đã trả tiền cho Gemini API? Sử dụng nó thay vì một đăng ký khác.
export ANTHROPIC_API_KEY="khóa-của-bạn"
llmswap generate "bất kỳ điều gì bạn cần"
Cùng một lệnh, AI khác nhau phía sau. Lựa chọn của bạn.
Quy Trình Làm Việc Mới Hằng Ngày Của Tôi
Đây là cách tôi làm việc bây giờ:
Kiểm tra hệ thống buổi sáng:
llmswap generate "kiểm tra sức khỏe hệ thống trên máy chủ Ubuntu"
# Nhận được: df -h; free -m; uptime; systemctl --failed
Công việc với cơ sở dữ liệu:
llmswap generate "MySQL hiển thị truy vấn chậm từ giờ trước"
# Nhận được: mysqldumpslow -t 10 /var/log/mysql/slow.log
llmswap generate "MongoDB tạo người dùng với quyền đọc và viết"
# Nhận được: mongo admin --eval 'db.createUser({user:"appuser",pwd:"password",roles:[{role:"readWrite",db:"myapp"}]})'
Hoạt động Git (vì tôi luôn quên):
llmswap generate "git xóa tệp khỏi lịch sử hoàn toàn"
# Nhận được: git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch file.txt'
Kịch bản nhanh trong vim:
:r !llmswap generate "Hàm Python để đọc CSV với xử lý lỗi"
:r !llmswap generate "Hàm debounce JavaScript"
:r !llmswap generate "Kịch bản Bash để quay vòng nhật ký"
Các Trường Hợp Sử Dụng Bất Ngờ
Tôi bắt đầu sử dụng nó cho mọi thứ. Thực sự mọi thứ.
Hoạt động AWS:
llmswap generate "AWS CLI liệt kê tất cả các instance EC2 với tên và IP"
Gỡ lỗi Kubernetes:
llmswap generate "kubectl lệnh để gỡ lỗi pod thất bại"
Phân tích hiệu suất:
llmswap generate "tìm quá trình đang sử dụng nhiều CPU nhất"
Kiểm tra bảo mật:
llmswap generate "kiểm tra các lần cố gắng SSH thất bại trong nhật ký hệ thống"
Gỡ lỗi mạng:
llmswap generate "kiểm tra xem cổng 443 có mở trên máy chủ từ xa không"
Ngay cả các tệp cấu hình. Cần một dịch vụ systemd?
llmswap generate "tệp dịch vụ systemd cho ứng dụng web Python" > myapp.service
Câu trả lời luôn có sẵn, trong vài giây, ngay trong terminal của bạn.
Tại Sao Điều Này Quan Trọng Hơn Bạn Nghĩ
Hãy nói về con số. GitHub Copilot tốn 10 đô la/tháng cho mỗi nhà phát triển. Đối với một nhóm 10 nhà phát triển, đó là 1,200 đô la/năm.
Với llmswap:
- Sử dụng Gemini: Tốn 96% ít hơn so với GPT-4
- Sử dụng Ollama: Hoàn toàn miễn phí, chạy cục bộ
- Sử dụng bất kỳ quyền truy cập API nào bạn đã có
- Không có đăng ký, không bị khóa nhà cung cấp
Nhưng không chỉ là về tiền. Đó là về sự lựa chọn. Có thể bạn muốn IBM Watson cho các tính năng doanh nghiệp. Có thể bạn muốn Groq cho tốc độ. Có thể bạn muốn mọi thứ cục bộ với Ollama.
Terminal của bạn, AI của bạn, lựa chọn của bạn.
Cài Đặt (Cực Kỳ Đơn Giản)
pip install llmswap
Đặt một biến môi trường cho nhà cung cấp bạn muốn:
export OPENAI_API_KEY="khóa-của bạn" # Hoặc bất kỳ nhà cung cấp nào khác
Chỉ cần vậy thôi. Bắt đầu sinh ra:
llmswap generate "lệnh đầu tiên của bạn"
Điều Tôi Nhận Ra
Tôi đã không mở ChatGPT trong trình duyệt của mình trong ba tuần. Terminal của tôi đã trở thành trợ lý AI của tôi.
Hãy nghĩ về quy trình làm việc hàng ngày của bạn. Bạn đã bao nhiêu lần:
- Hỏi ChatGPT về một lệnh bạn đã quên
- Tìm kiếm Stack Overflow cho cú pháp
- Chuyển sang Claude để giải thích mã
- Nhảy đến Gemini để có một cái nhìn khác
- Sao chép-dán từ các trang tài liệu
Điều gì sẽ xảy ra nếu bạn không bao giờ phải rời khỏi terminal nữa?
Bài Kiểm Tra Thực Sự
Thứ Sáu tuần trước, tôi đang thiết lập giám sát cho một khách hàng. Cần Prometheus, Grafana, alertmanager - toàn bộ ngăn xếp. Thay vì tìm kiếm qua tài liệu:
llmswap generate "docker compose cho ngăn xếp giám sát Prometheus Grafana" > monitoring.yml
Nhận được một tệp docker-compose hoàn chỉnh dài 80 dòng với mạng, volumes và kiểm tra sức khỏe hợp lý. Khởi chạy nó, cấu hình cảnh báo, xong.
Điều mà trước đây mất 2 giờ đã chỉ mất 20 phút.
Thử Ngay Bây Giờ
Nếu bạn đang ở trong terminal của mình, hãy thử:
echo "Thời gian hiện tại là: $(date)"
Xem đầu ra của lệnh xuất hiện? Bây giờ hãy tưởng tượng điều đó với bất kỳ mã nào bạn cần:
llmswap generate "hàm để xác thực địa chỉ email trong Python"
Hoặc trong vim:
:r !date
Xem cách nó chèn vào tệp của bạn? Bây giờ thử:
:r !llmswap generate "cái regex mà bạn luôn quên"
Tương Lai Đã Đến
Chúng ta là các nhà phát triển. Chúng ta sống trong các terminal. Các trợ lý AI của chúng ta cũng nên sống ở đó.
Mỗi lần alt-tab đều làm gián đoạn sự tập trung. Mỗi lần chuyển đổi ngữ cảnh đều tốn thời gian. Mỗi lần sao chép-dán đều gây khó khăn.
Điều này đã được phát hành trong llmswap 4.1.1 tuần trước. Nó đã thay đổi cách tôi viết mã.
Điều tuyệt nhất? Nó không thay thế suy nghĩ của bạn - nó loại bỏ sự cản trở giữa suy nghĩ của bạn và mã của bạn.
Terminal của bạn đang chờ. Trợ lý AI của bạn chỉ cách một pip install.
pip install llmswap
llmswap generate "lệnh mà bạn luôn tìm kiếm trên google"
Chào mừng bạn đến với lập trình không cần chuyển đổi ngữ cảnh.
Liên Kết:
Cài đặt: Chỉ cần thiết lập một khóa API cho nhà cung cấp bạn muốn:
export ANTHROPIC_API_KEY="sk-..." # Đối với Claude
export OPENAI_API_KEY="sk-..." # Đối với GPT-4
export GEMINI_API_KEY="..." # Đối với Google Gemini
# ... hoặc bất kỳ nhà cung cấp nào trong số 8 nhà cung cấp được hỗ trợ
⭐ Hãy đánh dấu dự án trên GitHub nếu nó giúp bạn tiết kiệm thời gian - mỗi ngôi sao đều thúc đẩy sự phát triển tiếp theo! ⭐
Đây là phần 2 trong loạt bài llmswap của tôi. Đọc phần 1: Từ Hackathon đến Mã nguồn mở để xem llmswap đã ra đời như thế nào.
Điểm đau lớn nhất của bạn khi chuyển đổi ngữ cảnh khi lập trình là gì? Hãy để lại ý kiến của bạn trong phần bình luận!