* docs(api-reference): require user for file upload
Mark the user form field as required for the shared files/upload Service API endpoint in chat, chatflow, completion, and workflow specs.
Update the field description to clarify that Service API conversations are separate from WebApp conversations.
* docs(api-reference): clarify file upload user field and sync zh/ja
---------
Co-authored-by: RiskeyL <7a8y@163.com>
* docs: use enterprise-safe examples and localize zh/ja examples
* Revert "docs: use enterprise-safe examples and localize zh/ja examples"
This reverts commit d0854eb35b.
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* 🌐 Initial translations for PR #784
Auto-generated translations for documentation changes in PR #784.
Last-Processed-Commit: 0c74e8708f
Original-PR: #784
Languages: Chinese (zh), Japanese (ja)
🤖 Generated with GitHub Actions
* 🔄 Update translations for commit 626b1165
Auto-generated translations for changes in commit 626b1165da.
Last-Processed-Commit: 626b1165da
Original-PR: #784
Languages: Chinese (zh), Japanese (ja)
🤖 Generated with GitHub Actions
* 🔄 Update translations for commit 30b5781d
Auto-generated translations for changes in commit 30b5781da9.
Last-Processed-Commit: 30b5781da9
Original-PR: #784
Languages: Chinese (zh), Japanese (ja)
🤖 Generated with GitHub Actions
* 🔄 Update translations for commit 7bdfeb6a
Auto-generated translations for changes in commit 7bdfeb6a99.
Last-Processed-Commit: 7bdfeb6a99
Original-PR: #784
Languages: Chinese (zh), Japanese (ja)
🤖 Generated with GitHub Actions
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* docs: revamp develop-plugin section
Fixes critical content bugs that broke setup paths (wrong Linux binary
name, conflicting `REMOTE_INSTALL_URL` env var, full duplicate of
release-overview where GitHub-publishing steps should be, broken Flomo
provider YAML, depot-only `runs-on` in the auto-publish workflow,
unverified imports in reverse-invocation examples, wrong
`TextEmbeddingModelConfig` type) and restructures the section around the
developer's mental model.
Sidebar reorg: Publishing now reads release-overview -> Standards ->
Marketplace (with auto-publish nested) -> GitHub Repository -> Local
File -> FAQ. A new choose-plugin-type decision page sits between the
landing page and the CLI in Getting Started.
Major rewrites: release-to-individual-github-repo (full),
remote-debug-a-plugin (50 -> 160 lines with troubleshooting),
multilingual-readme (added template), faq (2 -> 10 entries), Flomo
walkthrough YAML to canonical credentials_for_provider shape. Quick
Decision callouts on model-schema and model-designing-rules. Backfilled
missing frontmatter `description` on 7 pre-existing pages for
CLAUDE.md compliance.
All edits in en/ only; translation pipeline handles zh/ja.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: fix TOC, tighten Standards, move signature verification
TOC: promote leading h3 -> h2 (and h4 -> h3) on 17 pages whose
right-rail TOC had no top-level entries because every section started
at h3. Hierarchy is preserved; subsections that were h4 now sit
correctly as h3 under their parent h2.
Standards section: rewrite contributor-covenant-code-of-conduct
(now properly titled "Plugin Development Guidelines") and
privacy-protection-guidelines for tighter prose, scannable lists, and
correct heading levels. The privacy page used h4 manual numbering
which broke its TOC entirely; now uses h2/h3 with an Accordion FAQ.
Reclassify third-party-signature-verification: it is a Community
Edition install-time feature, not a Marketplace standard. Moved from
Publishing > Standards to Publishing > Local File (alongside the
release-by-file `.difypkg` flow).
Also strip a stray `# Endpoint` h1 from endpoint.mdx (the title is
already in frontmatter) and replace a self-referencing link.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: subgroup walkthroughs, shorten titles, widget-ize publishing
Walkthroughs sidebar: split the 12-page flat list into Cheatsheet +
'By Plugin Type' subgroup (tool/oauth/model/agent-strategy/datasource/
trigger/endpoint) + 'Full Walkthroughs' subgroup (flomo/slack-bot/
md-exporter/multimodal). Shortened the worst sidebar offenders:
- 'Build Tool Plugins for Multimodal Data Processing in Knowledge
Pipelines' -> 'Multimodal Tool'
- '10-Minute Guide to Building Dify Plugins' -> 'Flomo Tool (10-min)'
- 'Dify Plugin Development Cheatsheet' -> 'Cheatsheet'
- 'Develop A Slack Bot Plugin' -> 'Slack Bot'
- 'Build a Markdown Exporter Plugin' -> 'Markdown Exporter'
- 'Add OAuth Support to Your Tool Plugin' -> 'Tool OAuth'
- 'Neko Cat Endpoint' -> 'Endpoint Plugin'
Publishing pages: rewrite around Mintlify widgets and bake in the
actual reviewer process from the pr-review-helper skill:
- release-to-dify-marketplace.mdx: full rewrite with a Tabs-based
pre-submission checklist, the exact 12-check reviewer table the
automated workflow runs, a Steps submit flow, AccordionGroup FAQ,
CardGroup related resources, and a PR-lifecycle table.
- release-overview.mdx: replace prose with a CardGroup chooser and a
comparison table (audience / review / install path / versioning /
best for).
- release-by-file.mdx: Steps for both packaging and installing,
CardGroup for next-step distribution methods.
- third-party-signature-verification.mdx: scenario CardGroup,
three-Step generate/sign/verify flow, three-Step daemon-enable flow.
- faq.mdx: add 'Why was my Marketplace PR rejected?' entry covering
the most common automated-check failures from the skill.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: add free Mintlify components (mermaid, check, icon)
- release-to-dify-marketplace.mdx: replace the static PNG submission
flowchart with a Mermaid diagram (renders dark-mode-friendly,
diff-friendly, no CDN dependency). Add Check callout confirming
auto-publish on merge.
- tool-oauth.mdx: add a Mermaid sequence diagram contrasting the
admin-side OAuth client setup with the per-user authorization flow,
matching the existing "two separate flows" narrative.
- release-overview.mdx: add inline `<Icon>` to the comparison table
header so each column reads as Marketplace/GitHub/Local at a glance.
- remote-debug-a-plugin.mdx, release-by-file.mdx,
release-to-individual-github-repo.mdx: add `<Check>` confirmations
after the verify-install step on each install path, so the reader
knows what "success" looks like and when they can stop following.
Snippets deferred — the translation pipeline operates on en/zh/ja
trees, so a root-level `snippets/` directory needs coordination with
tools/translate before adoption.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix: address correctness gaps in develop-plugin pages
* docs: align plugin type catalog and tighten heading case
* style: drop em dashes and tidy formatting in develop-plugin docs
* fix: address Copilot follow-up comments on develop-plugin docs
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: RiskeyL <7a8y@163.com>
* docs: flag workflow collaboration as self-hosted only
* docs: scope workflow collaboration to workspace members
* fix: correct tag casing on workflow collaboration page
* docs: 1.14 fixes for HITL events and Creator Center env vars (#764)
* docs: reorganize chatflow API tags and surface workflow_run_id
* refactor: update internal tooling for dify-graphon repo split
* fix: surface workflow_run_id in HITL stream events
* chore: tighten env-vars skill source-of-truth rule
* docs: document Creator Center env vars
* fix: use language-prefixed paths for non-api-reference links
* fix: drop redundant workflow_run_id from workflow HITL events
* fix: drop format uuid from chatflow HITL workflow_run_id
* docs: small fixes for self-host, workspace, and CJK disclaimers (#765)
* docs: shorten docker-compose section headings
* docs: update Team plan limit and remove Dataset Operator role
* fix: correct Japanese translation errors in workspace docs
* style: align AI translation disclaimers with CJK spacing rules
* style: add missing space between disclaimer link and particle in ja docs
* fix: point zh general-specifications disclaimer to en source
* fix: drop format uuid from chatflow workflow paused event
* docs: sync App Toolkit with dify#35442 follow-up settings (#757)
* docs: sync App Toolkit page with follow-up settings PR and UI labels
* fix: correct CJK format linter false positives
* chore: broaden post-writing audit scope to whole documents
* docs: address Copilot review on PR #754
Restore the Tab titles rule in formatting-zh.md, which had been trimmed
to a stub. Drop the First-Mention Rule entry from the terminology-check
skill's Output Format so the report sections match the Checks to
Perform sections (the corresponding check was removed earlier).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: document workflow collaboration feature (#758)
* docs: add workflow collaboration user guide
* docs: tighten style and formatting guides
* docs: avoid "please" in zh refer-to phrases
* fix: add CJK-Latin spacing in translation notice templates
* docs: add env var coordination to dify-docs-guides skill
* docs: document collaboration environment variables
* style: trim collaboration env var descriptions for consistency
* docs: add zoom menu tip for hiding comments and cursors
* docs: sync collaboration UI labels after upstream localization
* docs: rewrite orchestration logic for cross-workflow node copy-paste (#759)
* docs: rewrite orchestration logic and extend workflow-chatflow overview
* translate: update zh and ja for orchestration logic and overview
* docs: refine orchestration logic node reuse section
* docs: clarify MAX_TREE_DEPTH env var description
* fix: align zh title and body references with the glossary UI label
* fix: align EN node reuse text with zh/ja translations (User Input exception)
Agent-Logs-Url: https://github.com/langgenius/dify-docs/sessions/00e54676-8a43-4b6f-99f8-fef2495b054f
Co-authored-by: RiskeyL <36894937+RiskeyL@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* docs: note HTTPS requirement for cross-workflow node paste (#761)
* docs: HITL Service API polish and 1.14 release follow-ups (#760)
* feat: add env var ignore-list consumed by the verifier
* docs: add 1.14 env vars and correct drifted defaults
* fix: correct knowledge pipeline datasource-plugins response in api references
* chore: record 1.14 env var traces in deep-dive
* docs: update HITL Service API documentation
* docs: clarify /api-reference/ link convention in formatting guide
* docs: update marketplace publish flow
* fix: drop duplicate workflow_run_id from HITL event data schemas
The three HITL event schemas (StreamEventHumanInputRequired,
StreamEventHumanInputFormFilled, StreamEventHumanInputFormTimeout)
declared `workflow_run_id` inside `data.properties`, but
`HumanInputRequiredResponse` in `api/core/app/entities/task_entities.py`
defines `workflow_run_id` only as a top-level field on the response
(alongside `event` and `task_id`); its inner `Data` class doesn't carry
one. The OpenAPI spec already provides top-level `workflow_run_id` via
the `$ref: StreamEventBase` in the `allOf` composition, so the inline
duplicate was a phantom field that doesn't exist in the actual payload.
Remove the inline `workflow_run_id` from `data.properties` in all three
HITL event schemas across all six spec files. This relies on
`StreamEventBase` to provide `workflow_run_id` at the top level via
composition, matching how every other event schema in this spec handles
it (e.g., `StreamEventWorkflowStarted`).
Reported by Copilot on PR #756.
* fix: address Copilot's review comments
* feat: skip api-reference paths in internal link checker
The /api-reference/... URL convention (no language prefix, derived
from OpenAPI tag/summary) generates pages that Mintlify auto-builds
rather than from filesystem MDX files, so the existing filesystem
resolution logic flags every such link as broken.
Skip both filesystem-existence and anchor validation for any URL
containing /api-reference/, mirroring the existing
anchor_check_skipped behaviour. The convention is documented in
writing-guides/formatting-guide.md.
Caveat: typos in tag or summary slugs will now pass silently. A
follow-up could parse the OpenAPI specs to validate against the
real tag/summary kebab pairs if hand-written api-reference links
become common enough to warrant it.
* fix: correct CORS anchor in ja environments page
Inline link [CORS設定](#cors 設定) used a literal space, but the
heading "CORS 設定" slugifies to "cors-設定" (whitespace replaced
with hyphen). Update the anchor to #cors-設定.
* fix: align datasource-plugins is_published and 200 description with node framing
* fix: clarify chatflow stream workflow events task_id origin
* docs: address HITL Service API reader-test feedback
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* style: move trailing colons outside bold asterisks
Relocates colons from inside bold markers (`**Start:**`) to after them (`**Start**:`) across en, zh, and ja. Colons that sit inside bold markers can break rendering when adjacent to other inline syntax, so keeping them outside produces more reliable output. Preserves colon width (half-width and full-width) and leaves code fences and inline code spans untouched.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* style: normalize punctuation widths across en, zh, ja
Corrects punctuation width to match the surrounding language: full-width forms (,。:?()) in Chinese and Japanese prose when adjacent to CJK characters, half-width forms in English prose. Japanese uses 、 for commas. One Latin-heavy list in ja/use-dify/workspace/model-providers.mdx was left untouched because converting only its trailing comma would break visual consistency.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: document frontmatter quoting rule
Replaces the vague "quote values that contain special characters" guidance with a concrete rule: leave values unquoted by default, wrap in double quotes only when the value contains a colon followed by a space. This is the one case where YAML would otherwise misparse the value. Example frontmatter block updated to show bare values.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* style: remove triple-asterisk horizontal rule dividers
Deletes standalone *** divider lines across en, zh, and ja docs. Our pages rely on headings for structure, so horizontal rules add visual noise without carrying meaning. Excludes the versions/ folder and use-dify/knowledge/create-knowledge/import-text-data/readme.mdx where the dividers serve a layout purpose. Code fences are left untouched.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* style: convert -ing headings to base form across en docs
Applies the formatting guide's heading verb rule to ~111 headings and frontmatter titles: `Creating X` becomes `Create X`, `Publishing the Plugin` becomes `Publish the Plugin`, and so on. Preserves noun-phrase gerund headings that name a concept or feature (`Troubleshooting`, `Getting Started`, `Monitoring Data List`, `Streaming Output`, etc.) and skips heading-less gerunds used as adjectives (`Publishing Methods`, `Mounting & Volumes`). Heading numeric prefixes like `### 6.` are handled before verb detection. Also fixes two pre-existing missing-space issues on numbered headings in embedding-in-websites.mdx.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat: add English and CJK format-check skills
Adds two post-writing verification skills under .claude/skills/. Each combines a Python linter for mechanical rules with a SKILL.md prose section for judgment-call rules, following the same pattern as dify-docs-terminology-check. The English skill enforces every rule in writing-guides/formatting-guide.md. The CJK skill covers general rules plus the Chinese-specific rules in tools/translate/formatting-zh.md and the Japanese-specific rules in tools/translate/formatting-ja.md, auto-selecting the rule set based on the file path. Both linters skip fenced code blocks, inline code spans, and markdown link syntax where appropriate, and they exempt the translation disclaimer from the cross-language link check so zh/ja pages can continue to link back to their English source.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: centralize post-writing verification in writing-guides index
Moves the canonical list of post-writing checks into writing-guides/index.md so it lives in one place, adds the two new format-check skills to that list, and shortens the Post-Writing Verification section in each writing skill (guides, api-reference, env-vars) to a one-line pointer. Also unwraps a pre-existing hard-wrapped paragraph in the api-reference skill's Cross-API Links section.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix: address Copilot review comments
Applies twelve fixes raised in the PR review:
- Corrects the "Veriyfing" typo in a newly-renamed en heading and updates it to the imperative base form (Verify).
- Removes a stray empty secondary frontmatter block from the same file.
- Restores four garbled translation strings that were flagged by the reviewer (ja loop-variable description, ja conversation_id bullet, zh team-member access description, zh annotation-threshold sentence).
- Repairs an unbalanced bold markup in ja/use-dify/workspace/team-members-management.mdx introduced by the earlier bold-colon relocation pass.
- Converts half-width colons to full-width `:` after bold labels adjacent to CJK across 26 ja and 2 zh files (174 occurrences). The earlier bold-colon pass moved the colons outside `**...**` but left them half-width; Japanese and Chinese prose use `:` next to CJK.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix: address second round of Copilot review comments
Covers nine findings from the follow-up review:
- Extends the bold-colon width fix to any `**...**:` pattern on a line containing CJK, not only when the bolded text itself contains CJK. Catches 34 occurrences in 11 ja and zh files such as `**CentOS**:`, `**Windows**:`, and `- **Professional**:` where the bolded label is Latin but the surrounding prose is Japanese or Chinese.
- Replaces `左上角` with `左上` in three ja files. The original translation carried over the Chinese term instead of using the natural Japanese form.
- Unquotes 99 frontmatter values across 56 en files that were wrapped in single or double quotes without any `: ` in the value. Converts the four single-quoted values to unquoted, matching the new frontmatter quoting rule documented in the formatting guide.
- Converts one stray `**Vector Search Settings**:` in en/use-dify/knowledge/create-knowledge/setting-indexing-methods.mdx back to `:` so English prose uses half-width punctuation.
- Relaxes `_yaml_needs_quotes()` in both format-check linters to match the documented rule (quote only when the value contains `: `). The previous stricter check flagged cases the guide intentionally left unquoted, which would make the skills report violations that the guide does not treat as errors.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: add image rules to style and formatting guides
* refactor: migrate images to content-domain folder structure
* docs: align image syntax and alt text with new rules across languages
* feat: add anchor validation to internal link checker
* fix: correct stale anchor links in en/zh/ja docs
* refactor: address Copilot feedback on link checker
* docs: rewrite the variable aggregator node page
* translate: update variable aggregator page for zh and ja
* fix: address review feedback on variable aggregator page
Remove trailing whitespace in en page and restore translation
disclaimers on zh and ja pages for consistency with other translated
node pages.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: require translation disclaimer on all zh/ja pages
Add a Translation Disclaimer section to both zh and ja formatting
guides. Every translated page must include the disclaimer regardless
of review status, since the English source is always canonical and
readers benefit from a consistent pointer on every page.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: clarify variable aggregator usage in trigger pages
Simplify the guidance on using a Variable Aggregator to converge
plugin and webhook trigger branches. Align zh and ja translations
with the glossary term (变量聚合器 / 変数集約器).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: rewrite Output node page and add API mode glossary terms
* translate: sync zh/ja Output node pages with rewritten English source
* style: add link spacing rule for ja and expand anchor rule to cover Tab titles
* fix: remove trailing whitespace in en and replace em dashes in zh
* docs: document datasource_info_list per-type schemas for Run Pipeline API
* docs: improve Run Pipeline parameter descriptions and SSE event documentation
* translate: sync zh/ja pipeline API specs with English schema updates
* fix: address Copilot's PR review feedback on pipeline API docs
* style: add punctuation spacing and API cross-link rules to translation guides
These 8 files in ja/ have no corresponding English source in en/
and are not referenced in docs.json. They were likely left behind
during previous content reorganization (missed by #731).
Co-authored-by: guwenxiang <guwenxiang@hailiang.com>
* feat: add feature research skill and update writing guide index
* style: add quotation mark and backtick usage rules to formatting guide
* chore: require pulling latest Dify code before codebase checks in skills
* fix: address PR review feedback on formatting guide and task index
* fix: fix all broken links
* feat: add link-checking GitHub workflow
* fix: convert relative links to absolute paths in knowledge-pipeline pages
* fix: address Copilot review comments on link checker and ja docs
* feat: split link checks into per-PR internal and weekly external workflows
* feat: optimize the docs-release-sync skill
* docs: add doc_form validation to knowledge API spec
* docs: update AI Credits/Default Model Settings terminology
* Add property type migration to Weaviate migration script
Handle uuid→text conversion for document_id/doc_id and remove spurious
moduleConfig from chunk_index during schema migration. This fixes
property type incompatibilities that could cause issues even when
vectorConfig is already correct.
Fixes the following failure scenarios in the old script:
1. Schema type mismatch: Old script copies properties as-is, preserving
uuid type for document_id/doc_id. Dify expects text type, so the
migrated collection appears successful but Dify fails at runtime.
2. UUID object insertion failure: When source collection has uuid-typed
fields, the Weaviate client returns Python UUID objects. Writing these
into text-typed fields causes batch insert errors, leading to data
loss or migration abort.
3. moduleConfig rejection: Stale moduleConfig on chunk_index from older
Weaviate versions can cause collection creation to fail on newer
Weaviate, aborting migration entirely.
4. Partial migration blindspot: Collections already migrated for
vectorConfig but still carrying wrong property types were skipped
with "NEW SCHEMA (skip)", leaving silent incompatibilities.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Add connection configuration comments with usage examples
Document how to configure Weaviate connection for both in-container
and local (port-forward) scenarios, and clarify derived values.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix data loss risk: verify copy before deleting migrated collection
Reorder replace_old_collection to prevent data loss on failure:
- Fetch schema BEFORE deleting anything
- Wrap data copy in try/except to preserve migrated collection on error
- Add count verification after copy, keep migrated as backup on mismatch
- Only delete the migrated collection after full verification passes
- Print recovery instructions (collection name) on every failure path
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: use Weaviate iterator and fixed-size batch per official recommendation
Replace manual cursor-based fetch_objects pagination with collection.iterator()
and switch batch.dynamic() to batch.fixed_size() to prevent overwhelming the
server during co-located migrations. Addresses review feedback from Weaviate team.
* fix: remove misleading BATCH_SIZE env var comment (hardcoded, not configurable)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* update environment variable documentation based on latest code using AI
* docs: remove Cloud-only variables
* translate: add zh and ja translations for the env var doc
* Batch update service apis
* final check and add zh/ja docs
* add temporary redirects for changed api links embedded in the product
* Restore original operationIds to preserve SDK compatibility
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* complete the missing descriptions
* correct the human input terminology
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>