CodePanel — Có gì mới
Từ “chat ra lệnh” thành một hệ điều hành công việc có kiểm soát
Đợt nâng cấp này nối liền toàn bộ vòng đời một yêu cầu: PO chọn phạm vi được phép làm, trả lời quyết định ngay trong chat, theo dõi từng bước và bằng chứng, xử lý việc cần duyệt trong Work Inbox, rồi đo được chỗ nào đang gây tốn lượt hoặc tốn chi phí.
- Ít hiểu nhầm quyền hơn: mỗi Request nói rõ AI chỉ được đọc, được sửa, được build/test hay được thực hiện action bên ngoài.
- Ít hỏi qua lại hơn: câu hỏi cần PO quyết được gom thành thẻ chọn rõ ràng, có phương án khuyến nghị và deep-link quay đúng chỗ.
- Không mất tiến độ khi lỗi/restart: workflow lưu checkpoint, biết bước nào đã xong và chỉ chạy lại phần bị ảnh hưởng.
- Một nơi để xử lý việc: Work Inbox gom việc đang chạy, cần trả lời, chờ duyệt, lỗi, quá hạn; session đang chạy vẫn được ghim riêng phía trên.
- Biết skill nào đang gây ma sát: dashboard đo số lượt/Request, thời gian chờ quyết định, correction, chi phí và hiệu quả theo skill × engine.
1. Request có phạm vi, trạng thái và điểm duyệt rõ ràng CP-101 → CP-126
PO chọn mức quyền trước khi AI bắt đầu; Dry-run vẫn là lựa chọn riêng cho việc chỉ cần plan.
Nếu tác vụ cần quyền cao hơn, panel dừng và hiện scope violation thay vì tự quyết mù.
Request đi qua các trạng thái có kiểm soát: đang chạy, cần trả lời, chờ duyệt, hoàn tất hoặc lỗi.
Có action duyệt, yêu cầu sửa, archive hàng loạt; tiêu đề và phạm vi được tự chuẩn hóa.
2. Quyết định có cấu trúc, Skill có hợp đồng đầu vào CP-201 → CP-246
Các câu hỏi cần PO không còn bị chôn trong một đoạn chat dài. Panel render đúng loại dữ liệu: chọn một phương án, nhập giá trị, nhập bí mật không lưu vào transcript, hoặc để AI chọn theo khuyến nghị. Sau khi PO trả lời, notification mở thẳng đúng quyết định.
Skill V2 — nhất quán từ preflight đến health metric NỀN TẢNG
Skill có manifest/schema chung, compiler trung tính và input đúng kiểu. Preflight mặc định chỉ đọc để phát hiện thiếu dữ liệu trước khi action. Health metric ghi nhận thành công, lỗi, số lần cần hỏi lại và engine đã dùng.
Những workflow quan trọng đã được chuyển sang chuẩn này: tạo app mới, cài SDK, build, submit store, audit checklist và gắn quảng cáo.
3. Workflow chạy theo DAG, có checkpoint và bằng chứng CP-301 → CP-343
Mỗi công việc lớn được chia thành các bước phụ thuộc nhau. Runner lưu checkpoint sau từng bước, tự khôi phục khi server restart và chỉ invalidate các bước bị ảnh hưởng khi input đổi. Worker layer có retry transport, tự handoff khi rate limit và gợi ý Claude/Codex theo health.
APK, screenshot, receipt và file bàn giao nằm đúng bước đã tạo ra chúng.
PO thấy bước nào sửa file nào, thay vì chỉ nhận một kết luận “đã xong”.
4. Work Inbox trở thành hàng đợi điều hành CP-401 → CP-423
Sidebar ưu tiên việc cần PO thay vì trộn với lịch sử session. Có thể nhóm theo Project hoặc Status, lọc việc quá hạn SLA, chọn nhiều Request để duyệt/archive và hoàn tác. Khối ⚡ Đang chạy vẫn ghim toàn bộ job live cho admin; project được xếp theo session/job mới nhất.
Chat ngắn hơn nhưng vẫn đủ bằng chứng CẢI THIỆN
Timeline dài được cô đọng, phase heartbeat nói đúng AI đang đọc, sửa, build hay QA. Sau một kết quả, PO có shortcut cho các follow-up phổ biến thay vì phải gõ lại từ đầu.
5. Đo ma sát workflow và chất lượng skill × engine CP-501 → CP-502
Dashboard mới trả lời hai câu hỏi trước đây chỉ có thể đoán: Request đang tốn thời gian ở đâu, và skill nào chạy tốt hơn trên engine nào. Dữ liệu lấy từ state/decision/usage đã persist, không cần quét transcript.
main. Mở lại panel.xuongapp.com
để dùng; nếu còn cache cũ, tải lại bằng Ctrl/Cmd + Shift + R.- Rà soát 213 phiên làm việc trong ngày (76 job của chính codepanel, còn lại rải trên 11 app). 8 job fail: 4 do hết quota AI (tự chạy lại sau khi quota reset, không cần làm gì), 1 do bấm nhầm version cũ (đã có hướng dẫn), 3 job còn lại panel báo chung chung "chưa nhận diện được pattern lỗi" dù log có nguyên nhân rõ ràng.
- Đã sửa: app jobo-app bị Apple chặn "Upload limit reached" 3 lần liên tiếp trong một buổi tối — panel giờ nói thẳng đây là giới hạn upload/ngày của Apple (không phải lỗi build) và phải đợi ~1 ngày, thay vì để ai đó tưởng code hỏng rồi bấm build lại ngay và tốn công vô ích.
- Đã sửa: app face-dance-ios bị từ chối vì trùng version đã upload trước đó, nhưng panel không nhận ra dạng câu báo lỗi này (khác câu quen thuộc) — giờ nhận diện thêm dạng này, báo đúng "tăng version rồi build lại".
- Đã chạy lại bộ test liên quan (193 test, chỉ 1 fail đã biết từ trước liên quan việc đang làm dở của anh Thông — không phải do thay đổi tối nay) rồi mới đẩy lên & khởi động lại panel lúc không có job nào đang chạy.
Lịch sử cập nhật trước 24/07/2026
- Rà soát 122 phiên làm việc trong ngày. Phát hiện 1 điểm: build TestFlight cho app smart-caller-ios fail lặp lại 4 lần, mỗi lần panel đều báo sai nguyên nhân (nói "lỗi cấu hình xcodegen" trong khi thực tế xcodegen chạy ổn, lỗi thật nằm ở provisioning profile/chứng thực). Do đúng vùng code này đang có việc sửa dở chưa lưu của anh Thông trong ngày, routine đêm nay không tự vá — ghi lại bên dưới để anh xử lý gộp.
- Không có gì được sửa/lưu đêm nay.
- Việc đang làm dở hôm nay còn rất nhiều, chưa lưu: cả loạt file panel (gồm cả phần chẩn đoán lỗi build, phần Home, Routines, 2 skill build app, và nhiều file JS) đang ở dạng nháp trên máy chủ. Routine đêm không tự lưu hộ. Anh rảnh thì vào kiểm tra lại và lưu (hoặc bỏ).
- Báo sai nguyên nhân lỗi build TestFlight (smart-caller-ios): panel báo "xcodegen lỗi cấu hình project.yml" nhưng log thực tế cho thấy bước đó chạy xong bình thường — lỗi thật xảy ra sau đó, ở bước ký/provisioning profile (thiếu App Group / xác thực hết hạn). Nên sửa cùng lúc anh lưu các thay đổi đang làm dở ở phần chẩn đoán lỗi, tránh việc 2 người cùng sửa 1 file đụng nhau.
- Bớt kẹt khi build TestFlight qua nhiều lượt nhắn: khi PO nhắn tiếp cho Claude ("nhắn tiếp" trong 1 issue đang xử lý build/up TestFlight iOS), có lúc Claude quên mất phải dùng đúng quy trình build sẵn có và tự ý chạy lệnh tay — bị hệ thống chặn quyền, báo "xong" nhưng thật ra chưa lên TestFlight, PO phải nhắn qua lại nhiều lượt mới xong. Hôm nay ghi nhận việc này lặp lại ở 6 yêu cầu, nhiều dự án khác nhau. Đã sửa: mỗi lượt nhắn tiếp giờ luôn nhắc lại đúng quy trình, giảm hẳn tình trạng bị chặn/kẹt.
Cập nhật đêm 13/07/2026
Build TestFlight qua nhiều lượt nhắn — bớt bị chặn quyền, đỡ phải nhắn lại nhiều lần SỬA LỖI
Với các yêu cầu build/up TestFlight cần trao đổi qua lại (PO nhắn tiếp để chỉnh sửa hoặc xác nhận), càng về sau trong cuộc trò chuyện Claude càng dễ quên chỉ dẫn ban đầu là phải build qua đúng quy trình có sẵn — tự chạy lệnh build/upload tay thay vì qua quy trình đó sẽ bị hệ thống máy chặn quyền truy cập, và Claude báo "đã xong" dù chưa thực sự lên TestFlight.
Đã sửa: mỗi lượt PO nhắn tiếp cho một yêu cầu build iOS, hệ thống tự nhắc lại chỉ dẫn quy trình đúng — Claude không còn "quên" giữa chừng.
| Trước đây | Từ hôm nay |
|---|---|
| Nhắn tiếp nhiều lượt cho 1 yêu cầu build TestFlight → có lúc Claude tự chạy tay, bị chặn quyền, báo xong sai — PO phải nhắn lại nhiều lần mới ra kết quả thật. | Mỗi lượt nhắn tiếp đều được nhắc đúng quy trình build — giảm hẳn tình trạng báo xong sai / phải nhắn lại. |
- Việc đang làm dở chưa lưu vẫn còn (và nhiều thêm): ngoài phần Routines/Home/Analytics đã báo tối 12/07, hôm nay trên máy chủ có thêm vài việc mới đang ở dạng nháp — chưa lưu chính thức (liên quan tới tích hợp Chrome profile, skill bật high floor AdMob, skill nộp app lên Play Console). Routine đêm không tự lưu hộ vì chưa rõ đã test kỹ chưa. Anh rảnh thì vào kiểm tra lại và lưu (hoặc bỏ) phần này.
- Rà soát 51 phiên làm việc trong ngày (PO + admin) — tất cả chạy xong bình thường, không job nào lỗi hay kẹt. Không có điểm kỹ thuật cần vá đêm nay.
- Có việc đang làm dở chưa lưu: hôm nay anh Thông tự làm 2 việc qua chat trực tiếp trên CodePanel (mở rộng tính năng Routines, và tạo skill bật high floor AdMob) — phần mở rộng Routines + một số việc liên quan tới màn Home/Analytics vẫn đang ở dạng nháp trên máy chủ, chưa được lưu chính thức. Routine đêm không tự lưu hộ vì chưa rõ đã xong/test kỹ chưa. Anh rảnh thì vào kiểm tra lại và lưu (hoặc bỏ) phần đó.
- Gắn AdMob nhanh gọn hơn: khi PO đã có sẵn ID nhờ Claude gắn vào app, giờ Claude hỏi hết những ID còn thiếu trong một câu duy nhất — không còn hỏi rải rác từng cái qua nhiều lượt.
Cập nhật đêm 10/07/2026
Gắn AdMob — hỏi ID thiếu 1 lần, không hỏi rải rác SỬA LỖI
Khi PO nhờ Claude "gắn ID quảng cáo đã có sẵn" vào app (không qua form riêng), nếu thiếu vài ID thì trước đây Claude có thể hỏi từng cái một, mỗi câu một lượt chat — có ca phải qua lại tới 6 lượt mới xong.
Đã sửa: Claude giờ gom hết các mục còn thiếu lại và hỏi PO trong một tin nhắn duy nhất.
| Trước đây | Từ hôm nay |
|---|---|
| Thiếu 3 ID → Claude hỏi 3 lượt riêng, PO phải trả lời qua lại nhiều lần. | Thiếu bao nhiêu ID, Claude liệt kê hết và hỏi 1 lượt duy nhất. |
- Màn Home cho PO: đăng nhập xong thấy ngay tổng quan task + KPI các app + so sánh LTV theo version — không cần vào từng tab.
- Analytics nâng cao: thêm biểu đồ Retention, Screen Funnel, Top Screens; KPI nhóm rõ ràng (Tiền / Người dùng / Chất lượng); lọc country + version.
- Chia sẻ file/plan qua link: tạo link public view-only cho bất kỳ file markdown/ảnh/html trong project — ai có link đọc được, không cần đăng nhập.
- KPI payroll chính xác hơn: hệ thống ghi lại đúng thời điểm task đạt từng mốc (spec xong / dev xong / submit); deadline gốc được đóng băng nếu bị dời.
Cập nhật đêm 06/07/2026
Màn Home — tổng quan cá nhân hoá khi đăng nhập MỚI
Thay vì màn trống, PO đăng nhập vào thấy ngay:
- 4 thẻ pipeline task: Kế hoạch → Xong spec → Dev done → Đã submit — đếm theo đúng task của PO đó.
- Dải "Cần chú ý": task quá hạn, bị chặn, hoặc deadline trong 7 ngày tới.
- Thẻ KPI mỗi app: Revenue / DAU / eCPM / Crash-free 7 ngày, kèm so sánh LTV D0/D1 giữa version mới và version cũ (top-1 revenue country).
- Admin có thêm picker "Xem theo PO" — mọi thứ đổi scope theo PO được chọn.
| Trước đây | Từ hôm nay |
|---|---|
| Đăng nhập vào màn trống, phải tự mở từng tab Analytics / PO Tasks để xem số. | Landing ngay trang Home với task counts + KPI đang chạy thật từ BigQuery. |
Analytics: Retention + Screen Funnel + Top Screens MỚI
Tab Analytics bổ sung 3 phần mới:
- Retention D1/D7/D14/D30: bao nhiêu % user quay lại sau N ngày — xem được theo version.
- Screen Funnel: các màn chính người dùng đi qua, tỷ lệ drop-off từng bước.
- Top Screens: màn nào được xem nhiều nhất, thời gian trung bình.
KPI tổng quan giờ chia theo 3 nhóm Tiền / Người dùng / Chất lượng — dễ quét mắt hơn. Lọc theo nhiều country và version một lúc; version cũ gộp thành nhóm "khác" để không làm rối biểu đồ.
Chia sẻ file/plan qua link không cần đăng nhập MỚI
Khi đang xem file trong project (markdown, ảnh, html, text), bấm nút Share để lấy link public. Ai có link đọc được ngay — không cần tài khoản CodePanel.
- Link live: nếu PO sửa file, người xem link thấy nội dung mới nhất.
- File bị xoá thì link báo "không tìm thấy" — không leak nội dung cũ.
- Chỉ hỗ trợ đuôi an toàn: md, txt, ảnh, html — file code/config không share được qua tính năng này.
| Trước đây | Từ hôm nay |
|---|---|
| Muốn cho external reviewer xem plan/báo cáo phải copy-paste ra ngoài. | Bấm Share → gửi link → xem thẳng trên browser, kể cả mobile. |
KPI payroll chính xác + deadline gốc được bảo vệ CẢI THIỆN
Hệ thống task PO giờ ghi lại đúng thời điểm task đạt từng mốc quan trọng:
- Spec xong lúc mấy giờ? Dev done khi nào? Submit ngày nào?
- Dùng để tính KPI đúng hạn cho payroll — không bị sai dù task được cập nhật nhiều lần sau đó.
Nếu deadline bị dời, hệ thống tự lưu lại deadline gốc — chống tình trạng dời hạn để "ăn" KPI đúng hạn.
Cập nhật đêm 05/07/2026
Auto-QA chụp ảnh + tap — hoạt động với app iOS/Android thật MỚI
Trước đây nút Auto-QA chỉ duyệt được giao diện web (dùng DOM và selector). Từ hôm nay, khi preview đang chạy app iOS hoặc Android, Auto-QA tự chuyển chế độ:
- Chụp ảnh màn hình simulator từng bước.
- Nhìn ảnh → tap toạ độ pixel → chụp lại để xác nhận app phản hồi.
- Tự khám phá các tab/màn chính nếu PO không chỉ định, hoặc đi đúng màn PO muốn soi.
- Báo cáo theo mức độ P0/P1/P2 giống Auto-QA web.
| Trước đây | Từ hôm nay |
|---|---|
| Auto-QA chỉ chạy được với web; bấm Auto-QA khi đang xem app iOS/Android thì prompt không phù hợp. | Auto-QA tự nhận biết loại preview (web / iOS / Android), dùng đúng phương pháp — chụp ảnh + tap cho app, DOM cho web. |
Dock preview tự bật khi test bắt đầu CẢI THIỆN
Khi PO đang ở tab Request và Claude hoặc Auto-QA bắt đầu điều khiển app trong simulator, cửa sổ xem màn hình (dock) tự động mở ra — PO thấy ngay app đang được test mà không cần bấm thủ công.
Nếu PO chủ động đóng dock trong lúc test đang chạy, hệ thống sẽ không tự mở lại (tôn trọng lựa chọn).
| Trước đây | Từ hôm nay |
|---|---|
| Claude test app mà PO không biết đang có ảnh — phải tự nhớ bấm "Xem preview" để mở dock. | Dock tự mở khi test bắt đầu; PO thấy màn hình app ngay, có thể theo dõi từng bước Claude tự tap. |
Tự trả lời Export Compliance — không còn màn hỏi trên App Store Connect MỚI
Trước đây mỗi lần upload build TestFlight, App Store Connect hỏi "App có dùng mã hoá (encryption) không?" — phải vào web Apple bấm "No" thủ công cho từng build.
Từ hôm nay, khi panel phát hiện build mới được xử lý xong mà chưa trả lời câu hỏi này, hệ thống tự khai "Không dùng mã hoá đặc biệt" — màn hỏi biến mất, build sẵn sàng phân phối ngay.
| Trước đây | Từ hôm nay |
|---|---|
| Upload xong → phải vào App Store Connect → tìm build → bấm "Manage" → trả lời "No" → Save (mỗi build một lần). | Upload xong → panel tự trả lời → build sẵn sàng phân phối, PO không cần làm thêm bước nào. |
Test nhiều app iOS song song — không đè nhau CẢI THIỆN
Trước đây chỉ một project được dùng iOS Simulator tại một thời điểm. Từ hôm nay, nhiều project có thể chạy preview/Auto-QA iOS cùng lúc, mỗi project một máy ảo riêng.
Giới hạn mặc định là 2 simulator song song (do RAM ~2 GB/máy). Admin có thể điều chỉnh trong config nếu cần thêm.
| Trước đây | Từ hôm nay |
|---|---|
| Project A đang test → Project B phải chờ, không thể bật preview iOS. | Project A và B chạy preview iOS đồng thời, mỗi project simulator riêng. |
- Lọc analytics theo app version: tab Analytics giờ có thêm dropdown chọn phiên bản — lọc xem KPI, trend, crash-free, ad unit của từng version riêng lẻ.
- Admin chọn model Claude: vào Settings → 🤖 Claude để chọn model dùng cho mọi job (Sonnet, Opus…); hiển thị chi phí từng job bằng VND ngay trên panel.
- Hết dup tin nhắn trong chat: trả lời của Claude không bị hiện kép khi mở lại phiên cũ.
- Nút mở file từ chat: đường dẫn file xuất hiện trong chat có nút ↗ mở thẳng sang tab Files, không cần tìm thủ công.
Cập nhật đêm 04/07/2026
Lọc analytics theo app version MỚI
Tab Analytics có thêm dropdown Version (chọn nhiều) bên cạnh dropdown Quốc gia. Chọn một hoặc vài version để xem riêng:
- KPI cards — doanh thu, eCPM, active users, crash-free.
- Trend users và Phân tích theo quốc gia.
- Funnel ad unit (banner/interstitial/rewarded) cho đúng version đó.
Danh sách version tự động lấy từ dữ liệu thực tế trong khoảng thời gian đang xem, xếp theo lượt dùng nhiều nhất lên đầu. Không chọn gì = xem tất cả (hành vi cũ).
| Trước đây | Từ hôm nay |
|---|---|
| Analytics gộp chung mọi version, không biết version nào kéo số lên hay xuống. | Chọn "3.5" để xem riêng bản mới; so sánh thủ công với "3.4" bằng cách đổi dropdown. |
Admin chọn model Claude cho toàn bộ job MỚI
Vào Settings → 🤖 Claude: chọn model (ví dụ Sonnet 4.6, Opus 4.8…) sẽ được áp dụng cho mọi job headless chạy sau đó — không cần sửa config tay.
Proof Card (thẻ "Đã sửa gì") và bảng token usage giờ hiển thị thêm chi phí quy đổi ra VND (dựa trên tỷ giá cấu hình). PO thấy ngay mỗi job tốn bao nhiêu tiền.
| Trước đây | Từ hôm nay |
|---|---|
| Model mặc định cố định, muốn đổi phải SSH vào server sửa config. | Admin chọn model qua UI; chi phí hiện bằng VND để dễ theo dõi ngân sách. |
Hết dup tin nhắn + nút mở file từ chat SỬA LỖI / CẢI THIỆN
Hết dup: khi mở lại phiên làm việc cũ, các tin nhắn của Claude không còn bị hiện hai lần (lỗi xảy ra khi SSE replay backlog sau khi load history).
Nút mở file: khi Claude nhắc đến đường dẫn file trong khung chat (ví dụ /generated/myapp/icon.png), xuất hiện nút ↗ nhỏ bên cạnh — bấm là mở thẳng file đó trong tab Files, không cần tìm tay.
- Hết lỗi job thất bại ngay khi restart panel: trước đây sau khi server khởi động lại, các issue đang chờ xử lý bị lỗi "Session already in use" và không thể chạy tiếp — đã sửa.
- Claude giờ xử lý được file lớn hơn (giới hạn output từ 32 K lên 64 K token/lượt) — bớt bị cắt giữa chừng khi viết file dài như Strings.swift, file đa ngôn ngữ.
Cập nhật đêm 03/07/2026
Hết lỗi job thất bại sau khi restart panel SỬA LỖI
Khi panel được khởi động lại (cập nhật hoặc treo), các issue đang có Claude xử lý dở bị đánh dấu "bị ngắt" và được xếp lại hàng để chạy tiếp. Tuy nhiên phiên Claude cũ vẫn để lại file session trên đĩa — lần chạy mới dùng cùng mã phiên cũ nên bị Claude từ chối với lỗi "Session ID already in use", job thất bại ngay từ đầu mà không làm được gì.
Đã sửa: mỗi lần spawn Claude cho một issue giờ luôn tạo mã phiên mới, tránh hoàn toàn xung đột này.
| Trước đây | Từ hôm nay |
|---|---|
| Restart panel → issue đang dở bị fail ngay, PO phải bấm "Xử lý" lại thủ công (đôi khi fail nhiều lần liên tiếp). | Restart panel → issue đang dở tự chạy tiếp bình thường, không cần thao tác thêm. |
Ghi nhận: hôm nay có 4 job codepanel bị lỗi này (issue #ab3874 × 2 lần, #2ee729 × 2 lần) và 3 job duet-ios.
Claude xử lý file lớn không bị cắt giữa chừng CẢI THIỆN
Trước đây mỗi lượt trả lời của Claude bị giới hạn 32.000 token output. Với file dài như Translations.swift (14 ngôn ngữ), Localizable.strings nhiều ngôn ngữ, hoặc file cấu hình lớn — Claude thường bị dừng đột ngột giữa chừng với lỗi "exceeded the 32000 output token maximum", job fail và phải làm lại.
Đã nâng giới hạn lên 64.000 token/lượt — đây là mức tối đa của model đang dùng. Với file cực lớn Claude vẫn sẽ chia thành nhiều lượt, nhưng giảm hẳn tỷ lệ bị cắt.
| Trước đây | Từ hôm nay |
|---|---|
| File dài > 32 K token output → job fail, PO phải nhờ lại và dặn "chia nhỏ ra". | Ngưỡng gấp đôi (64 K); với đa số tác vụ viết file lớn sẽ hoàn thành trong 1–2 lượt. |
- Thêm bộ kỹ năng AI ClaudeKit: nhờ AI lập kế hoạch, làm trọn gói (kế hoạch → code → test), fix lỗi, review code, kiểm bảo mật — mỗi việc một nút.
- Mở panel ra là vào thẳng danh sách phiên làm việc; bấm một phiên để mở lại đúng cuộc trò chuyện và tiếp tục nhắn.
- Khi nhờ việc, Claude nói rõ định làm gì rồi hỏi xác nhận trước khi động vào — không tự ý sửa/commit.
- Duyệt AI dễ hơn với thẻ "Đã sửa gì" (build ✅/❌, số test, ảnh) và trạng thái ❓/🔍 rõ ràng.
- Panel mở project nhanh hơn.
Cập nhật 03/07/2026
Bộ kỹ năng AI theo quy trình — ClaudeKit MỚI
Trong khu skill có thêm nhóm nút mới giúp giao việc lớn cho AI một cách bài bản, thay vì chỉ nhắn chat tự do:
- 📋 Lập kế hoạch — AI nghiên cứu rồi vạch kế hoạch theo từng giai đoạn (phase) trước khi bắt tay.
- 👨🍳 Làm trọn gói (Cook) — mô tả tính năng cần làm, AI tự lập kế hoạch, viết code rồi tự chạy test.
- 🔧 Fix lỗi — dán lỗi / mô tả bug, AI tìm nguyên nhân gốc rồi sửa.
- 🔍 Review code — AI soi chất lượng code, chỉ ra chỗ nên sửa.
- 🛡️ Kiểm bảo mật — rà soát lỗ hổng, chỉ báo cáo (không tự sửa).
Có thêm tab Plans để theo dõi tiến độ kế hoạch theo phase.
| Trước đây | Từ hôm nay |
|---|---|
| Nhờ AI làm việc lớn phải mô tả dài dòng, AI dễ làm lệch hoặc bỏ bước. | Chọn đúng nút skill, AI đi theo quy trình chuẩn (kế hoạch → làm → kiểm) cho kết quả gọn và tin cậy hơn. |
Mở panel là vào thẳng danh sách phiên — bấm để mở lại cuộc trò chuyện MỚI
Mở web ra hiện ngay danh sách các phiên làm việc gần đây làm màn hình chính. Bấm vào một phiên là mở lại đúng cuộc trò chuyện với Claude — đọc lại và nhắn tiếp luôn, chứ không chỉ xem lịch sử tĩnh.
| Trước đây | Từ hôm nay |
|---|---|
| Mở panel vào màn chung, phải bấm qua vài bước mới thấy phiên cũ; bấm vào chỉ xem được nội dung, muốn tiếp thì phải mở lại thủ công. | Vào là thấy ngay danh sách phiên; bấm một cái là tiếp tục trò chuyện ngay tại chỗ. |
Claude hỏi xác nhận trước khi động vào việc CẢI THIỆN
Khi PO nhờ sửa lỗi / thêm tính năng, Claude giờ đọc nhanh để hiểu, nói ngắn gọn hiểu gì + định làm gì, rồi hỏi PO đồng ý mới bắt tay. Không tự ý commit/push hay đụng sang project khác.
| Trước đây | Từ hôm nay |
|---|---|
| Nhờ một câu là Claude lao vào làm luôn theo cách nó đoán — đôi khi lệch ý. | Claude xác nhận hướng làm trước, PO gật rồi mới chạy — ít làm sai, an tâm hơn. |
Duyệt AI không cần đọc code — thẻ "Đã sửa gì" MỚI
Mỗi request làm xong hiện một thẻ tóm tắt để PO duyệt nhanh mà không cần hiểu code:
- Tóm tắt 1–2 câu tiếng Việt "đã sửa/làm gì".
- Bằng chứng: build ✅/❌, số test pass, và ảnh màn hình (xem ngay trong khung chat).
Trạng thái cũng rõ ràng hơn: ❓ Cần bạn trả lời (Claude dừng hỏi thay vì đoán bừa) và 🔍 Chờ bạn duyệt (đã xong + có bằng chứng).
Panel mở project nhanh hơn CẢI THIỆN
Danh sách project và thông tin git giờ tải nhanh hơn rõ rệt (nhất là khi có nhiều project). PO không phải làm gì — chỉ là mượt hơn.
- Giờ có thể nhập lệnh cho Claude bằng giọng nói ngay trong panel — bấm nút mic 🎤 trên thanh chat, nói tiếng Việt, rồi gửi.
- Tích hợp Siri Shortcut / CarPlay để ra lệnh cho Claude khi đang lái xe, tay không cần chạm điện thoại.
Cập nhật 02/07/2026
Nhập lệnh bằng giọng nói — nút mic trong chat MỚI
Thanh chat trong panel có thêm nút 🎤. Bấm vào là panel bắt đầu nhận giọng nói tiếng Việt — nói xong bấm ⏹ dừng, text tự điền vào ô chat, gửi bình thường. Nếu đã gõ dở thì giọng nói được nối tiếp vào, không ghi đè.
| Trước đây | Từ hôm nay |
|---|---|
| Muốn ra lệnh thì phải gõ tay hoặc dùng mic bàn phím iOS (copy–paste thêm bước). | Bấm 🎤 trong panel, nói một câu, gửi ngay — không cần chạm bàn phím. |
Lưu ý: trình duyệt sẽ hỏi cấp quyền micro lần đầu. Tính năng này cần kết nối internet (Web Speech API). Một số trình duyệt WebView không hỗ trợ — trong trường hợp đó nút tự ẩn và PO vẫn dùng mic bàn phím iOS bình thường.
Ra lệnh tay-rảnh qua Siri Shortcut / CarPlay MỚI
Panel giờ có endpoint nhận lệnh từ Siri Shortcut — PO tạo shortcut một lần trên iPhone, sau đó chỉ cần nói "Hey Siri, giao cho Claude…" là lệnh được đẩy thẳng vào phiên Claude đang làm việc. Kết quả Siri đọc lại ngắn gọn xác nhận.
Dùng được khi: đang lái xe qua CarPlay, tay không rảnh, muốn xem tiến độ hoặc giao việc nhỏ cho Claude mà không cần mở điện thoại.
Để thiết lập: anh tạo Siri Shortcut "Get Contents of URL" trỏ tới https://panel.xuongapp.com/api/voice với Bearer token — liên hệ để được hướng dẫn cụ thể.
Cập nhật 01/07/2026
Báo lỗi upload iOS thông minh hơn CẢI THIỆN
Khi Apple từ chối upload vì version đã được duyệt trước (lỗi 90062 / 90186), panel giờ hiển thị rõ nguyên nhân và hướng dẫn trực tiếp: "Tăng Version (VD: 1.2 → 1.3) rồi bấm Build & Up TestFlight lại". Không còn phải mò trong log dài.
| Trước đây | Từ hôm nay |
|---|---|
| Upload thất bại, panel báo chung chung "không nhận diện được pattern lỗi — mở log đầy đủ để check tay." | Panel hiển thị thẳng: "Apple từ chối: version 1.2 đã approve — phải tăng CFBundleShortVersionString lên cao hơn." kèm hướng dẫn fix. |
- Token GitLab có thể lọt vào log: Hôm nay có job của dự án xuong-app (actor admin) mà message gửi đến Claude chứa chuỗi trông như GitLab Personal Access Token (bắt đầu
glpat-). Token này đang nằm trong filejob_logs/04fa6c1c757581db.log. Nếu đây là token thật → anh cần vào GitLab thu hồi / rotate ngay. Routine tự động không tự xóa log. - house-ai-ios Up TestFlight thất bại: Version 1.2 đã được Apple approve trước, cần bump lên 1.3 (hoặc cao hơn) rồi build lại.
Cập nhật 30/06/2026
Tính năng mới PO sẽ dùng (30/06)
1. Tải file build về máy ngay trong panel MỚI
Sau khi app build xong, tab Status hiện nút tải thẳng file cài đặt: IPA (iOS), AAB / APK (Android). Bấm là tải về máy PO, kèm dung lượng file.
Trước đây: PO phải nhắn "xuất apk" trong chat rồi đợi, nhiều lúc không thấy file đâu. Giờ có nút bấm trực tiếp.
2. Form nhập ID quảng cáo / SDK một lần MỚI
Trong khu skill có nút mới 🔑 Nhập ID SDK (1 lần). PO điền sẵn các ID có trong tay — AdMob (App ID, Banner, Interstitial, Rewarded, Native, App Open), Facebook, TikTok, Adjust, AppMetrica — field nào chưa có thì bỏ trống. Bấm gửi là Claude gắn hết trong một lượt.
Trước đây: Claude hỏi từng ID một, có app phải qua lại 5–6 lần mới đủ. Giờ điền một form là xong.
Lưu ý: file cấu hình GoogleService-Info.plist / google-services.json thì PO kéo–thả vào khung 📎 dưới khung chat, không dán nội dung file vào ô.
3. Lấy content từ Google Drive + kéo–thả file MỚI
Hai cách đưa ảnh/video/asset vào app:
- Nút skill 📥 Lấy content từ Google Drive: PO dán link/đường dẫn Drive, hệ thống tự kéo file về project.
- Kéo–thả trực tiếp file vào chat: ảnh, video, zip, pdf… tới 50MB/file.
Trước đây: tải content từ Drive hay bị treo, và PO không dùng Mac thì không gửi file vào được. Giờ làm thẳng trên panel, không cần Mac.
Cải thiện ngầm 30/06 — chạy mượt & chính xác hơn
Những thứ này chạy tự động, PO không phải thao tác gì — chỉ là kết quả tin cậy hơn:
| Vấn đề trước đây | Giờ đã sửa |
|---|---|
| Bấm gửi nhầm nhiều lần → tạo nhiều job trùng, tốn thời gian. | Gửi trùng trong vài giây được gộp lại, chỉ chạy 1 lần. |
| Submit TestFlight/App Store đôi khi báo "stopped" dù thực ra đã upload xong. | Báo hoàn tất ngay khi upload thành công, không chờ Apple xử lý xong nên không còn báo dừng sai. |
| Rớt mạng giữa chừng bị gắn nhãn nhầm "Build fail" → tưởng app lỗi. | Phân biệt rõ lỗi mạng với lỗi build thật, báo đúng nguyên nhân. |
| Kiểm tra Checklist (AdMob/SDK) đôi khi đọc nhầm tài liệu cũ → kết luận sai. | Luôn đọc code & cấu hình thật của app, tài liệu cũ không còn làm sai lệch kết quả. |
| Test trên simulator có lúc chạy lan man rất lâu, chụp quá nhiều ảnh. | Giới hạn gọn lại, dừng sớm khi gặp lỗi lặp — nhanh và rẻ hơn. |
| Sau khi sửa cấu hình project iOS phải nhắc "chạy xcodegen" thủ công. | Tự chạy bước này trước khi build, PO không cần nhắc. |
| Push code lên GitLab thỉnh thoảng kẹt vì xung đột phiên bản. | Tự đồng bộ trước khi push, ít kẹt hơn; nếu vẫn vướng thì báo rõ thay vì làm bừa. |
| Project/app mới tạo đôi khi không hiện ra cho đúng người. | Project mới tự xuất hiện đúng tài khoản vừa tạo. |
| Log job phình dung lượng vì nhét cả ảnh dạng mã hoá. | Tự lược bỏ phần ảnh nặng trong log → nhẹ và mở nhanh hơn. |
Xem lại hướng dẫn đầy đủ: 📘 Hướng dẫn sử dụng CodePanel.