github / github/copilot-cli

Add internal interactive questioning tool 'usr_ask'

Đang mở
#4,557 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

area:input-keyboard area:tools
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

Describe the feature or problem you'd like to solve

In older versions like v1.0.6, ask_user worked nicely to display interactive multiple-choice menus in the terminal.

However, in current releases (tested on v1.0.80), the agent no longer triggers interactive question prompts, even when explicitly asked to offer choices or clarify next steps. Instead, it just outputs plain text lists and ends the turn.

Proposed solution

Restore and polish the built-in ask_user (or usr_ask) tool so the CLI can reliably render interactive selection prompts:

  • Simple arrow-key navigation (/ + Enter) for choices.
  • Single and multi-select support.
  • Built-in "Other / custom text" option so users can write in answers.
  • Ensure the model reliably triggers it when ambiguity arises instead of falling back to raw text.
  • Proper handling in autonomous/YOLO/allow-all modes so interactive prompts don't unexpectedly block unattended or automated workflows (as addressed in #2109).
Example prompts or workflows
  • Choosing frameworks or tools (e.g. asking which test runner to install with selectable items).
  • Confirming dangerous operations before execution.
  • Clarifying requirements during complex tasks without ending the session early.
Additional context

Looking at the v1.0.6 release (app.js), ask_user was defined with { question, choices, allow_freeform } and rendered via registerPrompt. On v1.0.80 this seems broken or dormant.

#2109 is especially relevant here, as it lays out solid proposals to handle ask_user gracefully across ACP and automated modes without breaking YOLO / unattended execution.

Related issues: #2109, #3323, #4050, #4260, #4450, #3722, #2067, #2929, #1898.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách so sánh phần triển khai ask_user trong app.js của v1.0.6 và cách sử dụng registerPrompt của nó với CLI hiện tại, sau đó đọc các đề xuất trong #2109. Truy vết nơi usr_ask hoặc ask_user sẽ được đăng ký và kích hoạt. Được xem là hoàn tất khi có các prompt tương tác cho lựa chọn đơn và nhiều, câu trả lời tự do, cùng hành vi an toàn trong các chế độ autonomous, YOLO, ACP và unattended.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
shell
Lĩnh vực
cli
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
32/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.