- acp
- agent
- ai
- copilot
- assistant
-
Made for Pulsar!
This package was written specifically for Pulsar and did not exist in the Atom package repository.
Pulsar ACP Agent
Pulsar package for using Agent Client Protocol (ACP)-compatible coding agents inside the editor.
Much of this package was written by AI coding agents, with human review.
Currently tested with GitHub Copilot CLI and Mistral Vibe.
Install
In Pulsar, open Settings → Install, search for pulsar-acp-agent, and click
Install. Or from a terminal:
ppm install pulsar-acp-agent
Package page: https://web.pulsar-edit.dev/packages/pulsar-acp-agent
Configure Copilot CLI
Install Copilot CLI and authenticate once:
copilot login
Defaults:
- command:
copilot --acp --stdio
If Pulsar cannot find copilot, set the full command line with an absolute
path (keep the arguments) in:
Settings -> Packages -> pulsar-acp-agent -> Agent command
On Linux this may be something like:
/home/you/.local/bin/copilot --acp --stdio
Wrap a path that contains spaces in double quotes, e.g.
"C:\Program Files\agent\agent.exe" --acp --stdio.
Use
- Toggle panel:
Ctrl+Alt+A - Command palette:
Pulsar ACP Agent: Toggle - Send:
Enter - Newline:
Shift+Enter - Stop: cancel current turn
- Restart: kill and restart the agent process
The session working directory defaults to the first open project folder. Multi-root workspaces are not supported yet: only the configured working directory, or the first open project folder when no directory is configured, is sent to the agent and allowed for file access.
Develop
git clone https://github.com/hovancik/pulsar-acp-agent.git
cd pulsar-acp-agent
npm install
ppm link # symlink the checkout into Pulsar
npm run typecheck
npm run build
npm run watch
Pulsar loads lib/main.js. Rebuild after editing src/, then reload Pulsar.
Architecture
src/main.tsregisters commands, opener, and dock item.src/agent-view.tsrenders the panel UI.src/agent-session.tsmanages the ACP session via@agentclientprotocol/sdk.
The SDK is ESM-only, so esbuild bundles it and zod into lib/main.js.
Capabilities
| Capability | Status |
|---|---|
fs.readTextFile / fs.writeTextFile |
yes, restricted to the session working directory |
session/request_permission |
yes |
terminal |
no |
authenticate |
yes, uses the first auth method advertised by the agent |
Security
The agent runs as a separate command-line process that Pulsar launches with your user account. Pulsar does not sandbox it, so it has the same access to your machine as any program you run yourself.
The limits below only constrain the requests an agent makes through Pulsar over ACP. They do not restrict what the agent does in its own process:
fs/read_text_fileandfs/write_text_fileare served only when the target path resolves inside the session working directory; the agent reads and writes there without a per-action prompt.- Writes to open files with unsaved changes are refused.
- The ACP
terminalcapability is declined, so the agent cannot run commands through Pulsar. Most agents still ship their own shell and run commands directly in their own process, outside Pulsar's view.
These are guard rails for a cooperating agent, not a security boundary: a malicious agent can read or write any file your account can, or run any command, without going through Pulsar at all. Use Pulsar ACP Agent only with agents you trust; for stronger isolation, run it inside a container or VM.