Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

ACP: slash commands execute but never stream their output

Đang mở Phù hợp với người mới
#54,371 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

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

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
72/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
cli

Hướng nghiên cứu

Bắt đầu bằng cách đọc packages/cli/src/acp/turn.ts, đặc biệt là luồng prompt lệnh quanh submit và Fiber.join(events). Theo dõi cách đăng ký nhận sự kiện theo từng lượt được giải phóng và so sánh với luồng prompt thông thường. Tái hiện bằng một lệnh slash ACP; hoàn thành khi đầu ra của lệnh và mọi cập nhật quyền được gửi qua session/update trước khi lượt kết thúc.

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

Mô tả

reproduced

Description

User-visible symptoms

Running as an ACP agent (in JetBrains Rider 2026.2): slash commands (built-in like /init or custom) execute, but their output is not visible in the chat.

Plain prompts in the same session work normally.
Another ACP agent in the same IDE does show its slash-command output, so the client's rendering path is fine.

At the protocol level

session/prompt replies end_turn immediately; no session/update follows for that turn.

Example

Rider's ACP log (llm.agent.extended.logging=true):

20:44:23,425  → session/prompt id=5  {"prompt":[{"type":"text","text":"/my-test"}]}
20:44:23,457  ← {"stopReason":"end_turn","_meta":{}}      ← 32 ms
              … no ACP traffic for 4 m 16 s …
20:48:39,687  → session/set_config_option id=6

The command did run (it produced its effect).
OpenCode's session_message table shows that the turn ran to completion after it was closed on wire:

seq 20  user       20:44:23.531  <command body>   ← AFTER end_turn
seq 21  assistant  20:44:24.281 → completed 20:44:32.895  <agent reply>
...
seq 28  idle       20:44:32.901  outcome=succeeded

my-test was advertised in available_commands_update so this is the recognized-command path (not the unknown-/ fallthrough).


OpenCode version

2.0.26


Steps to reproduce

  1. Install OpenCode as an ACP agent in Rider.
    I used a custom agent path.
    1.1. Install OpenCode independently from Rider.
    1.2. Add OpenCode as a custom agent:
  "default_mcp_settings": {},
  "agent_servers": {
    "OpenCode": {
      "command": "full/path/to/opencode.exe",
      "args": ["acp"]
    }
  }
}
  1. Run any slash command.

Operating System

Windows 10


Suspected cause

packages/cli/src/acp/turn.ts:

yield* submit(attached, prompt)
if (prompt.command) return "succeeded" as const   // ←
return yield* Fiber.join(events)

For command prompts the turn returns succeeded before Fiber.join(events), and then the release step closes the per-turn event subscription, so no session/update (and no permission.asked) can be emitted.

Possible fix

PR #49208 (open; probably needs rebase onto current v2).

Ngôn ngữ chính
TypeScript
Star
213k
Fork
28.4k
Merge trung bình
8 giờ 51 phút
Pull request đã merge (30 ngày)
289

Chuẩn bị môi trường

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.

Issue khác của anomalyco/opencode

Tất cả issue của anomalyco/opencode

Issue tương tự

Thêm issue về TypeScript

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.