← 返回
效率工具 中文

Proof

Web-first skill for working with Proof documents via proofeditor.ai. Use when a Proof URL is shared, when creating collaborative docs in Proof, or when the u...
通过 proofeditor.ai 处理 Proof 文档的 Web 优先技能。当分享 Proof URL、在 Proof 中创建协作文档或用户需要操作 Proof 时使用。
dshipper
效率工具 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 506
下载
💾 4
安装
1
版本
#latest

概述

Proof

Proof is a collaborative markdown editor for agents and humans. Use the hosted web API at https://www.proofeditor.ai.

Every write must include by: "ai:" so Proof can track who wrote what.

This skill is web-only. Do not use a local Mac app bridge or localhost:9847 from this skill.

Default Behavior

If the user shares a Proof URL:

  • Join the doc immediately.
  • Show presence right away.
  • Read the current state before editing.
  • Work in the Proof doc unless the user explicitly asks you to move elsewhere.

When creating new docs, follow this priority order:

  1. If persistent instructions already define a Proof default mode, use it.
  2. Otherwise default to collaborative_docs.

Supported default modes:

  • all_new_markdown: new markdown artifacts you create go to Proof by default.
  • collaborative_docs: plans, specs, bug writeups, reports, memos, proposals, drafts, and similar iterative docs go to Proof by default.
  • explicit_only: only use Proof when the user explicitly asks.

Boundary rules:

  • Existing repo-tracked markdown files stay local unless the user explicitly asks to move or share them in Proof.
  • Do not silently replace local project docs with Proof links.
  • If the task is code-adjacent local documentation, keep it local unless the user asks for Proof.

Shared URLs And Auth

Shared URL format:

https://www.proofeditor.ai/d/<slug>?token=<token>

Use one of:

  • Authorization: Bearer (preferred)
  • x-share-token:
  • ?token=

by controls authorship. X-Agent-Id controls presence identity.

Existing Proof Docs

When a Proof URL is provided:

  1. Extract slug and token.
  2. Join immediately by reading state with X-Agent-Id or by posting presence.
  3. Read the doc.
  4. Reply with a short confirmation like Connected in Proof and ready.
  5. Then keep working inside Proof.

Read state and show presence on read:

curl -sS "https://www.proofeditor.ai/api/agent/<slug>/state" \
  -H "Authorization: Bearer <token>" \
  -H "X-Agent-Id: <your-agent-id>"

Update presence explicitly:

curl -sS -X POST "https://www.proofeditor.ai/api/agent/<slug>/presence" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -H "X-Agent-Id: <your-agent-id>" \
  -d '{
    "agentId":"<your-agent-id>",
    "status":"reading",
    "summary":"Joining the doc"
  }'

Common statuses: reading, thinking, acting, waiting, completed, error.

Creating A New Proof Doc

Create a shared document:

curl -sS -X POST https://www.proofeditor.ai/share/markdown \
  -H "Content-Type: application/json" \
  -d '{"title":"My Document","markdown":"# Hello\n\nFirst draft."}'

Save:

  • slug
  • accessToken
  • shareUrl
  • tokenUrl
  • _links

When Proof is the default for the task:

  1. Create the doc.
  2. Return the live Proof link to the user.
  3. Join the doc immediately.
  4. Keep working there.

Choosing An Edit Strategy

TaskRecommended APIWhy
---------
Precise paragraph or section rewriteedit/v2Block refs plus revision locking
Simple append or replaceeditMinimal payload
Human-reviewed editsopsSuggestions and comments in track changes
Large rewrite proposalops + rewrite.applyProduces reviewable changes

Snapshot And Edit V2

Get a snapshot:

curl -sS "https://www.proofeditor.ai/api/agent/<slug>/snapshot" \
  -H "Authorization: Bearer <token>"

Apply block operations:

curl -sS -X POST "https://www.proofeditor.ai/api/agent/<slug>/edit/v2" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -H "Idempotency-Key: <unique-key>" \
  -d '{
    "by":"ai:<your-agent-name>",
    "baseRevision":42,
    "operations":[
      {"op":"replace_block","ref":"b3","block":{"markdown":"Updated paragraph."}},
      {"op":"insert_after","ref":"b3","blocks":[{"markdown":"## New section"}]}
    ]
  }'

Supported ops:

  • replace_block
  • insert_before
  • insert_after
  • delete_block
  • replace_range
  • find_replace_in_block

Simple Edit V1

Use this for quick append or replace flows:

curl -sS -X POST "https://www.proofeditor.ai/api/agent/<slug>/edit" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "by":"ai:<your-agent-name>",
    "operations":[
      {"op":"append","section":"Notes","content":"\n\nNew note."},
      {"op":"replace","search":"old","content":"new"}
    ]
  }'

Comments, Suggestions, And Rewrites

Primary endpoint:

POST /api/agent/<slug>/ops

Compatibility endpoint:

POST /api/documents/<slug>/ops

Examples:

{"type":"comment.add","by":"ai:<your-agent-name>","quote":"anchor text","text":"Comment body"}
{"type":"suggestion.add","by":"ai:<your-agent-name>","kind":"replace","quote":"old text","content":"new text"}
{"type":"suggestion.add","by":"ai:<your-agent-name>","kind":"replace","quote":"old text","content":"new text","status":"accepted"}
{"type":"rewrite.apply","by":"ai:<your-agent-name>","content":"# Rewritten markdown"}

Use ops when you want the human to review changes in track changes.

Events And Presence

Poll for pending events:

curl -sS "https://www.proofeditor.ai/api/agent/<slug>/events/pending?after=0" \
  -H "Authorization: Bearer <token>"

Ack processed events:

curl -sS -X POST "https://www.proofeditor.ai/api/agent/<slug>/events/ack" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"upToId":123,"by":"ai:<your-agent-name>"}'

If you are staying in the loop while a human reviews changes, keep presence updated so the doc shows what you are doing.

Error Handling

ErrorMeaningAction
---------
401/403Bad or missing authRe-read token from URL and retry with bearer token
404Slug not foundVerify slug and environment
409 PROJECTION_STALEMetadata catching upRe-read state or snapshot, then retry
409 STALE_REVISIONSnapshot out of dateUse the fresh snapshot or state and retry
409 ANCHOR_NOT_FOUNDV1 search anchor missingRe-read state and choose a tighter anchor
422Invalid payloadFix required fields and schema
429Rate limitBack off and retry with jitter

Guidelines:

  • Re-read state before retries that depend on anchors or revisions.
  • Include by on every write.
  • Prefer content and markdown payloads as canonical text input.
  • Use Idempotency-Key on edit/v2 requests so retries stay safe.

Discovery

  • Discovery JSON: https://www.proofeditor.ai/.well-known/agent.json
  • Docs: https://www.proofeditor.ai/agent-docs
  • Setup: https://www.proofeditor.ai/agent-setup

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-29 22:44 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

productivity

Nano Pdf

steipete
使用nano-pdf CLI通过自然语言指令编辑PDF
★ 275 📥 114,870
productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 445 📥 226,327
productivity

Obsidian

steipete
操作 Obsidian 仓库(纯 Markdown 笔记)并通过 obsidian-cli 自动化。
★ 432 📥 103,799