什么是 OpenClaw
<div class="ce-block ce-block--focused" data-id="bh4cuaT6QC" ><div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">在开始使用 OpenClaw之前,先了解它是什么,为什么要用它,以及它能带来什么。</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="vVgTGjEA8D" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">⚠️ </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;">版本说明 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">:由于 OpenClaw 仍在快速开发中,本教程基于 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;">2026.2.9 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">版本编写。该版本经过充分验证,稳定可靠。</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="08YASG9Ygk" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">💡 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;">重要前提 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">:OpenClaw 预装了 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;">49个内置技能(Skills) </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">,本教程中的大部分功能演示都基于这些内置技能。这些技能涵盖文件管理、知识管理、日程管理、自动化等核心场景,开箱即用。如果某些功能无法使用,请先确认相关技能是否已启用(详见[第8章:Skills扩展](../03-advanced/08-skills-extension.md))。</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="q-bs-1Gjkj" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"> <span style="color: rgb(31, 35, 41); font-family: LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 22px; font-variant-ligatures: no-common-ligatures; font-weight: 600; letter-spacing: -0.44px; white-space-collapse: break-spaces; background-color: rgb(255, 255, 255);">1.1 什么是OpenClaw</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="-4MV2vmUy0" >
<div class="ce-block__content">
<div class="cdx-block image-tool image-tool--filled ">
<div class="image-tool__image">
<div class="image-tool__image-preloader" style=""></div>
<img id="aimg_-4MV2vmUy0" class="image-tool__image-picture _zoom" src="https://kjbase.com/data/attachment/forum/202604/27/203309bp8zkp48zkb3bkkg.png" title="" alt="" data-aid="1"/>
</div>
<div class="cdx-input image-tool__caption" data-placeholder=""></div>
</div>
</div>
</div><div class="ce-block ce-block--focused" data-id="Dv19OHa7jq" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">一句话介绍</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="v6Fy0yxzxK" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">OpenClaw 是一个 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">开源的 AI 智能体 Gateway 网关 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">,让你可以在本地部署 AI 助手,访问本地文件,通过多个平台(飞书、企微、QQ等)随时使用。</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="afJ3QoJPCs" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">项目名称演变 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">:OpenClaw 原名 Clawdbot,因 Anthropic 商标顾虑在 2026年1月27日更名为 Moltbot(过渡名),最终在1月30日确定为 OpenClaw。三个名字本质是同一个项目,功能完全一致。</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="-pMyvDneIz" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">核心能力</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="CzPCDc5zG0" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">🏠 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">本地部署 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">:在你的电脑上运行,数据隐私有保障</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="2kg_QTtiZP" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">📁 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">文件访问 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">:可以搜索、读取、编辑你电脑上的文件</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="o0awMpi8hA" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">🔌 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">无限扩展 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">:通过 Skills(技能)系统扩展功能</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="aSDVpynrvS" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">💬 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">多平台使用 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">:支持飞书、企微、钉钉、QQ、Telegram、Discord等</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="-DclcS_ybk" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">💰 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">成本可控 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">:使用自己的 API,费用透明</span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">工作原理</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="-yNybwyJkq" >
<div class="ce-block__content">
<div class="cdx-block image-tool image-tool--filled ">
<div class="image-tool__image">
<div class="image-tool__image-preloader" style=""></div>
<img id="aimg_-yNybwyJkq" class="image-tool__image-picture _zoom" src="https://kjbase.com/data/attachment/forum/202604/27/203525wgatw8howw0u28wv.png" title="" alt="" data-aid="2"/>
</div>
<div class="cdx-input image-tool__caption" data-placeholder=""></div>
</div>
</div>
</div><div class="ce-block ce-block--focused" data-id="73Ib6m0ZBx" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">OpenClaw 通过 Gateway 网关将聊天应用连接到 AI 智能体。Gateway 是会话、路由和渠道连接的 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;">唯一事实来源 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">。</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="oQzShKki74" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;">核心组件:</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="3l5h1Df7L9" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;">Gateway 网关</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="Qo3hYrapSC" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; font-weight: bold; user-select: text !important;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">连接各个聊天平台(飞书、企微、QQ、Telegram等)</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="T603_7GYN2" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">管理会话和消息路由</span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">默认地址: </span><span class="outer-u-container docx-outer-link-container" data-inline-wrapper="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;"><span class=" link-wrapper link-text-color link-start link-end link-id-46-0-1 author-7426634550464790532" auto-url-line="0" auto-url-start="6" auto-url-length="23" auto-url="http%3A%2F%2F127.0.0.1%3A18789%2F" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; white-space-collapse: break-spaces; user-select: text !important; text-decoration-color: rgb(51, 109, 244) !important;"><span class="inline-code inline-code_start inline-code_end" spellcheck="false" style="box-sizing: border-box; margin-right: 3px; margin-left: 3px; padding: 1px 0px; -webkit-font-smoothing: antialiased; font-family: "Source Code Pro", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "Microsoft Yahei"; background-color: rgb(245, 246, 247); border-width: 1px; border-color: rgb(222, 224, 227); border-radius: 4px; text-rendering: auto; user-select: text !important;"><a href="http://127.0.0.1:18789/" rel="noopener noreferrer" target="_blank"><span data-string="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; white-space-collapse: preserve; word-break: break-word; user-select: text !important;">http://127.0.0.1:18789/</span></a></span></span></span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="sqqfS9Jcr4" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span class="outer-u-container docx-outer-link-container" data-inline-wrapper="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;"><span class=" link-wrapper link-text-color link-start link-end link-id-46-0-1 author-7426634550464790532" auto-url-line="0" auto-url-start="6" auto-url-length="23" auto-url="http%3A%2F%2F127.0.0.1%3A18789%2F" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; white-space-collapse: break-spaces; user-select: text !important; text-decoration-color: rgb(51, 109, 244) !important;"><span class="inline-code inline-code_start inline-code_end" spellcheck="false" style="box-sizing: border-box; margin-right: 3px; margin-left: 3px; padding: 1px 0px; -webkit-font-smoothing: antialiased; font-family: "Source Code Pro", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "Microsoft Yahei"; background-color: rgb(245, 246, 247); border-width: 1px; border-color: rgb(222, 224, 227); border-radius: 4px; text-rendering: auto; user-select: text !important;"><a href="http://127.0.0.1:18789/" rel="noopener noreferrer" target="_blank"><span data-string="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; white-space-collapse: preserve; word-break: break-word; user-select: text !important;"></span></a></span></span></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;">配置文件: </span><span class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; user-select: text !important;"><span class="inline-code inline-code_start inline-code_end" spellcheck="false" style="box-sizing: border-box; margin-right: 3px; margin-left: 3px; padding: 1px 0px; -webkit-font-smoothing: antialiased; font-family: "Source Code Pro", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "Microsoft Yahei"; background-color: rgb(245, 246, 247); border-width: 1px; border-color: rgb(222, 224, 227); border-radius: 4px; text-rendering: auto; user-select: text !important;"><span data-string="true" style="box-sizing: border-box; -webkit-font-smoothing: antialiased; text-rendering: auto; border-radius: 3px; padding-right: 2px !important; padding-left: 2px !important; user-select: text !important;">~/.openclaw/openclaw.json</span></span></span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="pkX2lWAwKC" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">AI 智能体</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="Zidtm6mv8o" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">支持 Claude、GPT、Gemini、DeepSeek、Kimi 等多种模型</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="eSmlaleZ2B" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">可以本地运行或远程调用</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="BYY6lg38zW" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">Skills 技能系统</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="KmnRK1-say" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">文件管理、知识管理、自动化等</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="s9qX9Jo1oR" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">可自定义开发</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="KKlas2-cGh" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">ClawHub</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="OEiqWzWp4H" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">技能市场,可以下载和分享 Skills</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="tsX7WdDabx" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>◦<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">💡 </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;">Gateway 网关是什么?</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="IkTVmyrBIh" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto; font-weight: bold;"> </span><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">Gateway 是 OpenClaw 的核心服务,它像一个"中央调度站",负责:</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="ljhky7bVXD" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">接收来自不同平台的消息(飞书、企微、QQ、Telegram等)</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="L3zCFpmUj6" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">将消息转发给 AI 智能体处理</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="TWZmhY33QN" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">把 AI 的回复发送回对应平台</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="qOo8ckocPD" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">管理所有的会话和上下文</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="V-34dhXvCt" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;"></span>•<span data-string="true" class=" author-7426634550464790532" data-leaf="true" style="box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; user-select: text !important; text-rendering: auto;">这就是为什么你可以在任何平台上使用 OpenClaw,因为 Gateway 统一管理了所有的连接。</span></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="9IEmzupBRf" >
<div class="ce-block__content">
<div class="cdx-block image-tool image-tool--filled ">
<div class="image-tool__image">
<div class="image-tool__image-preloader" style=""></div>
<img id="aimg_9IEmzupBRf" class="image-tool__image-picture _zoom" src="https://kjbase.com/data/attachment/forum/202604/27/203906lanpg5uk5qj8uiju.png" title="" alt="" data-aid="3"/>
</div>
<div class="cdx-input image-tool__caption" data-placeholder=""></div>
</div>
</div>
</div><div class="ce-block ce-block--focused" data-id="tzuMvgHGfq" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left">OpenClaw 是一个开源、自托管的 AI Agent 网关。你可以在 Telegram、Discord、微信等聊天平台直接给 AI 发任务,让它执行代码、检索信息、操控浏览器、运行自动化流程。</div>
</div>
</div><div class="ce-block" data-id="I-XeqCXF-9" >
<div class="ce-block__content" style="">
<h2 class="ce-header ce-header--left">核心架构</h2>
</div>
</div><div class="ce-block ce-block--focused" data-id="7b-t3HL18v" >
<div class="ce-block__content">
<div class="ce-paragraph cdx-block ce-paragraph--left"><code><code class="inline-code">聊天渠道 → Gateway → Agent → LLM API</code>
</code></div>
</div>
</div><div class="ce-block ce-block--focused" data-id="aHrRuGYevD" >
<div class="ce-block__content">
<ul class="cdx-list-unordered"><li class="cdx-list__item">Gateway:统一连接各消息渠道,管理会话,路由任务</li><li class="cdx-list__item">Agent:执行任务的 AI 实体,可读写文件、执行命令、调用工具</li><li class="cdx-list__item">Skill:能力扩展模块,按业务场景灵活组合</li></ul>
</div>
</div><div class="ce-block" data-id="gxoy4aejow" >
<div class="ce-block__content" style="">
<h2 class="ce-header ce-header--left">典型场景</h2>
</div>
</div><div class="ce-block ce-block--focused" data-id="RK-2MxQ08Y" >
<div class="ce-block__content">
<ul class="cdx-list-unordered"><li class="cdx-list__item">在 Telegram 里让 AI 直接修项目 bug</li><li class="cdx-list__item">上传数据文件后自动生成分析报告</li><li class="cdx-list__item">通过浏览器自动化完成网页查询与截图回传</li><li class="cdx-list__item">定时抓取信息并推送到群聊</li><li class="cdx-list__item">跨平台内容发布与监控</li></ul>
</div>
</div><div class="ce-block" data-id="GqFOIkFjg_" >
<div class="ce-block__content" style="">
<h2 class="ce-header ce-header--left">与普通聊天 AI 的区别</h2>
</div>
</div><div class="ce-block" data-id="eaZHDoQbFH" >
<div class="ce-block__content">
<div class="cdx-block">
<div class="tc-wrap">
<div class="tc-table">
<div class="tc-row">
<div class="tc-cell">能力</div>
<div class="tc-cell">OpenClaw</div>
<div class="tc-cell">普通聊天 AI</div>
</div>
<div class="tc-row">
<div class="tc-cell">多渠道接入</div>
<div class="tc-cell">✅</div>
<div class="tc-cell">有限</div>
</div>
<div class="tc-row">
<div class="tc-cell">自托管部署</div>
<div class="tc-cell">✅</div>
<div class="tc-cell">通常不支持</div>
</div>
<div class="tc-row">
<div class="tc-cell">长期自动化</div>
<div class="tc-cell">✅</div>
<div class="tc-cell">较弱</div>
</div>
<div class="tc-row">
<div class="tc-cell">文件操作</div>
<div class="tc-cell">✅</div>
<div class="tc-cell">受限</div>
</div>
<div class="tc-row">
<div class="tc-cell">浏览器控制</div>
<div class="tc-cell">✅</div>
<div class="tc-cell">❌</div>
</div>
<div class="tc-row">
<div class="tc-cell">技能扩展</div>
<div class="tc-cell">✅</div>
<div class="tc-cell">❌</div>
</div>
</div>
</div>
</div>
</div>
</div><style type="text/css">
.ce-block {
margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
/* max-width:calc(100% - 50px) */
margin-left: auto;
margin-right: auto;
}
.ce-paragraph {
line-height: 1.6em;
outline: none;
text-indent: 2em;
font-size: 16px;
}
.ce-paragraph--right {
text-align: right;
}
.ce-paragraph--center {
text-align: center;
}
.ce-paragraph--left {
text-align: left;
}
.ce-paragraph--justify {
text-align: justify;
}
.ce-paragraph-text-indent {
text-align: justify;
}
.ce-paragraph:empty::before{
content: attr(data-placeholder);
color: #707684;
font-weight: normal;
opacity: 0;
}
/** Show placeholder at the first paragraph if Editor is empty */
.codex-editor--empty .ce-block:first-child .ce-paragraph:empty::before {
opacity: 1;
}
.codex-editor--toolbox-opened .ce-block:first-child .ce-paragraph:empty::before,
.codex-editor--empty .ce-block:first-child .ce-paragraph:empty:focus::before {
opacity: 0;
}
.ce-paragraph p:first-of-type{
margin-top: 0;
}
.ce-paragraph p:last-of-type{
margin-bottom: 0;
}
.svg-icon {
width: 1em;
height: 1em;
}
.svg-icon path,
.svg-icon polygon,
.svg-icon rect {
fill: #4691f6;
}
.svg-icon circle {
stroke: #4691f6;
stroke-width: 1;
}
</style><style type="text/css">
.ce-block {
margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
/* max-width:calc(100% - 50px) */
margin-left: auto;
margin-right: auto;
}
.image-tool {
--bg-color: #cdd1e0;
--front-color: #388ae5;
--border-color: #e8e8eb;
}
.image-tool__image {
border-radius: 3px;
overflow: hidden;
margin-bottom: 10px;
}
.image-tool__image-picture {
max-width: 100%;
vertical-align: bottom;
display: block;
margin-left: auto;
margin-right: auto;
}
.image-tool__image-preloader {
width: 50px;
height: 50px;
border-radius: 50%;
background-size: cover;
margin: auto;
position: relative;
background-color: #cdd1e0;
background-position: center center;
}
.image-tool__image-preloader::after {
content: "";
position: absolute;
z-index: 3;
width: 60px;
height: 60px;
border-radius: 50%;
border: 2px solid #cdd1e0;
border-top-color: #388ae5;
left: 50%;
top: 50%;
margin-top: -30px;
margin-left: -30px;
animation: image-preloader-spin 2s infinite linear;
box-sizing: border-box;
}
.image-tool__caption::before {
position: absolute !important;
content: attr(data-placeholder);
color: #707684;
font-weight: normal;
display: none;
}
.image-tool__caption:empty::before {
display: block;
}
.image-tool__caption:empty:focus::before {
display: none;
}
.image-tool--empty .image-tool__image {
display: none;
}
.image-tool--empty .image-tool__caption, .image-tool--loading .image-tool__caption {
display: none;
}
.image-tool .cdx-button {
display: flex;
align-items: center;
justify-content: center;
}
.image-tool .cdx-button svg {
height: auto;
margin: 0 6px 0 0;
}
.image-tool--filled .cdx-button {
display: none;
}
.image-tool--filled .image-tool__image-preloader {
display: none;
}
.image-tool--loading .image-tool__image {
min-height: 200px;
display: flex;
border: 1px solid #e8e8eb;
background-color: #fff;
}
.image-tool--loading .image-tool__image-picture {
display: none;
}
.image-tool--loading .cdx-button {
display: none;
}
/**
* Tunes
* ----------------
*/
.image-tool--withBorder .image-tool__image {
border: 1px solid #e8e8eb;
}
.image-tool--withBackground .image-tool__image {
padding: 15px;
background: #cdd1e0;
}
.image-tool--withBackground .image-tool__image-picture {
max-width: 60%;
margin: 0 auto;
}
.image-tool--stretched .image-tool__image-picture {
width: 100%;
}
.image-tool__caption {
text-align: center;
font-size: 14px;
color: #a3a3a3;
}
@keyframes image-preloader-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style><style type="text/css">
.ce-block {
margin-top: 20px;
margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
/* max-width:calc(100% - 50px) */
margin-left: auto;
margin-right: auto;
}
/**
* Plugin styles
*/
.ce-header {
position: relative;
padding: 1px 0px 1px 15px;
margin: 0;
line-height: 1.25em;
outline: none;
margin-bottom: 10px;
}
.ce-header p,
.ce-header div {
padding: 0 !important;
margin: 0 !important;
}
.ce-header::before {
content: "";
background-color: #3e8fe3;
width: 6px;
height: 100%;
position: absolute;
left: 0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
/**
* Styles for Plugin icon in Toolbar
*/
.ce-header__icon {
}
.ce-header::before {
position: absolute;
content: attr(data-placeholder);
color: #707684;
font-weight: normal;
display: none;
cursor: text;
}
.ce-header:empty::before {
display: block;
}
.ce-header:empty:focus::before {
display: none;
}
/* FontSize */
h1.ce-header {
font-size: 2.0em;
}
h2.ce-header {
font-size: 1.7em;
}
h3.ce-header {
font-size: 1.4em;
}
h4.ce-header {
font-size: 1.15em;
}
h5.ce-header {
font-size: 0.95em;
}
h6.ce-header {
font-size: 0.8em;
}
/* Alignment*/
.ce-header--right {
text-align: right;
}
.ce-header--center {
text-align: center;
}
.ce-header--left {
text-align: left;
}
.ce-header--justify {
text-align: justify;
}
</style><style type="text/css">
.ce-block {
margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
/* max-width:calc(100% - 50px) */
margin-left: auto;
margin-right: auto;
}
.cdx-list {
margin:0;
outline:none;
display:block;
counter-reset:item;
padding:6px;
}
.cdx-list__item {
line-height:1.45em;
display:block;
padding-top:8px;
margin-left: 2em;
}
.cdx-list__item-children {
display:block;
}
.cdx-list__item {
outline:none
}
.cdx-list__item-content {
word-break:break-word;
white-space:pre-wrap;
grid-area:content;
padding-left:8px
}
.cdx-list__item:before {
counter-increment:item;
white-space:nowrap
}
.cdx-list-li-container {
display: flex;
}
.cdx-list-ordered .cdx-list__item:before {
/* content:counters(item,".",numeric) "." */
}
.cdx-list-ordered {
list-style-type: none;
margin-left: -15px;
counter-reset:item;
font-size: 16px;
}
.cdx-list-unordered {
font-size: 16px;
}
.cdx-list-unordered .cdx-list__item:before {
content:"•"
}
.cdx-list-checklist .cdx-list__item:before {
content:""
}
.cdx-list__settings .cdx-settings-button {
width:50%
}
.cdx-list__checkbox {
padding-top:calc((1.45em - 1.2em) / 2);
grid-area:checkbox;
width:1.2em;
height:1.2em;
display:flex;
cursor:pointer;
font-size: 16px;
}
.cdx-list__checkbox svg {
opacity:0;
height:1.2em;
width:1.2em;
left:-1px;
top:-1px;
position:absolute
}
@media (hover:hover) {
.cdx-list__checkbox:not(.cdx-list__checkbox--no-hover):hover .cdx-list__checkbox-check svg {
opacity:1
}
}.cdx-list__checkbox--checked-1 {
line-height:1.45em
}
@media (hover:hover) {
.cdx-list__checkbox--checked-1:not(.cdx-list__checkbox--checked-1--no-hover):hover .cdx-checklist__checkbox-check {
background:#0059AB;
border-color:#0059AB
}
}.cdx-list__checkbox--checked-1 .cdx-list__checkbox-check {
background:#369FFF;
border-color:#369FFF
}
.cdx-list__checkbox--checked-1 .cdx-list__checkbox-check svg {
opacity:1
}
.cdx-list__checkbox--checked-1 .cdx-list__checkbox-check svg path {
stroke:#fff
}
.cdx-list__checkbox--checked-1 .cdx-list__checkbox-check:before {
opacity:0;
visibility:visible;
transform:scale(2.5)
}
.cdx-list__checkbox-check {
cursor:pointer;
display:inline-block;
position:relative;
margin:0 auto;
width:1.2em;
height:1.2em;
box-sizing:border-box;
border-radius:5px;
border:1px solid #C9C9C9;
background:#fff
}
.cdx-list__checkbox-check:before {
content:"";
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
border-radius:100%;
background-color:#369FFF;
visibility:hidden;
pointer-events:none;
transform:scale(1);
transition:transform .4s ease-out,opacity .4s
}
.cdx-list__checkbox-check--disabled {
pointer-events:none
}
.cdx-list-start-with-field {
background:#F8F8F8;
border:1px solid rgba(226,226,229,.2);
border-radius:6px;
padding:2px;
display:grid;
grid-template-columns:auto auto 1fr;
grid-template-rows:auto
}
.cdx-list-start-with-field--invalid {
background:#FFECED;
border:1px solid #E13F3F
}
.cdx-list-start-with-field--invalid .cdx-list-start-with-field__input {
color:#e13f3f
}
.cdx-list-start-with-field__input {
font-size:16px;
outline:none;
font-weight:500;
font-family:inherit;
border:0;
background:transparent;
margin:0;
padding:0;
line-height:22px;
min-width:calc(100% - 10px)
}
.cdx-list-start-with-field__input::placeholder {
color:#797979;
font-weight:500
}
</style><style type="text/css">
.ce-block {
margin-bottom: 20px;
}
.ce-block__content,.ce-toolbar__content {
/* max-width:calc(100% - 50px) */
margin-left: auto;
margin-right: auto;
}
.tc-wrap {
--color-background:#f9f9fb;
--color-text-secondary:#7b7e89;
--color-border:#e8e8eb;
--cell-size:0px;
--toolbox-icon-size:18px;
--toolbox-padding:6px;
--toolbox-aiming-field-size:calc(var(--toolbox-icon-size) + var(--toolbox-padding)*2);
border:1px solid var(--color-border);
position:relative;
height:100%;
width:100%;
margin-top:var(--toolbox-icon-size);
box-sizing:border-box;
display:grid;
grid-template-columns:calc(100% - var(--cell-size)) var(--cell-size);
}
.tc-wrap--readonly {
grid-template-columns:100% var(--cell-size)
}
.tc-wrap svg {
vertical-align:top
}
@media print {
.tc-wrap {
border-left-color:var(--color-border);
border-left-style:solid;
border-left-width:1px;
grid-template-columns:100% var(--cell-size)
}
}@media print {
.tc-wrap .tc-row:after {
display:none
}
}.tc-table {
position:relative;
width:100%;
height:100%;
display:grid;
font-size:14px;
line-height:1.4;
}
.tc-table:after {
width:calc(var(--cell-size));
height:100%;
left:calc(var(--cell-size)*-1);
top:0
}
.tc-table:after,.tc-table:before {
position:absolute;
content:""
}
.tc-table:before {
width:100%;
height:var(--toolbox-aiming-field-size);
top:calc(var(--toolbox-aiming-field-size)*-1);
left:0
}
.tc-table--heading .tc-row:first-child {
font-weight:600;
border-bottom:2px solid var(--color-border);
}
.tc-table--heading .tc-row:first-child :empty:before {
content:attr(heading);
color:var(--color-text-secondary)
}
.tc-table--heading .tc-row:first-child:after {
bottom:-2px;
border-bottom:2px solid var(--color-border)
}
.tc-add-column,.tc-add-row {
display:flex;
color:var(--color-text-secondary)
}
@media print {
.tc-add {
display:none
}
}.tc-add-column {
padding:4px 0;
justify-content:center;
border-top:1px solid var(--color-border);
}
@media print {
.tc-add-column {
display:none
}
}.tc-add-row {
height:var(--cell-size);
align-items:center;
padding-left:4px;
position:relative;
}
.tc-add-row:before {
content:"";
position:absolute;
right:calc(var(--cell-size)*-1);
width:var(--cell-size);
height:100%
}
@media print {
.tc-add-row {
display:none
}
}.tc-add-column,.tc-add-row {
transition:0s;
cursor:pointer;
will-change:background-color;
}
.tc-add-column:hover,.tc-add-row:hover {
transition:background-color .1s ease;
background-color:var(--color-background)
}
.tc-add-row {
margin-top:1px;
}
.tc-add-row:hover:before {
transition:.1s;
background-color:var(--color-background)
}
.tc-row {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(10px,1fr));
position:relative;
border-bottom:1px solid var(--color-border);
}
.tc-row:after {
content:"";
pointer-events:none;
position:absolute;
width:var(--cell-size);
height:100%;
bottom:-1px;
right:calc(var(--cell-size)*-1);
border-bottom:1px solid var(--color-border)
}
.tc-row--selected {
background:var(--color-background)
}
.tc-row--selected:after {
background:var(--color-background)
}
.tc-cell {
border-right:1px solid var(--color-border);
padding:6px 12px;
overflow:hidden;
outline:none;
line-break:normal;
}
.tc-cell--selected {
background:var(--color-background)
}
.tc-wrap--readonly .tc-row:after {
display:none
}
.tc-toolbox {
--toolbox-padding:6px;
--popover-margin:30px;
--toggler-click-zone-size:30px;
--toggler-dots-color:#7b7e89;
--toggler-dots-color-hovered:#1d202b;
position:absolute;
cursor:pointer;
z-index:1;
opacity:0;
transition:opacity .1s;
will-change:left,opacity;
}
.tc-toolbox--column {
top:calc(var(--toggler-click-zone-size)*-1);
transform:translateX(calc(var(--toggler-click-zone-size)*-1/2));
will-change:left,opacity
}
.tc-toolbox--row {
left:calc(var(--popover-margin)*-1);
transform:translateY(calc(var(--toggler-click-zone-size)*-1/2));
margin-top:-1px;
will-change:top,opacity
}
.tc-toolbox--showed {
opacity:1
}
.tc-toolbox .tc-popover {
position:absolute;
top:0;
left:var(--popover-margin)
}
.tc-toolbox__toggler {
display:flex;
align-items:center;
justify-content:center;
width:var(--toggler-click-zone-size);
height:var(--toggler-click-zone-size);
color:var(--toggler-dots-color);
opacity:0;
transition:opacity .15s ease;
will-change:opacity;
}
.tc-toolbox__toggler:hover {
color:var(--toggler-dots-color-hovered)
}
.tc-toolbox__toggler svg {
fill:currentColor
}
.tc-wrap:hover .tc-toolbox__toggler {
opacity:1
}
.tc-settings .cdx-settings-button {
width:50%;
margin:0
}
.tc-popover {
--color-border:#eaeaea;
--color-background:#fff;
--color-background-hover:rgba(232,232,235,0.49);
--color-background-confirm:#e24a4a;
--color-background-confirm-hover:#d54040;
--color-text-confirm:#fff;
background:var(--color-background);
border:1px solid var(--color-border);
box-shadow:0 3px 15px -3px rgba(13,20,33,.13);
border-radius:6px;
padding:6px;
display:none;
will-change:opacity,transform;
}
.tc-popover--opened {
display:block;
animation:menuShowing .1s cubic-bezier(.215,.61,.355,1) forwards
}
.tc-popover__item {
display:flex;
align-items:center;
padding:2px 14px 2px 2px;
border-radius:5px;
cursor:pointer;
white-space:nowrap;
-webkit-user-select:none;
-moz-user-select:none;
user-select:none;
}
.tc-popover__item:hover {
background:var(--color-background-hover)
}
.tc-popover__item:not(:last-of-type) {
margin-bottom:2px
}
.tc-popover__item-icon {
display:inline-flex;
width:26px;
height:26px;
align-items:center;
justify-content:center;
background:var(--color-background);
border-radius:5px;
border:1px solid var(--color-border);
margin-right:8px
}
.tc-popover__item-label {
line-height:22px;
font-size:14px;
font-weight:500
}
.tc-popover__item--confirm {
background:var(--color-background-confirm);
color:var(--color-text-confirm);
}
.tc-popover__item--confirm:hover {
background-color:var(--color-background-confirm-hover)
}
.tc-popover__item--confirm .tc-popover__item-icon {
background:var(--color-background-confirm);
border-color:rgba(0,0,0,.1);
}
.tc-popover__item--confirm .tc-popover__item-icon svg {
transition:transform .2s ease-in;
transform:rotate(90deg) scale(1.2)
}
.tc-popover__item--hidden {
display:none
}
@keyframes menuShowing {
0% {
opacity:0;
transform:translateY(-8px) scale(.9)
}
70% {
opacity:1;
transform:translateY(2px)
}
to {
transform:translateY(0)
}
}
</style><style type="text/css">
.inline-code {
background: rgba(250, 239, 240, 0.78);
color: #b44437;
padding: 3px 4px;
border-radius: 5px;
margin: 0 1px;
font-family: inherit;
font-size: 0.86em;
font-weight: 500;
letter-spacing: 0.3px;
}
</style>
页:
[1]