mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-11-03 22:32:27 +08:00
docs(plugin): refocus the certification page on developer decisions
Rewrite plugin/certified-plugins in all three locales around the questions a plugin developer actually asks, and make it the single home for certification: what it is, why it exists, when it is needed, what changes after approval, and what the contract requires. - Decision framing restored, including a needs/does-not-need table and the explicit statement that most plugins do not need certification. - Full manifest example, accepted values for both declaration fields and the SDK version that recognises them. - Constraints kept and tightened: stateless rules, allowed/forbidden table, anti-patterns with correct/incorrect snippets, Runner notes, self-check list. - Submission flow moved onto this page so it no longer depends on the publishing page. - Operator content that duplicates the Core architecture document removed (Cloud admission matrix, OSS issuer keys, certificate fields, internal review tiers). publish/market is now publishing-only with a one-line pointer, and its misplaced plugin_submission screenshot moves back under the upload section where it belongs. dev/basic-info replaces the commented-out manifest fields with a link to the contract page. ja had been missing whole sections (36 lines); all three locales now share the same section structure.
This commit is contained in:
@@ -28,11 +28,10 @@ execution:
|
||||
python:
|
||||
path: main.py # Do not modify
|
||||
attr: HelloPlugin # Do not modify
|
||||
# Add only after migrating to the stateless singleton certification contract:
|
||||
# sharedRuntime: shared-runtime-v1
|
||||
# componentModel: stateless-v1
|
||||
```
|
||||
|
||||
To certify your plugin and let several installations share one runtime, also declare `sharedRuntime` and `componentModel` under `execution`; see [Certified plugins and shared runtime](/en/plugin/certified-plugins).
|
||||
|
||||
Plugin multilingual support follows the [RFC 4646](https://datatracker.ietf.org/doc/html/rfc4646) standard. Currently supported languages include:
|
||||
|
||||
- `en_US` English (required)
|
||||
|
||||
@@ -78,14 +78,8 @@ Plugin built successfully: dist/tmp/RockChinQ-HelloPlugin-0.1.0.lbpkg
|
||||
|
||||
You can now check your plugin submission task at [LangBot Plugin Marketplace](https://space.langbot.app/market). Please wait for approval, after which you can view your plugin in the marketplace.
|
||||
|
||||
## Request Certified Plugin review
|
||||
|
||||
If your release is designed for certification, declare both `execution.sharedRuntime: shared-runtime-v1` and `execution.componentModel: stateless-v1` in `manifest.yaml`, then submit a **new version**. The advisory review verifies singleton components are stateless, re-entrant, read config per invocation and retain no tenant data. The declaration alone grants no badge or runtime privilege.
|
||||
|
||||
LangBot Space checks the exact submitted package, runs an advisory code review, and requires a human approval before a Certified Plugin badge can be issued. Certification is bound to the reviewed package version and checksum. Keep workspace configuration, storage, credentials, logs, and background work scoped to the active installation. Do not rely on mutable process-global state.
|
||||
|
||||
If the review finds that the release cannot meet these requirements, submit an unsigned normal dedicated plugin and address the findings in a later immutable version. There is no dedicated certification or intermediate certification tier. See [Certified Plugins](/en/plugin/certified-plugins) for user-visible behavior.
|
||||
|
||||
<img width="600" src="/images/zh/plugin/dev/plugin_submission.png" />
|
||||
|
||||
Publishing does not involve certification: plugins run in dedicated mode by default. If this release should also be certified, see [Certified plugins and shared runtime](/en/plugin/certified-plugins).
|
||||
|
||||
If you have any questions, you can send an email to `[email protected]` or contact us through [Community](/en/insight/community).
|
||||
|
||||
Reference in New Issue
Block a user