feat(app): add ByteDance TRAE CLI to the ACP provider catalog (#1831)

* feat(app): add ByteDance TRAE CLI to the ACP provider catalog

Adds the official ByteDance TRAE CLI (traecli) to the in-app ACP provider
catalog. traecli is ACP-native, so Paseo drives it over the standard ACP
transport via `traecli acp serve`, reusing the generic ACP client exactly
like Kiro, Qoder, Cursor, and Gemini.

- catalog: traecli entry (command ["traecli","acp","serve"], manual install)
- icon: vendored TRAE monogram SVG + registered icon name
- docs: supported-providers list + CHANGELOG
- tests: focused command + icon-name assertions

Verified against the real traecli ACP surface in multica-ai/multica#4724.

* feat(app): use the real TRAE app logo for the traecli provider icon

* docs: drop TRAE CLI changelog entry

---------

Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
This commit is contained in:
Xisheng Parker Zhao
2026-07-02 04:50:15 +08:00
committed by GitHub
parent 3708eddbcd
commit 5a0ea3385e
6 changed files with 15 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -18,6 +18,7 @@ describe("resolveProviderIconName", () => {
it("returns the catalog identifier for ACP catalog provider ids that ship an icon", () => {
expect(resolveProviderIconName("amp-acp")).toEqual({ kind: "catalog", id: "amp-acp" });
expect(resolveProviderIconName("gemini")).toEqual({ kind: "catalog", id: "gemini" });
expect(resolveProviderIconName("traecli")).toEqual({ kind: "catalog", id: "traecli" });
});
it("falls back to the bot icon for unknown custom providers", () => {

View File

@@ -335,6 +335,15 @@ const CATALOG_DATA = [
installLink: "https://stakpak.dev/",
command: ["stakpak", "acp"],
},
{
id: "traecli",
title: "TRAE CLI",
description: "ByteDance's official TRAE coding agent with native ACP support",
version: "manual",
iconId: "traecli",
installLink: "https://docs.trae.cn/cli",
command: ["traecli", "acp", "serve"],
},
{
id: "vtcode",
title: "VT Code",

View File

@@ -43,6 +43,7 @@ describe("ACP provider catalog", () => {
expect(findProvider("junie").command).toEqual(["junie", "--acp", "true"]);
expect(findProvider("kiro").command).toEqual(["kiro-cli", "acp"]);
expect(findProvider("poolside").command).toEqual(["pool", "acp"]);
expect(findProvider("traecli").command).toEqual(["traecli", "acp", "serve"]);
});
it("maps a catalog entry to the daemon provider config patch", () => {

View File

@@ -41,6 +41,7 @@ export const ACP_PROVIDER_ICON_NAMES = [
"qwen-code",
"sigit",
"stakpak",
"traecli",
"vtcode",
];

View File

@@ -56,6 +56,7 @@ Pick any of these from the in-app provider catalog. Each entry is a one-click in
- [Qwen Code](https://qwenlm.github.io/qwen-code-docs/en/users/overview), Alibaba's Qwen coding assistant.
- [siGit Code](https://github.com/getsigit/sigit), local-first coding agent with optional on-device LLM.
- [Stakpak](https://stakpak.dev/), Rust-based DevOps agent.
- [TRAE CLI](https://docs.trae.cn/cli), ByteDance's official TRAE coding agent.
- [VT Code](https://github.com/vinhnx/VTCode/blob/main/docs/guides/zed-acp.md), open-source multi-provider coding agent.
The in-app catalog is the canonical, version-pinned source. Anything not listed here can still be added manually, see [Custom providers](/docs/custom-providers).