Repository navigation
v2.2.0
v2.2.0 — Hành vi nền, review phản biện, hai skill mới
Bản 2.2.0 thêm hai skill, đổi hành vi của agent khi merge và khi viết code, và bỏ một skill khỏi chế độ tự nạp để prompt nhẹ hơn. Không có breaking change về tool hay format config.
Cái quan trọng nhất: prompt của planner nhẹ đi
zetta và architect-planner không còn tự nạp parallel-exploration. Cả hai là agent lập kế hoạch — nghiên cứu song song là việc của orchestrator, và prompt của họ đã có sẵn hive_skill("parallel-exploration") ở ba chỗ để nạp khi thật sự cần.
Lý do: thân skill được nhét nguyên văn vào system prompt. 1.120 từ đó bị trả giá ở mỗi lượt của một session có thể chạy hàng trăm lượt, cho một skill có khi cả session đọc một lần. forager-worker thì vẫn giữ test-driven-development và verification-before-completion — nó là agent viết code, và một agent bị dặn "nạp TDD khi đang code" là một agent sẽ bỏ qua.
Bạn cần biết: nếu ~/.config/opencode/agent_hive.json của bạn có autoLoadSkills: ["parallel-exploration"] cho hai agent này, dòng đó sẽ đè lên default và bạn không nhận được thay đổi. Xoá nó để dùng default mới, hoặc giữ nếu bạn thật sự muốn.
Skill mới
| Skill | Giải quyết việc gì |
|---|---|
context-map-window |
Đọc theo bản đồ trước thân bài (code_search → look_at → read có range), và growth check trước khi thêm dòng vào prompt hay skill. Ra đời từ chính lỗi của Hive: prompt cứ dài thêm và không gì bắt nó dừng |
source-driven-development |
Viết code chạm API lạ thì tra trước (context7_query-docs, .d.ts đã cài, hoặc code thật đang dùng), ghi lại chỗ đã tra, và cái gì chưa tra phải nói là chưa tra. Mục nâng cấp dependency của nó là bài học của chính bản này — xem bên dưới |
Hành vi agent
- Sáu quy tắc nền trong system prompt, áp cho mọi agent ở mọi pha: nói ra giả định thay vì mang nó đi, nêu mâu thuẫn thay vì tự chọn một cách im lặng, phản biện khi chi phí cụ thể, chọn cách nhàm chán, không sửa ngoài phạm vi, không tuyên bố điều chưa tự thấy. Trước đây chỉ
zettavàforagercó một phần của điều này;architectvàscoutkhông có gì. swarmreview phản biện trước merge quan trọng. Merge một task chạm auth, hình dạng dữ liệu, hay hợp đồng API bên ngoài thì chạy một reviewer mới với diff và contract — không đưa kết luận của người viết, vì reviewer được cho biết phải nghĩ gì thì trả lại sự đồng tình. Bỏ qua cho việc cơ học.code-reviewerphán quyết bằng hai lượt khi finding chặn merge: lượt thứ hai trong một conversation mới, không được kể phán quyết của lượt một. Bất đồng thì mức nặng hơn giữ nguyên cho tới khi có phán quyết thành văn.executing-planscó kỷ luật memory: quy tắc đổi cách làm ghi thànhfeedbackkèm Why và How to apply; sự thật về repo ghi kèm ngày; và không ghi điều người dùng chưa thấy, vì hôm sau nó sẽ bị trích lại như đã được đồng ý.cavemanviết lại 591 → ~95 dòng, kèm con số thật của dự án gốc: giảm khoảng 3% output so với chỉ cần nói "answer concisely" — không phải chiến lược tiết kiệm token. Bản mới có phần bản cũ thiếu: nó bật tới khi bị tắt, bỏ một chữ "không" tốn hơn mọi chữ đã tiết kiệm, và cảnh báo bảo mật / hành động không thể hoàn tác / câu hỏi phải dùng câu đầy đủ.
Dependency
simple-git3 → 4.0.2, và đây là lý do skillsource-driven-developmenttồn tại: v4 đổi chỗ chứa kết quả git đã parse (sangerror.git) và đổi message xung đột thànhCONFLICTS: a.txt:content. Code cũ parse message tìm"Merge conflict in"nên danh sách file xung đột thành rỗng — merge vẫn fail đúng, nhưng người dùng không biết mở file nào. Suite xanh không phát hiện ra, vì nó không chạm đường đó. Nay đọcerror.git.conflicts[].file, và thêm 5 test chạy git thật choWorktreeService(trước đó không có test nào).- TypeScript 5.9 → 7.0.2 (bản native). Hai chỗ phải sửa:
opencode-hivethiếurootDir(TS 7 báoTS5011thay vì đoán), và TS 7 không tự nạp@types/*nữa nên cả hai tsconfig khai"types": ["node", "bun"]. - Nâng
@ast-grep/napi0.51,zod4.6,@colbymchenry/codegraph1.6.2,@types/node26,@types/bun1.4.4,@opencode/plugin/@opencode/client2.1.4,simple-git4.0.2.
Kiểm chứng
opencode-hive: 674 pass / 0 fail;hive-core: 155 pass / 0 fail;tsc --noEmitsạch dưới TS 7; build ok.- Chạy thật trên OpenCode 2.1.4 với bản build cục bộ:
hive_skilltrả đúng thân cả hai skill mới; mục Operating Behaviours có trong system prompt; và sau khi bỏ auto-load, khi được hỏi trực tiếp,zettatrả lời thânparallel-explorationkhông còn trong prompt — chỉ còn tên trong tham chiếuhive_skill(...).
Nâng cấp
npm i -g @hung319/opencode-hive@2.2.0
opencode plugin updateRồi khởi động lại OpenCode: service đang chạy giữ bản cũ trong bộ nhớ cho tới khi restart.
Không cần sửa agent_hive.json. Hai skill mới có mặt trong available_skills và tự nạp theo đúng trigger; nếu muốn tắt thì thêm tên vào disableSkills.