Token导航 LogoToken导航TokenDH.com
开发操作浏览器clawhub未标认证来源可访问clear审计通过

agent-render-linkingAgent 渲染链接

Agent Skill

agent-render-linking 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中需要把零散信息整理成结构清晰的文档时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

10,157

周安装

419

GitHub Stars

公开资料未说明

下载量

3,318
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:agent-render-linking(Agent 渲染链接)
来源仓库:https://github.com/baanish/agent-render-linking
安装命令:
openclaw skills install agent-render-linking
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install agent-render-linking

简介

为 Markdown、代码差异等工件生成零保留的在线链接,便于共享渲染结果。

  • 适用于代理协作中传递结构化文档或变更说明。
  • 自动上传内容至 agent-render.com 并提供可访问 URL。
  • 安装命令:openclaw skills install agent-render-linking,需网络访问权限。
  • 生成的链接可能公开,敏感内容需提前脱敏处理。

SKILL.md

name
agent-render-linking
description
Create zero-retention agent-render.com links for markdown, code, diffs, CSV, or JSON artifacts. Use when an agent needs to share a nicely rendered artifact in the browser instead of pasting raw content into chat. Trigger for requests like "share this as a link", "make a diff link", "render this markdown/code/csv/json", or when chat rendering is weak. Agent Render is open source, hosted on Cloudflare Pages, and self-hostable. Use platform-specific linked-text syntax only on surfaces that support it cleanly, such as Discord Markdown links, Telegram HTML links, or Slack mrkdwn links; otherwise send a short summary plus the raw URL.

Agent Render Linking

Create browser links for artifacts rendered by agent-render.com.

Project context

Agent Render is:

  • open source
  • publicly hosted on Cloudflare Pages at agent-render.com
  • self-hostable for people who want their own deployment
  • meant to provide a zero-retention browser viewer for agent-shared artifacts

Source repository:

  • https://github.com/baanish/agent-render

Core rule

Keep the artifact content in the URL fragment, not in normal query params.

Use this fragment shape:

#agent-render=v1.<codec>.<payload>                (plain | lz | deflate)
#agent-render=v1.arx.<dictVersion>.<payload>   (arx)

Supported codecs:

  • plain: base64url-encoded JSON envelope
  • lz: lz-string compressed JSON encoded for URL-safe transport
  • deflate: deflate-compressed UTF-8 JSON bytes encoded as base64url
  • arx: domain-dictionary substitution + brotli (quality 11) + base76/base1k/baseBMP encoding (~70% smaller than deflate with baseBMP). Fetch the shared dictionary from https://agent-render.com/arx-dictionary.json to apply substitutions locally before brotli compression. Three encoding tiers: baseBMP (~62k safe BMP code points, ~15.92 bits/char, best density), base1k (1774 Unicode code points U+00A1–U+07FF), and base76 (ASCII fallback). The encoder tries all three and picks the shortest.
  • packed wire mode (p: 1) may be used automatically to shorten transport keys

Prefer:

  1. shortest valid fragment for the target surface
  2. codec priority arx -> deflate -> lz -> plain unless explicitly overridden
  3. packed wire mode when available

Envelope shape

Use this JSON envelope:

{
  "v": 1,
  "codec": "plain",
  "title": "Artifact bundle title",
  "activeArtifactId": "artifact-1",
  "artifacts": [
    {
      "id": "artifact-1",
      "kind": "markdown",
      "title": "Weekly report",
      "filename": "weekly-report.md",
      "content": "# Report"
    }
  ]
}

Supported artifact kinds

Markdown

{
  "id": "report",
  "kind": "markdown",
  "title": "Weekly report",
  "filename": "weekly-report.md",
  "content": "# Report\
\
- Item one"
}

Code

{
  "id": "code",
  "kind": "code",
  "title": "viewer-shell.tsx",
  "filename": "viewer-shell.tsx",
  "language": "tsx",
  "content": "export function ViewerShell() {\
  return <main />;\
}"
}

Diff

Prefer a real unified git patch in patch.

{
  "id": "patch",
  "kind": "diff",
  "title": "viewer-shell.tsx diff",
  "filename": "viewer-shell.patch",
  "patch": "diff --git a/viewer-shell.tsx b/viewer-shell.tsx\
--- a/viewer-shell.tsx\
+++ b/viewer-shell.tsx\
@@ -1 +1 @@\
-old\
+new\
",
  "view": "split"
}

Use view: "unified" or view: "split".

A single patch string may contain multiple diff --git sections.

CSV

{
  "id": "metrics",
  "kind": "csv",
  "title": "Metrics snapshot",
  "filename": "metrics.csv",
  "content": "name,value\
requests,42"
}

JSON

{
  "id": "manifest",
  "kind": "json",
  "title": "Manifest",
  "filename": "manifest.json",
  "content": "{\
  \"ready\": true\
}"
}

Multi-artifact bundles

Use multiple artifacts when the user should switch between related views.

Example cases:

  • summary markdown + patch diff
  • report markdown + raw CSV
  • config JSON + related code file

Set activeArtifactId to the artifact that should open first.

Link construction

Construct the final URL as:

https://agent-render.com/#agent-render=v1.<codec>.<payload>                (plain | lz | deflate)
https://agent-render.com/#agent-render=v1.arx.<dictVersion>.<payload>       (arx)

For plain:

  1. Serialize the envelope as compact JSON
  2. Base64url-encode it
  3. Append it after v1.plain.

For lz:

  1. Serialize the envelope as compact JSON
  2. Compress with lz-string URL-safe encoding
  3. Append it after v1.lz.

For deflate:

  1. Serialize the envelope as compact JSON (or packed wire form)
  2. Encode JSON to UTF-8 bytes
  3. Deflate the bytes
  4. Base64url-encode the compressed bytes
  5. Append it after v1.deflate.

Shared arx dictionary

The arx codec uses a substitution dictionary to replace common patterns with short byte sequences before brotli compression. The dictionary is served as a static JSON file:

  • Endpoint: https://agent-render.com/arx-dictionary.json
  • Pre-compressed: https://agent-render.com/arx-dictionary.json.br (brotli, ~929 bytes)

The dictionary contains two arrays:

  • singleByteSlots: up to 25 patterns mapped to single control bytes (highest compression value)
  • extendedSlots: additional patterns mapped to two-byte sequences (0x00 prefix + index)

To use the dictionary for local arx encoding:

  1. Fetch https://agent-render.com/arx-dictionary.json
  2. Apply substitutions in order: for each entry, replace all occurrences of the pattern in the serialized JSON envelope with its corresponding control byte(s)
  3. Brotli-compress the substituted bytes at quality 11
  4. Encode the compressed bytes using baseBMP (preferred, smallest), base1k (mid-tier), or base76 (ASCII fallback)

- BaseBMP uses ~62k safe BMP code points (U+00A1–U+FFEF, skipping surrogates, combining marks, zero-width chars). Prefix the encoded string with U+FFF0 marker. ~15.92 bits/char - Base1k uses 1774 Unicode code points (U+00A1–U+07FF, skipping combining diacriticals and soft hyphen). ~10.79 bits/char - Base76 uses 77 ASCII fragment-safe characters — use this if the target surface cannot handle Unicode in URL fragments. ~6.27 bits/char - Try all three and pick the shortest

  1. Prepend v1.arx.<dictVersion>. to form the fragment payload (use the same dictionary version used for substitution)

The dictionary includes JSON envelope boilerplate patterns (like ","kind":"Markdown","content":"), JSON-escaped Markdown syntax, programming keywords, and common English words. The viewer loads the same dictionary on startup to reverse substitutions during decode.

If the dictionary fetch fails, fall back to deflate codec.

Practical limits

Respect these limits:

  • target fragment budget: about 8,000 characters
  • target decoded payload budget: about 200,000 characters
  • strict Discord practical budget for linked text workflows: about 1,500 characters

If a link is getting too large:

  1. try arx first, then deflate, then lz, then plain
  2. allow packed wire mode
  3. trim unnecessary prose or metadata
  4. prefer a focused artifact over a bloated one
  5. return a structured failure when the payload cannot fit the requested budget

Agent budget mode

When the caller provides a strict budget (for example 1,500 chars):

  1. encode using all available candidates (arx/deflate/lz/plain, packed and non-packed)
  2. choose the shortest fragment that is within budget
  3. if no candidate fits, return the shortest fragment plus a clear budget failure explanation

Do not silently truncate content to force fit.

Formatting links in chat

Use platform-specific link text only on surfaces that support it cleanly.

Discord

Prefer standard Markdown links:

[Short summary](https://agent-render.com/#agent-render=...)

Examples:

  • [Weekly report](https://agent-render.com/#agent-render=...)
  • [Config diff](https://agent-render.com/#agent-render=...)
  • [CSV snapshot](https://agent-render.com/#agent-render=...)

Telegram

Prefer HTML links because OpenClaw Telegram outbound text uses parse_mode: "HTML".

<a href="https://agent-render.com/#agent-render=...">Short summary</a>

Slack

Prefer Slack mrkdwn link syntax:

<https://agent-render.com/#agent-render=...|Short summary>

All other OpenClaw chat surfaces

For WhatsApp, Signal, iMessage, Google Chat, IRC, LINE, and any other surface without reliable inline link-text formatting, do not force Markdown-style links.

Use:

  • a short summary line first
  • then the raw URL on its own line

If a provider later exposes a reliable native linked-text format, use that provider-specific syntax instead of generic Markdown.

Output style

When sharing a link:

  • keep the summary short
  • make the artifact title human-readable
  • use filenames when they help the viewer
  • do not narrate the transport details unless the user asks

Good defaults

  • Prefer one strong artifact over many weak ones
  • Prefer patch for diffs
  • Prefer readable titles
  • Prefer Markdown link text when supported
  • Prefer shortest-by-measurement instead of human guesses
  • Use budget-aware encoding for Discord-like constraints

Avoid

  • Do not put raw artifact content in normal query params
  • Do not upload artifact content to a server for this workflow
  • Do not dump giant noisy bundles when a focused artifact is enough
  • Do not invent unsupported fields unless the renderer has added them
  • Do not handcraft packed envelopes manually if helper utilities are available; construct logical envelopes and let transport logic pack automatically

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

75.78%
按下载量换算2,514

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills