* 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]>
- Implemented one-click setup instructions for DingTalk, Lark, WeCom, and WeChat, enhancing user experience by automating credential input.
- Added new images for the setup processes, including success screens and QR code scanning steps.
- Created a new webpage bot documentation, detailing the embedding process and configuration options.
- Updated existing documentation for better clarity and structure, including manual setup instructions and configuration details.
Localized Cloud promotion tips for English and Japanese versions.
EN tips emphasize Slack, LINE, WeCom (internationally relevant).
JA tips emphasize LINE and Lark (Japan-relevant platforms).
* docs: update wiki for RAG engine plugin architecture
Replace KnowledgeRetriever component docs with RAGEngine across all
three languages (zh/en/ja). Key changes:
- Add new rag-engine.mdx component docs covering RAGEngine base class,
creation_schema/retrieval_schema, capability declarations, lifecycle
hooks, host RAG APIs, and complete code examples
- Update knowledge base usage docs to reflect unified KB model (remove
internal/external distinction, add RAG engine selection flow)
- Update component list (add.mdx) and plugin intro to reference RAGEngine
- Add RAG API section to plugin common APIs (invoke_embedding,
vector_upsert/search/delete, get_rag_file_stream)
- Update docs.json navigation to point to rag-engine pages
Companion to LangBot PR #1995 and SDK PR #34.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* fix: sync with sdk
* docs: update vector API docs with metadata filters, search_type, and documents support
- Replace Warning tags about unimplemented filters with Info tags documenting
canonical filter format (Chroma-style where syntax) and supported operators
- Document search_type/query_text params for full-text and hybrid search
- Document documents param for vector_upsert
- Update RetrievalContext.filters description from reserved to active
- Add filter usage examples (en/zh/ja)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* docs: enhance RAG Engine documentation across multiple languages
- Expanded the description of the RAG Engine component to include bridging capabilities with advanced knowledge base services like Dify, RAGFlow, and FastGPT.
- Clarified the `DOC_INGESTION` capability description, specifying conditions under which the declaration can be omitted.
- Updated documentation in English, Japanese, and Chinese to ensure consistency and clarity.
* docs: add instructions for show_if conditional rendering
* docs: add Parser component documentation (zh/en/ja)
Add Parser as a new component type in plugin docs. Parser extracts
structured text from binary files (PDF, Word, etc.) before RAG engine
ingestion. Includes manifest format, parse method API, data models
(ParseContext/ParseResult/TextSection), RAGEngine integration via
parsed_content, and cross-plugin invoke_parser API.
Also add DOC_PARSING capability to RAG engine docs and parsed_content
field to IngestionContext.
Companion to SDK PR langbot-app/langbot-plugin-sdk#37 and
LangBot PR langbot-app/LangBot#2000.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* docs: rename RAGEngine components to KnowledgeEngine
* refactor: change rag engine to knowledge engine
---------
Co-authored-by: Claude Opus 4.6 <[email protected]>
Co-authored-by: Junyan Qin <[email protected]>
* 重构文档结构:移除 docs 目录,调整文件组织结构
* Reorder "插件 SDK API" section in docs.json
* Refactor and clarify various documentation sections
* Refine warnings and info boxes across multiple docs
* Refactor and simplify Japanese documentation content
* Update package.json to include mintlify as a dependency and add pnpm-lock.yaml for dependency management
* Update blog link and add description in docs.json
---------
Co-authored-by: Junyan Chin <[email protected]>