Expose a backend-only driver for external OpenCode clients
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ó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- api, backend, testing-qa
Hướng nghiên cứu
Issue này nêu OpenCodeDriver.use() và đường dẫn khởi chạy thủ công chỉ dành cho server; hãy bắt đầu bằng cách lần theo các điểm vào vòng đời đó. So sánh những gì hiện đang được cung cấp cho TUI, sau đó xác định tiêu chí hoàn tất dựa trên chi tiết kết nối của service và client, các controller được giữ lại, settlement, việc dọn dẹp theo scope, cùng các cơ chế điều khiển restart và network được yêu cầu.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I'm looking at using opencode-drive for deterministic desktop E2E tests.
My current setup starts:
- An isolated real OpenCode service
- A small scripted OpenAI-compatible LLM
- A desktop client
- Playwright connected over CDP
Drive would be a much better replacement for the scripted LLM and service lifecycle. The native simulation transport, tool control, settlement checks, disconnects, and network fault injection would all be useful.
The main issue is that the public driver API is currently coupled to OpenCode's TUI. OpenCodeDriver.use() launches a primary TUI, while a manual script can launch only the server but doesn't expose connection details intended for launching another frontend process.
A backend-only API for this use case would be great. Something along these lines:
OpenCodeBackend.use(options, ({ opencode, llm, tools, service, artifacts }) =>
Effect.gen(function* () {
// Launch a desktop or web client against the service.
}),
)
Alternatively, an option such as OpenCodeDriver.use({ tui: false }, ...) could work.
The important parts for me would be:
- Prepare the isolated project, config, home, and service registration
- Launch OpenCode with the simulation backend, without launching a TUI
- Expose the generated SDK client
- Expose enough connection information or environment variables for an external frontend
- Keep the current LLM and tool controllers
- Keep settlement and scoped cleanup
- Ideally retain server restart and network controls
The only blocker is integrating its backend lifecycle without also taking ownership of the frontend.
I'm willing to open a PR adding this soon if the proposed direction makes sense.
- Ngôn ngữ chính
- TypeScript
- Star
- 32
- Fork
- 4
- Merge trung bình
- 10 phút
- Pull request đã merge (30 ngày)
- 13
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của anomalyco/opencode-drive
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
anomalyco/opencode-drive#102 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
anomalyco/opencode-drive#104 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 50/100
anomalyco/opencode-drive#103 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
anomalyco/opencode-drive#97 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
anomalyco/opencode-drive#86 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của anomalyco/opencode-drive
Issue tương tự
-
bug via-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
pingdotgg/t3code#14452 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
solana-foundation/program-examples#747 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 9 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
remotion-dev/remotion#11847 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
openwatersio/slackwater#355 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
melgarafael/DeskcommCRM#1998 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày