Move the embedded desktop tools to the Swift stack (native2) when desktop-tools is ready
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- bun, node.js, swift, typescript
Direção de pesquisa
Read the root package.json pin and the desktop integration points in apps/desktop/src/native.ts, apps/desktop/scripts/helper.ts, apps/host/src/desktop.ts, and packages/channel/src/desktop.ts. First check desktop-tools#171, #172, and #173, then run the listed native2 checks: the Save sheet flow, desktop_open validation, and any approval prompt and pause flow Ace uses. Done means the dependency is ready and those checks pass before switching Ace to native2.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
desktop-tools is replacing its Node client and the vendored Peekaboo with a single Swift codebase, `native2` (githubnext/desktop-tools#143). Ace pins desktop-tools to a commit, `c3e08eb` in the root `package.json` catalog. Keep that pin until the desktop-tools issues below are closed. Pins at or after desktop-tools v0.16.1 still build and run the existing stack by default, so bumping for other fixes is safe as long as nothing below is turned on.
What changes for Ace
Ace touches desktop-tools in four places:
- `apps/desktop/src/native.ts` (C ABI through `bun:ffi`): no change. `native2`'s `libDesktopTools.dylib` exports the same functions with the same arguments, including `desktop_tools_start(socket, client identifier)`.
- `apps/desktop/scripts/helper.ts`: pass `--native2` to `dist/build.js`, then copy the same two outputs (`libDesktopTools.dylib`, and `desktop-tools-client` as `ace-desktop-client`). `sign.ts` signs them as today. The host serves only that client identifier from Ace's team.
- `apps/host/src/desktop.ts`: `createDesktop({ client, socket, wire: 2 })`.
- `packages/channel/src/desktop.ts`: `/protocol` and `/tools` imports stay the same.
Waiting on desktop-tools
- githubnext/desktop-tools#171: ship `native2` in the package, and build it without Peekaboo.
- githubnext/desktop-tools#172: a persistent client, so `createDesktop` keeps one connection open. Without it, Ace pays a client spawn per call, as today. Not a blocker, but it's where the speed gain is: on desktop-tools' bench, `desktop_windows` takes 115 ms on the shipped stack and 6 ms on native2's MCP server.
- githubnext/desktop-tools#173: `/tools` generated from `native2`'s contract. Until then, Ace's model reads `desktop_launch` and `desktop_open` as foreground with no `activate`, while native2 launches in the background.
Checks before switching
- The lane note on `package.json`: insert into Save sheet fields (#390, desktop-tools d1c4304). Run that flow live on native2.
- The lane note on `packages/channel/src/desktop.ts`: `desktop_open` keeps the file-URL query/fragment sentence. It's still present.
- #427's desktop tool validation, rerun on native2.
- The approval prompt and pause, if Ace uses them. They haven't been run end to end through an embedding app on native2.
- Linguagem predominante
- TypeScript
- Estrelas
- 1
- Forks
- 0
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de githubnext/ace2
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
githubnext/ace2#530 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
githubnext/ace2#437 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
githubnext/ace2#529 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
githubnext/ace2#528 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
githubnext/ace2#511 ·
Todas as issues de githubnext/ace2
Issues semelhantes
-
Edit: Tele Posadas HDAbertacheck:passed streams:edit
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
area:mcp bug has repro platform:vscode regression
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
anthropics/claude-code#103970 ·
Mantenedores costumam responder em até 1 dia
-
skillopt: success-reflect prompt omits the edit schema, so every success-only edit is droppedAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Workspace secrets/constants containing "$" are corrupted when resolved in data source optionsAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
sdk-typescript: unquoted COPY globs in shell form are silently dropped from the image build contextAbertabug javascript
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia