Tools
Paperclip Adapter For Opencalw
OpenClaw plugin: adds a paperclip.* tool family so OC agents can comment, close, and create Paperclip issues without raw fetch boilerplate. Pairs with paperclip-openclaw-adapter.
Install
npm install
pnpm
README
# paperclip_adapter_for_opencalw
An OpenClaw plugin that gives agents a `paperclip` tool โ comment on issues, change status, open follow-ups in Paperclip without raw fetch boilerplate.
Pairs with the Paperclip-side bridge: [opencalw_adapter_for_paperclip](https://github.com/NazmulGit/paperclip-openclaw-adapter).
## Status
**v0.1.0 โ Scaffold.** Manifest, entry point, tool stub, and skill docs are in place. Not yet installed or tested against a running OpenClaw instance. Treat this as the V2 foundation for OC-initiated PC operations.
If you only want the Paperclip โ OpenClaw bridge to work end-to-end (issue assignment โ OC agent โ reply + status), you do **not** need this plugin โ the Paperclip-side bridge already handles it by inlining per-agent API keys into wake messages. This plugin is for when you want OC agents to use a typed tool instead of raw fetch.
## What it adds
A `paperclip` tool with four operations:
| op | description |
|---|---|
| `ping` | Probe Paperclip reachability (`GET /api/agents/me`) |
| `commentIssue` | Post a comment on an issue |
| `setIssueStatus` | Change status; optionally include a comment |
| `createIssue` | Open a new issue in a company |
Plus a skill (`skills/paperclip/SKILL.md`) that tells OC agents when and how to call it.
## Configuration
Set in OpenClaw's plugin config (`openclaw plugins inspect paperclip-bridge --runtime`):
| field | required | notes |
|---|---|---|
| `baseUrl` | yes | Paperclip API base. Default `http://127.0.0.1:3100` |
| `apiKey` | recommended | Bearer token. Get one from the Paperclip-side bridge's "Bootstrap PC credentials" button โ that mints per-agent keys. Paste the value for the agent this OpenClaw instance represents. |
| `defaultCompanyId` | optional | Used by `createIssue` when no `companyId` is passed |
| `defaultAgentId` | optional | Used by `createIssue` when no `assigneeAgentId` is passed |
## Build
```bash
pnpm install
pnpm build # tsc -> dist/index.js
```
## Install (once OC accepts loose plugins via CLI)
```bash
openclaw plugins install ./
openclaw plugins enable paperclip-bridge
openclaw plugins inspect paperclip-bridge --runtime # verify config
```
## Why this exists vs. the existing bridge
The Paperclip-side plugin already makes the round-trip work: PC creates an issue โ bridged OC agent processes it โ posts a comment + closes via PC API. That works because the bridge inlines each agent's API key into the wake message, and the agent uses raw fetch.
This OC-side plugin is the cleaner alternative: instead of every agent knowing the raw `/api/issues/.../comments` URL, it gets a typed `paperclip` tool the agent calls by name. Useful for:
- OpenClaw sessions that *aren't* PC-driven but still want to report into PC
- Agent code that's more maintainable than fetch boilerplate
- Future channel-plugin work (PC issues as OC channels)
## Files
```
.
โโโ openclaw.plugin.json # manifest: id, configSchema, contracts.tools
โโโ package.json
โโโ tsconfig.json
โโโ src/
โ โโโ index.ts # entry: re-exports register()
โ โโโ plugin.ts # tool implementation
โโโ skills/
โโโ paperclip/
โโโ SKILL.md # agent-facing usage docs
โโโ manifest.json
```
## V2 roadmap
- Real install + test against a local OpenClaw instance
- Channel-plugin variant: surface PC issues as OC chat channels (`/paperclip <issueId>` to join)
- OCโPC push: hook session lifecycle to auto-create PC issues for long-running OC work
## Related
- **Paperclip side:** https://github.com/NazmulGit/paperclip-openclaw-adapter
- **OpenClaw upstream:** https://github.com/openclaw/openclaw
- **Paperclip upstream:** https://github.com/paperclipai/paperclip
## License
MIT โ see [LICENSE](./LICENSE).
tools
Comments
Sign in to leave a comment