Canvas
canvas.n3wth.com は、公開スラッグで識別されるインタラクティブなMarkdownとレンダリングプレビューを保持します。共有URLを開いているビューは、ソースが書き込まれると更新されます。
このスキルは、認証済みHTTPエージェントAPIと通信します。ブラウザは不要です。このファイルにはシークレットは含まれていません。呼び出し元が自身の環境から CANVAS_AGENT_TOKEN とConvexサイトのベースURLを提供します。
使用するタイミング
- 別の人間やエージェントが開くことができる共同作業面を立ち上げる
- Markdownをプッシュして安定したリンクを手渡す
- 既存のキャンバスをその場で更新し、開いているタブを再レンダリングする
- 編集前に現在のソースを読み込む
呼び出し元が持つ必要のある環境変数
| 変数 | 意味 |
|---|---|
CANVAS_SITE_URL | Convex HTTPベースURL、例: https://.convex.site(末尾スラッシュなし) |
CANVAS_AGENT_TOKEN | 共有Bearerトークン(デプロイメントで設定されている場合) |
公開共有リンクは常に https://canvas.n3wth.com/c/{slug} を使用します(Convexサイトホストではありません)。
認証: Convexデプロイメントで CANVAS_AGENT_TOKEN が設定されている場合、以下のすべてのエージェントルートで Authorization: Bearer $CANVAS_AGENT_TOKEN が必要です。トークンが設定されていない場合(ローカル/開発環境)、同じルートはヘッダーなしで動作します。本番環境ではトークンを設定してください。
API
すべての変更/読み取りエージェントルートでの認証:
Authorization: Bearer $CANVAS_AGENT_TOKEN
Content-Type: application/json
ディスカバリー(認証不要):
curl -sS "$CANVAS_SITE_URL/agent/v1"
1. 作成
curl -sS -X POST "$CANVAS_SITE_URL/agent/v1/canvases" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "My canvas",
"source": "# Hello\n\nThis is **markdown**."
}'
レスポンスには slug、url、version が含まれます。url をユーザーに返してください — それが https://canvas.n3wth.com/c/{slug} で開くキャンバスです。
2. ソースの書き込み
curl -sS -X PUT "$CANVAS_SITE_URL/agent/v1/canvases/$SLUG/source" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"source":"# Updated\n\nNew content here."}'
https://canvas.n3wth.com/c/$SLUG で開いているタブは、リロードなしで再レンダリングされます。
3. 現在のソースの読み取り
curl -sS "$CANVAS_SITE_URL/agent/v1/canvases/$SLUG" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN"
4. リスト表示
curl -sS "$CANVAS_SITE_URL/agent/v1/canvases" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN"
メタデータのみを返します(ソース本文は含まれません)。
エージェントワークフロー
CANVAS_SITE_URLとCANVAS_AGENT_TOKENが環境変数に設定されていることを確認します(絶対にコミットしないでください)。- オプションの
title/sourceを指定してPOST /agent/v1/canvasesを実行します。 - 人間または別のエージェントにレスポンスの
url(https://canvas.n3wth.com/c/{slug})を伝えます。 - 改良に応じて
PUT .../sourceで反復処理します。 - 編集前に現在のソースが必要な場合は
GET .../canvases/{slug}を実行します。
エラー
| ステータス | 意味 |
|---|---|
| 401 | Bearerトークンがない、または間違っている(デプロイメントで CANVAS_AGENT_TOKEN が設定されている場合のみ) |
| 404 | 不明なスラッグ |
| 400 | バリデーションエラー(ソースサイズ、JSON) |
ソースのハードリミット: 512 KiB文字。
範囲外
描画ホワイトボードやサードパーティ製キャンバス製品はありません。このAPIは作成/ソース書き込み/読み取り/リストのみです。
ポータブルインストール
このフォルダを skills.n3wth.com または任意のエージェントスキルルートに canvas/SKILL.md としてコピーします。AGENTS.md からエージェントにそれを指定します。連絡先: [email protected]。GitHub: https://github.com/n3wth。