BookStack Plugin for Dify connects Dify workflows and agents to self-hosted BookStack knowledge bases. The plugin provides BookStack foundation capabilities inside Dify; higher-level business composition, approval, and orchestration belong to your workflow or adapter layer. Today this plugin covers content lookup, search, export, non-destructive CRUD support, publishing, and related support flows.
Implemented Dify Tool plugin features:
validate_credentialssearch_pagessearch_contentget_pageexport_page_markdownexport_chapter_markdownexport_book_markdowncreate_pageupdate_pagepublish_pagelist_booksfind_booksget_bookcreate_bookupdate_booklist_chaptersfind_chaptersget_chaptercreate_chapterupdate_chapterlist_shelvesfind_shelvesget_shelfcreate_shelfupdate_shelflist_pagesfind_pageslist_tag_nameslist_tag_values
Current tool-surface notes:
- No delete or archive tools are implemented.
- Tag support in this slice is discovery-only via
list_tag_namesandlist_tag_values. search_pagesis page-only search.search_contentis broader global search with optional supported type filtering.export_page_markdownexports one page;export_chapter_markdownandexport_book_markdownreturn both aggregate Markdown and a structuredpageslist for the exported hierarchy.find_*tools are structured name lookups;list_*tools support destination and content discovery.list_books,list_chapters,list_pages, andlist_shelvessupport optional boundedsortand JSONfilters;list_pagesalso keeps optionalbook_idandchapter_idfiltering.publish_pageis the writing/publishing path after you choose or confirm the destination with search, find, or list tools.- Tool plugin remains the primary path; Datasource work is separate and still broader follow-up scope.
Current repository direction:
- Tool plugin first
- A separate Datasource package track exists in this repository, but it is not the primary Marketplace-facing path
- Broader Datasource work remains planned
- Build the release packages from this repository with
python scripts/build_release_packages.py --clean. - Import it into a Dify environment that supports plugin installation.
- Open the BookStack provider settings in Dify.
- Enter your BookStack
base_url,token_id, andtoken_secretin the Dify UI.
- Run
python scripts/build_release_packages.py --cleanto rebuild both the Tool and Datasource.difypkgarchives. - The script is the canonical build path and now performs local archive validation automatically before release upload.
- Validation rejects missing
README.md/PRIVACY.mdand cache artifacts such as__pycache__or.pycfiles. - The packaging helper is intended to work on both Windows and Linux; printed
gh release uploadexamples use portable forward-slash paths. - Optional release helper:
python scripts/build_release_packages.py --clean --release-tag <tag>prints thegh release upload ... --clobbercommand for replacing release assets after local validation. - Only use
--replace-release-assetswhen you intentionally want the script to run that GitHub upload step. .github/workflows/release-packages.ymlis the repository-managed GitHub Actions path: tag pushes (v*) and manual runs build, validate, and upload the two.difypkgfiles as workflow artifacts.- Release-asset publication stays manual and guarded: use
workflow_dispatch, setpublish_release_assets=true, provide an existing release tag, and grant the workflowcontents: writepermission for that run.
See the consolidated guides:
Recommended first step:
- Save provider credentials.
- Run
validate_credentials. - Confirm the provider can reach the target BookStack instance.
- Use search, find, and list tools to inspect or choose destinations, then use export or non-delete create/update/publish tools as needed.
More information is covered in the usage guides above.
The plugin uses credentials provided by the user and connects only to the configured BookStack instance through the Dify runtime. Privacy and credential handling guidance is covered in the usage guides and PRIVACY.md.
- Repository: https://github.com/pandaria75/dify-plugin-bookstack
- Issues / support: https://github.com/pandaria75/dify-plugin-bookstack/issues
- Architecture intent: docs/target/architecture-intent.md
MIT. See LICENSE.