Skip to content

docs(extensions v0.2.3): cover full-stack plugins and request-scoped run evidence - #5775

Merged
WillemJiang merged 8 commits into
bytedance:mainfrom
ggnnggez:docs/extension-api-docs-plugins
Sep 23, 2026
Merged

WillemJiang merged 8 commits into
bytedance:mainfrom
ggnnggez:docs/extension-api-docs-plugins

Conversation

@ggnnggez

@ggnnggez ggnnggez commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #5769 (merged). #5769 limits the extension manual to the deerflow-extension-api 0.2.1 contract so it can be cherry-picked to 2.1.x-dev. This PR adds the parts that exist only on main and brings the manual up to 0.2.3:

When #5647, #5685, and #5727 are backported to 2.1, cherry-pick this PR along with them.

Validation

  • python scripts/check_agent_guidance.py --base-ref 2a9beb34 --head-ref HEAD: 0 errors
  • Every page under frontend/src/content/{en,zh}/harness/extensions/ compiles with @mdx-js/mdx
  • The pre-commit hooks for frontend eslint and prettier passed

Notes for reviewers

Plugin-specific code issues surfaced while writing these pages. The pages describe them as-is; happy to file them as separate issues:

  1. Plugin action handlers can't choose a status code: anything other than ValueError becomes 502 (routers/plugins.py).
  2. Plugin model tools get a principal with only user_id (plugin_tools.py), so is_admin is always false, unlike actions.
  3. A missing browser-asset file raises FileNotFoundError with an absolute host path instead of a named validation error.
  4. PluginContribution.enabled defaults to False, and the resulting error says "disabled by administrator".

Add a harness/extensions/ section in English and Chinese documenting the
deerflow-extension-api 0.2.3 contract:

  index                when to write an extension vs a tool, MCP server or
                       skill; contribution kinds; loading; failure and
                       trust model; versioning
  quick-start          build, test, install and remove a working extension
  runtime              load sequence, API version rules, scopes and
                       ExtensionData, fail-open and cancellation, diagnostics
  middleware           placements and where each lands, scope, ordering,
                       observe-only wrap hooks, failure isolation
  observers            task lifecycle, system model calls, agent assembly
                       and fingerprint, context compaction
  services-and-routes  service lifecycle, router rejection rules, auth,
                       principals
  run-evidence         service and request-scoped readers (bytedance#5727), cursor
                       semantics, deletions, redaction, store differences
  plugins              experimental full-stack plugins, inline modules and
                       manifest-based browser assets (bytedance#5685)
  operations           extension manager CLI, sources, upgrade, rollback,
                       Docker, Helm, recovery
  troubleshooting      indexed by the exact log and error strings
  reference            every public name and the contract version history

Also fix stale descriptions: the contribution kinds listed in AGENTS.md
and deerflow/extensions/AGENTS.md (now eight, including plugins), the
run-evidence redaction claim (only auth_token is removed), and the plugin
mount return value in docs/full-stack-plugins.md ({ dispose }, not a
function). Changelog entries added in both languages.
Plugins and request-scoped run evidence are not in 2.1.x-dev yet; they
move to a stacked follow-up so this change can be cherry-picked.
…dence

Brings the extension manual up to deerflow-extension-api 0.2.3. Stacked on
the 0.2.1 manual so that part can be cherry-picked to 2.1.x-dev alone.
@github-actions github-actions Bot added area:docs Documentation and Markdown only area:frontend Next.js frontend under frontend/ risk:medium Medium risk: regular code changes size/XL PR changes 700+ lines labels Sep 23, 2026
@ggnnggez ggnnggez added this to the 2.2.0 milestone Sep 23, 2026
@ggnnggez ggnnggez changed the title docs(extensions): cover full-stack plugins and request-scoped run evidence docs(extensions v0.2.3): cover full-stack plugins and request-scoped run evidence Sep 23, 2026
@WillemJiang

Copy link
Copy Markdown
Collaborator

@ggnnggez, please resolve the conflict with the main branch.

…docs-plugins

# Conflicts:
#	AGENTS.md
#	CHANGELOG.md
#	CHANGELOG_zh.md
#	frontend/src/content/en/harness/extensions/_meta.ts
#	frontend/src/content/en/harness/extensions/index.mdx
#	frontend/src/content/en/harness/extensions/operations.mdx
#	frontend/src/content/en/harness/extensions/reference.mdx
#	frontend/src/content/en/harness/extensions/run-evidence.mdx
#	frontend/src/content/en/harness/extensions/services-and-routes.mdx
#	frontend/src/content/en/harness/extensions/troubleshooting.mdx
#	frontend/src/content/zh/harness/extensions/_meta.ts
#	frontend/src/content/zh/harness/extensions/index.mdx
#	frontend/src/content/zh/harness/extensions/operations.mdx
#	frontend/src/content/zh/harness/extensions/reference.mdx
#	frontend/src/content/zh/harness/extensions/run-evidence.mdx
#	frontend/src/content/zh/harness/extensions/services-and-routes.mdx
#	frontend/src/content/zh/harness/extensions/troubleshooting.mdx
@WillemJiang
WillemJiang merged commit 5d8a949 into bytedance:main Sep 23, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs Documentation and Markdown only area:frontend Next.js frontend under frontend/ risk:medium Medium risk: regular code changes size/XL PR changes 700+ lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants