Skip to content

Commit 0bcf66d

Browse files
authored
Add BookStack plugin v0.0.1 submission package (#2616)
1 parent 8adcd04 commit 0bcf66d

73 files changed

Lines changed: 6726 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

gaohaoyv/bookstack/.difyignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.git/
2+
.task/
3+
.agents/
4+
.aiassistant/
5+
tests/
6+
__pycache__/
7+
**/__pycache__/
8+
*.pyc
9+
*.difypkg
10+
dist/
11+
bookstack_datasource/

gaohaoyv/bookstack/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 gaohaoyv
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

gaohaoyv/bookstack/PRIVACY.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Privacy Policy
2+
3+
This plugin uses credentials supplied by the user through the Dify provider form and connects only to the configured BookStack instance through the Dify runtime operated by the user.
4+
5+
## Data Handling
6+
7+
- The plugin may read BookStack books, chapters, and pages, may search pages, and may create or update BookStack pages only when the user invokes the corresponding tools.
8+
- The plugin does not persist BookStack credentials.
9+
- The plugin does not log `token_secret` values.
10+
- The plugin does not send data to third parties beyond the configured BookStack instance and the Dify runtime that executes the plugin.
11+
12+
## Redaction Guidance
13+
14+
When documenting or capturing screenshots, redact:
15+
16+
- real BookStack hosts or URLs
17+
- real token values
18+
- raw `Authorization` headers
19+
- user names
20+
- internal project names
21+
- production page URLs or identifiers
22+
23+
## Scope Note
24+
25+
This policy describes the current Tool plugin privacy baseline. It does not cover future Datasource packaging or any separate submission track unless that work is explicitly brought into scope.

gaohaoyv/bookstack/README.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# BookStack Plugin for Dify
2+
3+
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.
4+
5+
## Current implemented features
6+
7+
Implemented Dify Tool plugin features:
8+
9+
- `validate_credentials`
10+
- `search_pages`
11+
- `search_content`
12+
- `get_page`
13+
- `export_page_markdown`
14+
- `export_chapter_markdown`
15+
- `export_book_markdown`
16+
- `create_page`
17+
- `update_page`
18+
- `publish_page`
19+
- `list_books`
20+
- `find_books`
21+
- `get_book`
22+
- `create_book`
23+
- `update_book`
24+
- `list_chapters`
25+
- `find_chapters`
26+
- `get_chapter`
27+
- `create_chapter`
28+
- `update_chapter`
29+
- `list_shelves`
30+
- `find_shelves`
31+
- `get_shelf`
32+
- `create_shelf`
33+
- `update_shelf`
34+
- `list_pages`
35+
- `find_pages`
36+
- `list_tag_names`
37+
- `list_tag_values`
38+
39+
Current tool-surface notes:
40+
41+
- No delete or archive tools are implemented.
42+
- Tag support in this slice is discovery-only via `list_tag_names` and `list_tag_values`.
43+
- `search_pages` is page-only search.
44+
- `search_content` is broader global search with optional supported type filtering.
45+
- `export_page_markdown` exports one page; `export_chapter_markdown` and `export_book_markdown` return both aggregate Markdown and a structured `pages` list for the exported hierarchy.
46+
- `find_*` tools are structured name lookups; `list_*` tools support destination and content discovery.
47+
- `list_books`, `list_chapters`, `list_pages`, and `list_shelves` support optional bounded `sort` and JSON `filters`; `list_pages` also keeps optional `book_id` and `chapter_id` filtering.
48+
- `publish_page` is the writing/publishing path after you choose or confirm the destination with search, find, or list tools.
49+
- Tool plugin remains the primary path; Datasource work is separate and still broader follow-up scope.
50+
51+
Current repository direction:
52+
53+
- Tool plugin first
54+
- A separate Datasource package track exists in this repository, but it is not the primary Marketplace-facing path
55+
- Broader Datasource work remains planned
56+
57+
## Setup
58+
59+
1. Build or obtain the plugin package from this repository.
60+
2. Import it into a Dify environment that supports plugin installation.
61+
3. Open the BookStack provider settings in Dify.
62+
4. Enter your BookStack `base_url`, `token_id`, and `token_secret` in the Dify UI.
63+
64+
See the consolidated guides:
65+
66+
- [English usage guide](https://github.com/pandaria75/dify-plugin-bookstack/blob/main/docs/user/en/usage.md)
67+
- [Chinese usage guide](https://github.com/pandaria75/dify-plugin-bookstack/blob/main/docs/user/zh/usage.md)
68+
69+
## Usage
70+
71+
Recommended first step:
72+
73+
1. Save provider credentials.
74+
2. Run `validate_credentials`.
75+
3. Confirm the provider can reach the target BookStack instance.
76+
4. Use search, find, and list tools to inspect or choose destinations, then use export or non-delete create/update/publish tools as needed.
77+
78+
More information is covered in the usage guides above.
79+
80+
## Privacy
81+
82+
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](PRIVACY.md).
83+
84+
## Repository and support
85+
86+
- Repository: <https://github.com/pandaria75/dify-plugin-bookstack>
87+
- Issues / support: <https://github.com/pandaria75/dify-plugin-bookstack/issues>
88+
- Architecture intent: [docs/target/architecture-intent.md](https://github.com/pandaria75/dify-plugin-bookstack/blob/main/docs/target/architecture-intent.md)
89+
90+
## License
91+
92+
MIT. See [LICENSE](LICENSE).
Lines changed: 6 additions & 0 deletions
Loading
67.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)