mirror of
https://github.com/paperclipai/paperclip-docs.git
synced 2026-11-07 06:16:07 -10:00
Release docs for paperclip v2026.618.0
Promote nightly drafts (v2026.609.0 → v2026.618.0) to main and fill coverage gaps. New surfaces authored: - Novita Agent Sandbox provider (driver: novita) — sandbox-providers.md - paperclip-board bundled skill — skills.md (skills/ went 5 → 6; "four" → "five") Promoted nightly drafts (all ⊆ v2026.618.0, no post-tag leakage): - adapters: codex/gemini/opencode/pi/openclaw-gateway, sandbox-providers (Kubernetes) - api/agents, plugins/sdk, environment-variables (TRUST_PROXY/OTEL) - day-to-day guides: artifacts, issues, routines Stamped paperclip_version: v2026.618.0 on all 13 touched pages. Regenerated SCREENSHOTS_PENDING.md (90/276 stale — flag only, separate capture PR). Deferred: experimental conference-room board-chat (flag-gated). sync:check clean (no broken links); drift = 5 known server-env false positives. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
1 parent
1deeca2f7a
commit
2368a2be5f
15 files changed
+161
-33
No files matched your search
+5
-7
@@ -1,9 +1,7 @@
|
||||
{
|
||||
"branch_mode": "nightly",
|
||||
"base_release_tag": "v2026.609.0",
|
||||
"base_release_sha": "a0f7d3dabaf5308ade45cae0c64ebd133948dca2",
|
||||
"last_seen_parent_sha": "1b89a8e3b86a68b1eb59c62863991fc50cb15fd1",
|
||||
"last_applied_manifest_hash": "18c709087796eac108c550639c7f5c44697aa932b7872673893311ef40a94ce1",
|
||||
"last_run_at": "2026-06-17T08:57:00Z",
|
||||
"last_run_outcome": "no-changes"
|
||||
"branch_mode": "release",
|
||||
"base_release_tag": "v2026.618.0",
|
||||
"base_release_sha": "83a293b16155efed5aa002071c4f4b7007add400",
|
||||
"last_seen_parent_sha": "83a293b16155efed5aa002071c4f4b7007add400",
|
||||
"last_run_outcome": "applied"
|
||||
}
|
||||
+96
-17
@@ -1,21 +1,100 @@
|
||||
# Screenshots pending refresh
|
||||
# Screenshots Pending
|
||||
|
||||
Window: `v2026.609.0` → parent `master` HEAD (`1b89a8e`), nightly run 2026-06-17. (No UI sources changed since the prior run — the only new upstream commit was a Dockerfile fix; the stale set below is unchanged.)
|
||||
Stale screenshots flagged by the **v2026.618.0** release sync (window `v2026.609.0` → `v2026.618.0`).
|
||||
|
||||
Stale entries are those whose `depends_on` UI source changed within this cumulative window. 62 of 276 registry entries are affected.
|
||||
Capture is a separate, human-reviewed PR — these are **not** auto-pushed. Run `npm run screenshots:refresh` against a local instance to recapture the flagged entries (light + dark @2x), then open a PR with the resulting PNGs.
|
||||
|
||||
Refresh with `npm run screenshots:refresh` (captures stale entries into a review PR — never auto-pushed).
|
||||
**90 of 276 registry entries are stale.**
|
||||
|
||||
## Stale by changed UI source
|
||||
|
||||
- `ui/src/components/AgentConfigForm.tsx` → agent-config captures (20 entries, light + dark)
|
||||
- `ui/src/pages/CompanySkills.tsx` → company skills captures (12 entries) — note the Skills Store foundation work is in flight; the discovery/detail surfaces are still storybook-only and not yet shipped as pages.
|
||||
- `ui/src/pages/IssueDetail.tsx` → issue detail/chat/activity/sidebar captures (10 entries)
|
||||
- `ui/src/pages/RoutineDetail.tsx` → routine detail / cron picker / run-history (6 entries)
|
||||
- `ui/src/pages/NewAgent.tsx` → new-agent flow (4 entries)
|
||||
- `ui/src/components/OnboardingWizard.tsx` → onboarding wizard (4 entries) — onboarding is mid-redesign (NUX variants / `OnboardingChat`, A/B-gated); capture after the variant settles.
|
||||
- `ui/src/components/SidebarCompanyMenu.tsx` → sidebar company menu (4 entries)
|
||||
- `ui/src/pages/Routines.tsx` → routines list (2 entries)
|
||||
- `ui/src/pages/InstanceExperimentalSettings.tsx` → experimental settings (2 entries) — now hosts the Conference Room Chat toggle (experimental, flag-gated).
|
||||
|
||||
> Note: several of these UI surfaces changed as part of experimental / feature-flagged work (dark-mode theming, onboarding NUX variants, Conference Room Chat). Hold recaptures of the experimental surfaces until the flags settle so the live docs don't show transient states.
|
||||
| Screenshot | Changed dependency paths |
|
||||
|---|---|
|
||||
| `dark/agents/adapter-type-dropdown.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/agent-detail-idle.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/agent-detail-run-history.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/agent-status-running.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/budget-and-heartbeat-fields.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/budget.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/claude-local-config-filled.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/codex-local-config.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/configuration.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/dashboard.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/heartbeat-toggle-disabled.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/heartbeat-toggle-enabled.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/http-adapter-config.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/instructions.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/new-agent-name-role.png` | `ui/src/pages/NewAgent.tsx` |
|
||||
| `dark/agents/new-agent-reports-to-field.png` | `ui/src/pages/NewAgent.tsx` |
|
||||
| `dark/agents/run-history-in-progress.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/run-transcript-view.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/runs.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/skills.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/agents/test-environment-fail.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/agents/test-environment-success.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/costs/agent-budget-field.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `dark/issues/detail-activity.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `dark/issues/detail-chat.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `dark/issues/detail-sidebar.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `dark/issues/list.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `dark/onboarding/goal-field.png` | `ui/src/components/OnboardingWizard.tsx` |
|
||||
| `dark/onboarding/new-company-modal-empty.png` | `ui/src/components/OnboardingWizard.tsx`, `ui/src/components/SidebarCompanyMenu.tsx` |
|
||||
| `dark/onboarding/sidebar-new-company-button.png` | `ui/src/components/SidebarCompanyMenu.tsx` |
|
||||
| `dark/org/reassign.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `dark/org/skills-list.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `dark/plugins/install.png` | `ui/src/pages/PluginManager.tsx` |
|
||||
| `dark/plugins/list.png` | `ui/src/pages/PluginManager.tsx` |
|
||||
| `dark/routines/cron-picker.png` | `ui/src/pages/RoutineDetail.tsx` |
|
||||
| `dark/routines/detail.png` | `ui/src/pages/RoutineDetail.tsx` |
|
||||
| `dark/routines/list.png` | `ui/src/pages/Routines.tsx` |
|
||||
| `dark/routines/run-history.png` | `ui/src/pages/RoutineDetail.tsx` |
|
||||
| `dark/settings/experimental.png` | `ui/src/pages/InstanceExperimentalSettings.tsx` |
|
||||
| `dark/skills/add-skill-dialog-confirm.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `dark/skills/add-skill-dialog.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `dark/skills/assign-to-agent.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `dark/skills/file-inventory.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `dark/skills/list.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `dark/tasks/task-detail-with-comments.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `light/agents/adapter-type-dropdown.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/agent-detail-idle.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/agent-detail-run-history.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/agent-status-running.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/budget-and-heartbeat-fields.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/budget.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/claude-local-config-filled.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/codex-local-config.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/configuration.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/dashboard.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/heartbeat-toggle-disabled.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/heartbeat-toggle-enabled.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/http-adapter-config.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/instructions.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/new-agent-name-role.png` | `ui/src/pages/NewAgent.tsx` |
|
||||
| `light/agents/new-agent-reports-to-field.png` | `ui/src/pages/NewAgent.tsx` |
|
||||
| `light/agents/run-history-in-progress.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/run-transcript-view.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/runs.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/skills.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/agents/test-environment-fail.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/agents/test-environment-success.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/costs/agent-budget-field.png` | `ui/src/pages/AgentDetail.tsx` |
|
||||
| `light/issues/detail-activity.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `light/issues/detail-chat.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `light/issues/detail-sidebar.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `light/issues/list.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
| `light/onboarding/goal-field.png` | `ui/src/components/OnboardingWizard.tsx` |
|
||||
| `light/onboarding/new-company-modal-empty.png` | `ui/src/components/OnboardingWizard.tsx`, `ui/src/components/SidebarCompanyMenu.tsx` |
|
||||
| `light/onboarding/sidebar-new-company-button.png` | `ui/src/components/SidebarCompanyMenu.tsx` |
|
||||
| `light/org/reassign.png` | `ui/src/components/AgentConfigForm.tsx` |
|
||||
| `light/org/skills-list.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `light/plugins/install.png` | `ui/src/pages/PluginManager.tsx` |
|
||||
| `light/plugins/list.png` | `ui/src/pages/PluginManager.tsx` |
|
||||
| `light/routines/cron-picker.png` | `ui/src/pages/RoutineDetail.tsx` |
|
||||
| `light/routines/detail.png` | `ui/src/pages/RoutineDetail.tsx` |
|
||||
| `light/routines/list.png` | `ui/src/pages/Routines.tsx` |
|
||||
| `light/routines/run-history.png` | `ui/src/pages/RoutineDetail.tsx` |
|
||||
| `light/settings/experimental.png` | `ui/src/pages/InstanceExperimentalSettings.tsx` |
|
||||
| `light/skills/add-skill-dialog-confirm.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `light/skills/add-skill-dialog.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `light/skills/assign-to-agent.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `light/skills/file-inventory.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `light/skills/list.png` | `ui/src/pages/CompanySkills.tsx` |
|
||||
| `light/tasks/task-detail-with-comments.png` | `ui/src/pages/IssueDetail.tsx` |
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.609.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Artifacts
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.609.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Issues
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Heartbeats & Routines
|
||||
|
||||
When you first hire a few agents, it's tempting to give each one a timer — "wake up every few minutes and see if there's anything to do." It feels proactive. In practice, it's the fastest way to end up with a sidebar full of paused agents, surprise token bills, and a dashboard you have to fight with just to keep things quiet.
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Codex Local
|
||||
|
||||
`codex_local` runs OpenAI's Codex CLI on the same machine as Paperclip. Use it when you want a local coding agent with persistent session state, managed `CODEX_HOME`, and Paperclip skills injected into the Codex skills directory.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.609.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Gemini Local
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# OpenClaw Gateway
|
||||
|
||||
`openclaw_gateway` connects Paperclip to an OpenClaw instance over the OpenClaw Gateway WebSocket protocol. Use it when OpenClaw is running on another machine, inside Docker, or behind a shared gateway and you want Paperclip agents to delegate work to it.
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# OpenCode Local
|
||||
|
||||
`opencode_local` runs OpenCode on the same machine as Paperclip. Use it when you want provider/model routing in OpenCode's `provider/model` format and session resume across heartbeats.
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Pi Local
|
||||
|
||||
`pi_local` runs the Pi coding agent CLI on the same machine as Paperclip. Use it when you want Pi's built-in tool set (read, bash, edit, write, grep, find, ls), provider/model routing, and session resume across heartbeats.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.517.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Sandbox Providers
|
||||
@@ -85,6 +85,36 @@ First-party sandbox provider that provisions [Modal](https://modal.com/) sandbox
|
||||
|
||||
---
|
||||
|
||||
## Novita (`driver: "novita"`)
|
||||
|
||||
Package: `@paperclipai/plugin-novita-sandbox` (alpha, currently `v0.1.0`).
|
||||
|
||||
Runs each agent on a [Novita](https://novita.ai/) Agent Sandbox instance. The plugin installs like a standalone npm package — open the [Plugins](../../administration/plugins.md) page and install it by name:
|
||||
|
||||
```text
|
||||
@paperclipai/plugin-novita-sandbox
|
||||
```
|
||||
|
||||
The host runs `npm install` into its managed plugin directory at install time, so the provider's own dependencies (such as `novita-sandbox`) are pulled in for you — there's nothing extra to add to your Paperclip instance.
|
||||
|
||||
Configure Novita from **Company Settings → Environments**, not from the plugin's instance-settings page. Put the Novita API key on the sandbox environment itself; when you save an environment, Paperclip stores pasted keys as company secrets. `NOVITA_API_KEY` remains an optional host-level fallback when an environment omits the key.
|
||||
|
||||
The driver's `configSchema` exposes:
|
||||
|
||||
| Field | Default | Purpose |
|
||||
|---|---|---|
|
||||
| `apiKey` | (none) | Environment-specific Novita API key — a pasted key or an existing Paperclip secret reference. Falls back to `NOVITA_API_KEY` when omitted. |
|
||||
| `domain` | (SDK default) | Optional Novita API domain override. |
|
||||
| `template` | (SDK default) | Novita sandbox template ID or name. Leave blank to use the SDK's default base template. |
|
||||
| `requestedCwd` | `/home/user/paperclip-workspace` | Workspace directory created inside the sandbox lease. |
|
||||
| `timeoutMs` | `300000` | Sandbox lifetime and default per-command timeout, in milliseconds. |
|
||||
| `requestTimeoutMs` | `30000` | HTTP/RPC request timeout for Novita SDK calls, in milliseconds. |
|
||||
| `secure` | `true` | Use secure connections when the Novita SDK supports them. |
|
||||
| `autoPause` | `false` | Enable Novita's sandbox auto-pause when the selected template supports it. |
|
||||
| `reuseLease` | `false` | Pause and later resume the sandbox across Paperclip runs instead of killing it on release. |
|
||||
|
||||
---
|
||||
|
||||
## Kubernetes (`driver: "kubernetes"`)
|
||||
|
||||
Package: `@paperclipai/plugin-kubernetes` (alpha, currently `v0.1.0`).
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.525.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Agents
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.512.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Environment Variables
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.525.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Plugin SDK
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
paperclip_version: v2026.609.0
|
||||
paperclip_version: v2026.618.0
|
||||
---
|
||||
|
||||
# Skills Reference
|
||||
@@ -90,6 +90,7 @@ When importing from a project workspace where `SKILL.md` lives at the repo root
|
||||
Bundled with the Paperclip server (`skills/` next to the server):
|
||||
|
||||
- `paperclip` — base heartbeat procedure.
|
||||
- `paperclip-board` — manage a company as a board member via chat: onboarding (company creation, CEO setup, hiring plans), agent management, approvals, task monitoring, cost oversight, and work-product review. Set up by `paperclipai board setup`.
|
||||
- `paperclip-create-agent` — governance-aware hire workflow.
|
||||
- `paperclip-create-plugin` — plugin scaffold flow.
|
||||
- `paperclip-dev` — operating a local Paperclip instance.
|
||||
@@ -189,7 +190,7 @@ The scan is non-destructive: it returns `imported`, `updated`, `skipped`, `confl
|
||||
|
||||
Editable, Paperclip-managed skills are written to `<paperclipInstanceRoot>/skills/{companyId}/<slug>/`. Read-only sources (GitHub, skills.sh, URL) keep the `markdown` body in the database row and only materialise into a temporary location when an adapter needs the files on disk.
|
||||
|
||||
Bundled skills (the four `paperclip-*` skills shipped with the server) are re-imported from the server's `skills/` directory on every list call (`ensureBundledSkills`). They cannot be edited or deleted — installing the same Paperclip release will recreate them.
|
||||
Bundled skills (the five `paperclip-*` skills shipped with the server) are re-imported from the server's `skills/` directory on every list call (`ensureBundledSkills`). They cannot be edited or deleted — installing the same Paperclip release will recreate them.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user