Files
LangBot/docs.json
T
99185d0b1d Feat/sandbox (#94)
* docs: add sandbox documentation for all languages

Add comprehensive documentation for the code sandbox feature:
- Overview, built-in tools, scope and lifecycle
- Backend configuration (Docker/Nsjail/E2B)
- Security profiles (default/offline_readonly/network_basic/network_extended)
- Complete configuration reference

Languages: zh, en, ja

* docs: add skills documentation for all languages

Add comprehensive Skills system documentation covering:
- Design philosophy and industry practices comparison (Claude Code, OpenAI GPTs, Cursor)
- Layered architecture (management, import, execution layers)
- Current activation mechanism ([ACTIVATE_SKILL:] marker) with TODO for future Tool Call optimization
- Agent Skills open standard compliance with field specifications
- Complete tools API reference

Languages: zh, en, ja

Co-Authored-By: Claude Opus 4.7 <[email protected]>

* docs: update sandbox documentation to include new tools and configuration options

* Refactor Skills API documentation to align with Tool Call mechanism

- Updated the overview of the Skills system to emphasize the Tool Call mechanism for activating and registering skills.
- Removed deprecated tools and consolidated functionality into `activate` and `register_skill`.
- Revised usage examples and parameters for the new tools, ensuring clarity on their requirements and expected responses.
- Enhanced descriptions of the activation process, including the injection of skill instructions and mounting of skill packages.
- Improved error handling documentation for better user guidance.
- Added notes on sandbox requirements for tool usage and the creation of new skills.

* docs: align sandbox runtime guides

* docs: align sandbox & skills guides with current Box implementation

Correct five inaccuracies across the zh/en/ja sandbox and skills docs so
they match the actual code:

- Box launch command: use the lbp CLI subcommand
  (`langbot_plugin.cli.__init__ box`) instead of the removed
  `langbot_plugin.box --mode ws`.
- Environment variables: replace the obsolete `LANGBOT_BOX_LOCAL_*`
  vars with the unified `SECTION__SUBSECTION__KEY` override convention
  (`BOX__LOCAL__*`); note that the langbot_box service reads no
  config.yaml/env and is configured by LangBot over INIT RPC.
- Skills: drop the stale "falls back to data/skills" claims — the Box
  Runtime is the sole source of skills; when Box is unavailable the
  skill list is simply empty.
- Document the new `box.enabled` master switch (default true) and what
  it gates.
- Document that the langbot_box compose service is optional, gated
  behind the `box`/`all` compose profile.

* docs: align sandbox docs with implementation

* docs: simplify sandbox naming and diagrams

* docs: shorten AI capability nav labels

* docs: merge sandbox configuration pages

* docs: document BOX__BACKEND as sole backend selector

* docs: recommend all profile for docker deploy

* docs: add docker permission fix for sandbox

* chore(skills): add obra/superpowers writing-skills

Install the writing-skills skill from obra/superpowers via
`npx skills add`. Lands the skill files under .agents/skills/
(universal layout) with a Claude Code symlink at .claude/skills/
and the pin in skills-lock.json.

Also gitignore .claude/settings.local.json since it's per-user
Claude Code state (skill symlinks under .claude/skills/ remain
tracked).

* docs(sandbox,skills): tighten user guides for onboarding

Rewrite the sandbox and skills user guides to be shorter, plainer, and
focused on getting users productive instead of explaining internals.

Changes per page (zh/en/ja kept in lockstep):

- sandbox/readme: 170 → 73 lines. Drop the "what is a sandbox" essay,
  decorative mermaid, and the backend table that already lives in
  config.mdx. Lead with the six built-in tools and the scope picker
  (the parts users actually configure).
- sandbox/runtime-relationships: 75 → 54 lines. Replace the runtime
  prose with a single comparison table; tighten the troubleshooting
  entry-points.
- skills/readme: 320 → 114 lines. Cut the "design philosophy" /
  "industry comparison" / "KV cache theory" sections — those are
  implementation details users don't need to ship. Lead with the
  user-visible flow (Agent reads <available_skills> → calls activate →
  follows the SKILL.md).
- skills/skill-format: 360 → 134 lines. One excellent example
  (api-tester) instead of three overlapping ones. Drop the standalone
  "field details" subsections that just restate the table.
- skills/tools-api: 200 → 122 lines. Drop the old-vs-new historical
  comparison and the duplicated activation section; keep the two tool
  signatures, parameters, returns and errors.

sandbox/config.mdx left untouched (already condensed upstream).

Principles applied come from obra/superpowers writing-skills (installed
in 08c35a4): lead with use, one excellent example, tables for scanning,
cut internals and history.

* docs(sandbox): drop redundant 'how to choose' table from runtime-relationships

The 对照表 above already has a '何时使用 / When to use' column that says
the same thing. Repeating it as a second 怎么选 / How to Choose table
was pure noise.

* docs(skills): collapse to one page, link out for SKILL.md spec

Delete skill-format.mdx and tools-api.mdx — Skills now has a single
page. The format details and tools reference were already covered in
shorter form inside readme.mdx; the separate pages were repetition.

In readme.mdx:
- Inline a compact 'SKILL.md format' section (one example + a three-
  field table) and point at agentskills.io for the canonical spec.
- Drop the 'next steps' section and the tools-api link, since both
  destinations no longer exist.

docs.json: remove the two pages from each locale's Skills nav. Add
redirects from the old paths to readme so existing links don't 404.

* docs(nav): flatten Skills — single page, no group wrapper

Group with one child is just visual noise in the sidebar. Replace
{ group: Skills, pages: [...readme] } with the readme path directly
in the parent AI Configuration group, in all three locales.

* docs(mcp,skills): lead with LangBot Space as the preferred install path

LangBot Space (https://space.langbot.app) now hosts a curated list of
MCP servers and Skills. Surface that as the first install option in
both user guides.

- usage/mcp/readme: rework the intro Info block to recommend LangBot
  Space first (third-party channels demoted to "alternative source").
  Add a "Install from LangBot Space (Preferred)" section above the
  existing manual flow; rename that flow to "Add MCP Server Manually".
- usage/skills/readme: add a "Install from LangBot Space (Preferred)"
  section above "Creating a Skill"; rename the existing section to
  "Creating a Custom Skill" so the contrast is clear.

zh/en/ja kept in sync.

* docs(skills): reorganize the readme around the user journey

The old structure interleaved "what it is" → "how it works internally"
→ "prerequisites" → "format spec" → install options. Reorder around
how users actually approach the page:

  Intro → compare with plugins/MCP → install → enable → write → debug

Specific moves:
- Drop the standalone "Workflow" flow diagram; fold the one important
  point (activation pulls SKILL.md via Tool Result) into the intro.
- Merge the standalone "Prerequisites" section into a short Note on the
  Install heading — that's where the constraint actually applies.
- Bring "Install from LangBot Space" and "Create your own" together
  under one "Install" H2 with H3 subsections; they were sibling H2s
  before, which buried the relationship.
- Move "Writing a SKILL.md" after install + enable, since most users
  start with marketplace skills.
- Demote the "Tools the Agent sees" table to an H3 inside the writing
  section — it's reference, not a top-level concern.

114 → 100 lines, zh/en/ja in lockstep.

* docs(mcp,models): reorder MCP page + move tool-use capability to Models

Two related changes, same as the Skills cleanup pattern:

usage/mcp/readme — reorganize around the user journey
- Drop the standalone "Enable function calling on the model" section;
  that belongs in the Models doc (it's not MCP-specific — sandbox tools
  and Skills depend on the same model capability).
- Drop the redundant "Effect" section — its one fact (built-in Agent +
  tool-use model) already lives in the Note under "Three Transport
  Modes".
- Group install paths under one "Installing an MCP Server" H2 with
  Space (preferred) and manual flows as H3 siblings, mirroring the
  Skills doc layout.
- Move the stdio MCP technical block under a clearly-labeled
  "Advanced: stdio MCP" H2 so casual readers skim past it.
- Trim screenshot duplication and collapse three steps in the manual
  flow into one paragraph + one screenshot per step.
- 140 → 107 lines, zh/en/ja kept in lockstep.

usage/models/readme — rename and expand "function calling" → "tool use"
- The checkbox is renamed to "Tool Use" (zh: 工具使用能力 / ja: ツール
  使用); function calling kept in parentheses for recognition.
- Expand the bullet into a Note that explicitly lists where the
  capability matters: MCP servers, sandbox built-ins (exec/read/write/
  edit/glob/grep), Skills. Without it, even bound extensions stay
  silent.
- Note that the underlying model must actually support function
  calling for the checkbox to take effect.

* docs(sandbox): point sandbox/config readers to System Environment Settings

The page lists box.* YAML blocks without ever telling the reader where
those settings actually go. Add a one-line Note at the top linking to
deploy/settings (System Environment Settings), where the data/config.yaml
location and load mechanism are documented.

* docs(sandbox/config): align the page with the real config structure

The previous version listed local / docker / nsjail / e2b as four
parallel "backends" in one flat table. That's wrong: looking at the
config template and the SDK's _select_backend, the real model is:

- box.backend accepts 'local' | 'docker' | 'nsjail' | 'e2b'
- 'local' is shorthand for "auto-pick from Docker / Nsjail" — not a
  fourth backend
- 'local', 'docker', 'nsjail' all *share* the box.local.* config
  section; the section is misleadingly named ("local" here means
  "host-local backends", not "for backend: 'local'")
- 'e2b' uses box.e2b.* instead
- 'local' is the only value that auto-falls-back; everything else is a
  hard selection

Rewrite the page around that structure:
- Group backends as "local containers" vs "cloud" with the four values
  inside, and call out the local-vs-fourth-backend distinction.
- Split the old single "common settings" table into two clearly-scoped
  tables: box.local.* (for local backends) and box.e2b.* (for cloud).
- Move box.runtime.endpoint into the Docker Compose section, where it
  actually matters.
- Add an explicit note that backend is a hard selection — only 'local'
  fans out.

zh/en/ja kept in lockstep.

* docs(deploy): note Box control-plane transport differs by deploy method

In Docker deployments the Box control plane runs as the langbot_box
container (WebSocket); manual / uvx deployments use a stdio subprocess.
Also clarify the LangBot image bundles the docker client so langbot_box
can create sandbox containers via the mounted socket without extra setup.
zh / en / ja.

---------

Co-authored-by: Claude Opus 4.7 <[email protected]>
Co-authored-by: Junyan Qin <[email protected]>
2026-06-04 20:18:29 +08:00

893 lines
28 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "LangBot",
"colors": {
"primary": "#4692dd",
"light": "#4692dd",
"dark": "#4692dd"
},
"fontFamily": "Noto Sans SC",
"logo": {
"light": "/logo/langbot-logo-0.5x.png",
"dark": "/logo/langbot-logo-0.5x.png",
"href": "https://langbot.app"
},
"favicon": "/favicon.ico",
"description": "Production-grade No-code AI Bot Platform. Connect DeepSeek, Dify, GPT-4 & Claude to WeChat, Discord, Telegram, Slack, Lark & DingTalk in 5 minutes.",
"seo": {
"indexing": "all",
"metatags": {
"og:site_name": "LangBot Docs",
"twitter:card": "summary_large_image",
"og:image": "https://langbot.app/og-image.png"
}
},
"navbar": {
"links": [
{
"label": "Home",
"href": "https://langbot.app"
},
{
"label": "Cloud",
"href": "https://space.langbot.app/cloud"
},
{
"label": "Market",
"href": "https://space.langbot.app"
},
{
"label": "Blog",
"href": "https://blog.langbot.app"
},
{
"label": "Roadmap",
"href": "https://langbot.featurebase.app/roadmap"
}
]
},
"footer": {
"socials": {
"github": "https://github.com/langbot-app/LangBot"
}
},
"redirects": [
{
"source": "/en/usage/sandbox/backend",
"destination": "/en/usage/sandbox/config"
},
{
"source": "/en/usage/sandbox/profiles",
"destination": "/en/usage/sandbox/config"
},
{
"source": "/zh/usage/sandbox/backend",
"destination": "/zh/usage/sandbox/config"
},
{
"source": "/zh/usage/sandbox/profiles",
"destination": "/zh/usage/sandbox/config"
},
{
"source": "/ja/usage/sandbox/backend",
"destination": "/ja/usage/sandbox/config"
},
{
"source": "/ja/usage/sandbox/profiles",
"destination": "/ja/usage/sandbox/config"
},
{
"source": "/en/usage/skills/skill-format",
"destination": "/en/usage/skills/readme"
},
{
"source": "/en/usage/skills/tools-api",
"destination": "/en/usage/skills/readme"
},
{
"source": "/zh/usage/skills/skill-format",
"destination": "/zh/usage/skills/readme"
},
{
"source": "/zh/usage/skills/tools-api",
"destination": "/zh/usage/skills/readme"
},
{
"source": "/ja/usage/skills/skill-format",
"destination": "/ja/usage/skills/readme"
},
{
"source": "/ja/usage/skills/tools-api",
"destination": "/ja/usage/skills/readme"
},
{
"source": "/en/deploy/platforms/:slug*",
"destination": "/en/usage/platforms/:slug*"
},
{
"source": "/zh/deploy/platforms/:slug*",
"destination": "/zh/usage/platforms/:slug*"
},
{
"source": "/ja/deploy/platforms/:slug*",
"destination": "/ja/usage/platforms/:slug*"
},
{
"source": "/en/deploy/models/:slug*",
"destination": "/en/usage/models/:slug*"
},
{
"source": "/zh/deploy/models/:slug*",
"destination": "/zh/usage/models/:slug*"
},
{
"source": "/ja/deploy/models/:slug*",
"destination": "/ja/usage/models/:slug*"
},
{
"source": "/en/deploy/pipelines/:slug*",
"destination": "/en/usage/pipelines/:slug*"
},
{
"source": "/zh/deploy/pipelines/:slug*",
"destination": "/zh/usage/pipelines/:slug*"
},
{
"source": "/ja/deploy/pipelines/:slug*",
"destination": "/ja/usage/pipelines/:slug*"
},
{
"source": "/en/deploy/knowledge/:slug*",
"destination": "/en/usage/knowledge/:slug*"
},
{
"source": "/zh/deploy/knowledge/:slug*",
"destination": "/zh/usage/knowledge/:slug*"
},
{
"source": "/ja/deploy/knowledge/:slug*",
"destination": "/ja/usage/knowledge/:slug*"
},
{
"source": "/en/deploy/mcp/:slug*",
"destination": "/en/usage/mcp/:slug*"
},
{
"source": "/zh/deploy/mcp/:slug*",
"destination": "/zh/usage/mcp/:slug*"
},
{
"source": "/ja/deploy/mcp/:slug*",
"destination": "/ja/usage/mcp/:slug*"
},
{
"source": "/insight/:slug*",
"destination": "/en/insight/:slug*"
},
{
"source": "/plugin/:slug*",
"destination": "/en/plugin/:slug*"
},
{
"source": "/deploy/:slug*",
"destination": "/en/deploy/:slug*"
},
{
"source": "/workshop/:slug*",
"destination": "/en/workshop/:slug*"
},
{
"source": "/develop/:slug*",
"destination": "/en/develop/:slug*"
},
{
"source": "/usage/:slug*",
"destination": "/en/usage/:slug*"
},
{
"source": "/config/:slug*",
"destination": "/en/insight/guide"
},
{
"source": "/webui/:slug*",
"destination": "/en/insight/guide"
},
{
"source": "/posts/:slug*",
"destination": "/en/insight/guide"
},
{
"source": "/session/:slug*",
"destination": "/en/insight/guide"
},
{
"source": "/pipeline/:slug*",
"destination": "/en/insight/guide"
},
{
"source": "/i18n/:slug*",
"destination": "/en/insight/guide"
},
{
"source": "/development/:slug*",
"destination": "/en/insight/guide"
},
{
"source": "/api/v1/:slug*",
"destination": "/en/api-reference/:slug*"
},
{
"source": "/README_EN",
"destination": "/en/insight/guide"
},
{
"source": "/ws",
"destination": "/en/insight/guide"
},
{
"source": "/app",
"destination": "/en/insight/guide"
}
],
"navigation": {
"languages": [
{
"language": "en",
"tabs": [
{
"tab": "Guides",
"groups": [
{
"group": "Quick Start",
"pages": [
"en/insight/guide",
"en/insight/features",
"en/insight/community",
"en/insight/data-collection-policy"
]
},
{
"group": "Installation",
"pages": [
"en/deploy/langbot/package",
"en/deploy/langbot/docker",
"en/deploy/langbot/one-click/1panel",
"en/deploy/langbot/one-click/bt",
"en/deploy/langbot/manual",
"en/deploy/settings",
"en/deploy/update",
"en/deploy/command"
]
},
{
"group": "Configure Bots",
"pages": [
"en/usage/platforms/readme",
"en/usage/platforms/discord",
"en/usage/platforms/telegram",
"en/usage/platforms/slack",
"en/usage/platforms/line",
"en/usage/platforms/webpage",
"en/usage/platforms/kook",
"en/usage/platforms/lark",
"en/usage/platforms/dingtalk",
"en/usage/platforms/wxoa",
{
"group": "QQ (OneBot v11)",
"pages": [
"en/usage/platforms/qq/aiocqhttp/napcat",
"en/usage/platforms/qq/aiocqhttp/lagrange",
"en/usage/platforms/qq/aiocqhttp/llonebot"
],
"icon": "/images/platforms/qq.svg"
},
{
"group": "Satori (QQ & Multi-Platform)",
"pages": [
"en/usage/platforms/satori/llonebot"
],
"icon": "robot"
},
{
"group": "QQ Official Bot",
"pages": [
"en/usage/platforms/qq/official_webhook"
],
"icon": "/images/platforms/qq.svg"
},
{
"group": "WeCom (Enterprise WeChat)",
"pages": [
"en/usage/platforms/wecom/wecom",
"en/usage/platforms/wecom/wecomcs",
"en/usage/platforms/wecom/wecombot"
],
"icon": "/images/platforms/wecom.svg"
},
{
"group": "WeChat",
"pages": [
"en/usage/platforms/wechat/weixin"
],
"icon": "/images/platforms/wechat.svg"
}
]
},
{
"group": "AI Configuration",
"pages": [
"en/usage/models/readme",
"en/usage/pipelines/readme",
{
"group": "LLMOps Platforms",
"pages": [
"en/usage/pipelines/dify",
"en/usage/pipelines/n8n",
"en/usage/pipelines/langflow",
"en/usage/pipelines/coze"
]
},
"en/usage/knowledge/readme",
"en/usage/mcp/readme",
{
"group": "Sandbox",
"pages": [
"en/usage/sandbox/readme",
"en/usage/sandbox/runtime-relationships",
"en/usage/sandbox/config"
]
},
"en/usage/skills/readme"
]
},
{
"group": "Advanced Operations",
"pages": [
"en/workshop/production/proxy-and-ssl",
"en/workshop/network-details",
"en/workshop/mcp-details",
"en/insight/platform-features",
{
"group": "Third-Party Model Providers",
"pages": [
"en/workshop/newapi-integration",
"en/workshop/ppio-integration",
"en/workshop/302ai-integration"
]
}
]
},
{
"group": "Using Plugins",
"pages": [
"en/plugin/plugin-intro",
"en/plugin/compatibility"
]
}
]
},
{
"tab": "Developers",
"groups": [
{
"group": "Plugin Development",
"pages": [
"en/plugin/dev/tutor",
"en/plugin/dev/basic-info",
"en/plugin/dev/directory-structure",
{
"group": "Component Development",
"pages": [
"en/plugin/dev/components/add",
"en/plugin/dev/components/event-listener",
"en/plugin/dev/components/command",
"en/plugin/dev/components/tool",
"en/plugin/dev/components/knowledge-engine",
"en/plugin/dev/components/parser",
"en/plugin/dev/components/page"
]
},
"en/plugin/dev/style",
"en/plugin/dev/migration",
{
"group": "Publish Plugin",
"pages": [
"en/plugin/dev/publish/market",
"en/plugin/dev/publish/github"
]
},
"en/develop/plugin-runtime"
]
},
{
"group": "Plugin SDK API",
"pages": [
"en/plugin/dev/apis/common",
"en/plugin/dev/apis/pipeline-events",
"en/plugin/dev/apis/messages",
"en/plugin/dev/apis/tech-details"
]
},
{
"group": "Core Development",
"pages": [
"en/develop/dev-config",
"en/develop/comp-arch",
"en/workshop/impl-platform-adapter"
]
}
]
},
{
"tab": "API Reference",
"groups": [
{
"group": "Service API",
"pages": [
"en/tags/readme",
"en/tags/webhook"
]
},
{
"group": "HTTP API Reference",
"openapi": {
"source": "openapi/service-api-en.json",
"directory": "en/api-reference"
}
}
]
}
]
},
{
"language": "cn",
"tabs": [
{
"tab": "指南",
"groups": [
{
"group": "快速开始",
"pages": [
"zh/insight/guide",
"zh/insight/features",
"zh/insight/community",
"zh/insight/data-collection-policy"
]
},
{
"group": "安装部署",
"pages": [
"zh/deploy/langbot/package",
"zh/deploy/langbot/docker",
"zh/deploy/langbot/one-click/1panel",
"zh/deploy/langbot/one-click/bt",
"zh/deploy/langbot/manual",
"zh/deploy/settings",
"zh/deploy/update",
"zh/deploy/command"
]
},
{
"group": "配置机器人",
"pages": [
"zh/usage/platforms/readme",
{
"group": "企业微信",
"icon": "/images/platforms/wecom.svg",
"pages": [
"zh/usage/platforms/wecom/wecom",
"zh/usage/platforms/wecom/wecomcs",
"zh/usage/platforms/wecom/wecombot"
]
},
{
"group": "微信",
"icon": "/images/platforms/wechat.svg",
"pages": [
"zh/usage/platforms/wechat/weixin",
"zh/usage/platforms/wechat/wechatpad"
]
},
{
"group": "QQ 官方机器人",
"icon": "/images/platforms/qq.svg",
"pages": [
"zh/usage/platforms/qq/official_webhook",
"zh/usage/platforms/qq/official"
]
},
{
"group": "QQ (OneBot v11)",
"icon": "/images/platforms/qq.svg",
"pages": [
"zh/usage/platforms/qq/aiocqhttp/napcat",
"zh/usage/platforms/qq/aiocqhttp/lagrange",
"zh/usage/platforms/qq/aiocqhttp/llonebot"
]
},
"zh/usage/platforms/lark",
"zh/usage/platforms/dingtalk",
"zh/usage/platforms/wxoa",
"zh/usage/platforms/kook",
{
"group": "Satori (QQ 等多平台)",
"icon": "robot",
"pages": [
"zh/usage/platforms/satori/llonebot"
]
},
"zh/usage/platforms/discord",
"zh/usage/platforms/telegram",
"zh/usage/platforms/slack",
"zh/usage/platforms/line",
"zh/usage/platforms/webpage"
]
},
{
"group": "配置 AI 能力",
"pages": [
"zh/usage/models/readme",
"zh/usage/pipelines/readme",
{
"group": "LLMOps 平台",
"pages": [
"zh/usage/pipelines/dify",
"zh/usage/pipelines/n8n",
"zh/usage/pipelines/langflow",
"zh/usage/pipelines/tbox",
"zh/usage/pipelines/coze"
]
},
"zh/usage/knowledge/readme",
"zh/usage/mcp/readme",
{
"group": "沙箱",
"pages": [
"zh/usage/sandbox/readme",
"zh/usage/sandbox/runtime-relationships",
"zh/usage/sandbox/config"
]
},
"zh/usage/skills/readme"
]
},
{
"group": "进阶运维",
"pages": [
"zh/workshop/production/proxy-and-ssl",
"zh/workshop/network-details",
"zh/workshop/mcp-details",
"zh/insight/platform-features",
{
"group": "第三方模型接入",
"pages": [
"zh/workshop/newapi-integration",
"zh/workshop/shengsuanyun-integration",
"zh/workshop/tokenpony-integration",
"zh/workshop/ppio-integration",
"zh/workshop/302ai-integration"
]
},
{
"group": "规模使用",
"hidden": true,
"pages": [
"zh/tob/index",
"zh/tob/platform",
"zh/tob/provider",
"zh/tob/contact"
]
}
]
},
{
"group": "插件使用",
"pages": [
"zh/plugin/plugin-intro",
"zh/plugin/compatibility"
]
}
]
},
{
"tab": "开发者",
"groups": [
{
"group": "插件开发",
"pages": [
"zh/plugin/dev/tutor",
"zh/plugin/dev/basic-info",
"zh/plugin/dev/directory-structure",
{
"group": "组件开发",
"pages": [
"zh/plugin/dev/components/add",
"zh/plugin/dev/components/event-listener",
"zh/plugin/dev/components/command",
"zh/plugin/dev/components/tool",
"zh/plugin/dev/components/knowledge-engine",
"zh/plugin/dev/components/parser",
"zh/plugin/dev/components/page"
]
},
"zh/plugin/dev/style",
"zh/plugin/dev/migration",
{
"group": "发布插件",
"pages": [
"zh/plugin/dev/publish/market",
"zh/plugin/dev/publish/github"
]
},
"zh/develop/plugin-runtime"
]
},
{
"group": "插件 SDK API",
"pages": [
"zh/plugin/dev/apis/common",
"zh/plugin/dev/apis/pipeline-events",
"zh/plugin/dev/apis/messages",
"zh/plugin/dev/apis/tech-details"
]
},
{
"group": "核心开发",
"pages": [
"zh/develop/dev-config",
"zh/develop/comp-arch",
"zh/workshop/impl-platform-adapter",
{
"group": "Discord 适配器",
"pages": [
"zh/develop/adapter/discord/README",
"zh/develop/adapter/discord/quick_start",
"zh/develop/adapter/discord/design",
"zh/develop/adapter/discord/api_reference",
"zh/develop/adapter/discord/troubleshooting"
]
}
]
}
]
},
{
"tab": "API 参考",
"groups": [
{
"group": "Service API",
"pages": [
"zh/tags/readme",
"zh/tags/webhook"
]
},
{
"group": "HTTP API Reference",
"openapi": {
"source": "openapi/service-api-zh.json",
"directory": "zh/api-reference"
}
}
]
}
]
},
{
"language": "jp",
"tabs": [
{
"tab": "ガイド",
"groups": [
{
"group": "クイックスタート",
"pages": [
"ja/insight/guide",
"ja/insight/features",
"ja/insight/community",
"ja/insight/data-collection-policy"
]
},
{
"group": "インストール",
"pages": [
"ja/deploy/langbot/package",
"ja/deploy/langbot/docker",
"ja/deploy/langbot/one-click/1panel",
"ja/deploy/langbot/one-click/bt",
"ja/deploy/langbot/manual",
"ja/deploy/settings",
"ja/deploy/update",
"ja/deploy/command"
]
},
{
"group": "ボットを設定",
"pages": [
"ja/usage/platforms/readme",
"ja/usage/platforms/discord",
"ja/usage/platforms/telegram",
"ja/usage/platforms/slack",
"ja/usage/platforms/line",
"ja/usage/platforms/webpage",
"ja/usage/platforms/kook",
"ja/usage/platforms/lark",
"ja/usage/platforms/dingtalk",
"ja/usage/platforms/wxoa",
{
"group": "QQ (OneBot v11)",
"pages": [
"ja/usage/platforms/qq/aiocqhttp/napcat",
"ja/usage/platforms/qq/aiocqhttp/lagrange",
"ja/usage/platforms/qq/aiocqhttp/llonebot"
],
"icon": "/images/platforms/qq.svg"
},
{
"group": "Satori(QQ等マルチプラットフォーム)",
"pages": [
"ja/usage/platforms/satori/llonebot"
],
"icon": "robot"
},
{
"group": "QQ 公式ボット",
"pages": [
"ja/usage/platforms/qq/official_webhook"
],
"icon": "/images/platforms/qq.svg"
},
{
"group": "WeCom(企業微信)",
"pages": [
"ja/usage/platforms/wecom/wecom",
"ja/usage/platforms/wecom/wecomcs",
"ja/usage/platforms/wecom/wecombot"
],
"icon": "/images/platforms/wecom.svg"
},
{
"group": "WeChat",
"pages": [
"ja/usage/platforms/wechat/weixin"
],
"icon": "/images/platforms/wechat.svg"
}
]
},
{
"group": "AI 設定",
"pages": [
"ja/usage/models/readme",
"ja/usage/pipelines/readme",
{
"group": "LLMOps プラットフォーム",
"pages": [
"ja/usage/pipelines/dify",
"ja/usage/pipelines/n8n",
"ja/usage/pipelines/langflow",
"ja/usage/pipelines/coze"
]
},
"ja/usage/knowledge/readme",
"ja/usage/mcp/readme",
{
"group": "サンドボックス",
"pages": [
"ja/usage/sandbox/readme",
"ja/usage/sandbox/runtime-relationships",
"ja/usage/sandbox/config"
]
},
"ja/usage/skills/readme"
]
},
{
"group": "運用ガイド",
"pages": [
"ja/workshop/production/proxy-and-ssl",
"ja/workshop/network-details",
"ja/workshop/mcp-details",
"ja/insight/platform-features",
{
"group": "サードパーティモデル接続",
"pages": [
"ja/workshop/newapi-integration",
"ja/workshop/ppio-integration",
"ja/workshop/302ai-integration"
]
}
]
},
{
"group": "プラグインの利用",
"pages": [
"ja/plugin/plugin-intro",
"ja/plugin/compatibility"
]
}
]
},
{
"tab": "開発者",
"groups": [
{
"group": "プラグイン開発",
"pages": [
"ja/plugin/dev/tutor",
"ja/plugin/dev/basic-info",
"ja/plugin/dev/directory-structure",
{
"group": "コンポーネント開発",
"pages": [
"ja/plugin/dev/components/add",
"ja/plugin/dev/components/event-listener",
"ja/plugin/dev/components/command",
"ja/plugin/dev/components/tool",
"ja/plugin/dev/components/knowledge-engine",
"ja/plugin/dev/components/parser",
"ja/plugin/dev/components/page"
]
},
"ja/plugin/dev/style",
"ja/plugin/dev/migration",
{
"group": "プラグインを配布",
"pages": [
"ja/plugin/dev/publish/market",
"ja/plugin/dev/publish/github"
]
},
"ja/develop/plugin-runtime"
]
},
{
"group": "プラグイン SDK API",
"pages": [
"ja/plugin/dev/apis/common",
"ja/plugin/dev/apis/pipeline-events",
"ja/plugin/dev/apis/messages",
"ja/plugin/dev/apis/tech-details"
]
},
{
"group": "コア開発",
"pages": [
"ja/develop/dev-config",
"ja/develop/comp-arch",
"ja/workshop/impl-platform-adapter"
]
}
]
},
{
"tab": "API リファレンス",
"groups": [
{
"group": "Service API",
"pages": [
"ja/tags/readme",
"ja/tags/webhook"
]
},
{
"group": "HTTP API Reference",
"openapi": {
"source": "openapi/service-api-ja.json",
"directory": "ja/api-reference"
}
}
]
}
]
}
]
},
"fonts": {
"family": "Source Sans Pro"
},
"metadata": {
"google-site-verification": "LBNmWbXCAXdoqrbwg5Gep-xzQ7u7lJHSdpR49N3Ttgg"
}
}