Skip to content

Add dike-dify-tools plugin (v0.0.2) - #3074

Merged
crazywoola merged 1 commit into
langgenius:mainfrom
fr3on:bump-dike-dify-tools-0.0.2
Sep 13, 2026
Merged

Add dike-dify-tools plugin (v0.0.2)#3074
crazywoola merged 1 commit into
langgenius:mainfrom
fr3on:bump-dike-dify-tools-0.0.2

Conversation

@fr3on

@fr3on fr3on commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Plugin Submission

Plugin information

Submission type

  • New plugin
  • Version update

What changed

Supersedes #3065, which is stuck on a stale action_required CI approval and had two real bugs found by a user installing v0.0.1 locally before the CI ever ran:

  1. pyproject.toml had an HTML-escaped &lt; instead of < in the dify-plugin version constraint, which is invalid PEP 508 and made Dify's own dependency installer fail outright at plugin-install time. Also added the missing requests dependency there (used directly by the plugin's HTTP client) so pyproject.toml stays in sync with requirements.txt.
  2. README.md/PRIVACY.md linked to a stale fr3on/dike-dify-tools repo instead of the actual source at dikeai/plugins/dike-dify-tools.
  3. manifest.yaml was also missing the repo/contact fields required by this repo's own pre-check, and four tool parameters (year_from/year_to/status in dike_reason, direction in dike_graph_traverse) were missing the required human_description field.

Since v0.0.1 was never actually approved/published, this submission is v0.0.2 with all of the above fixed, rather than a real version-update diff against a published release. Adds Dike Legal Search, a Dify tool plugin wrapping four grounded MENA legal research capabilities as native Dify tools: dike_search (hybrid semantic + lexical search over verified Saudi, Egyptian, and Emirati legislation, court rulings, and fatawa), dike_reason (grounded Q&A where every citation is verified against the retrieved source set before being returned, unverifiable claims dropped rather than fabricated), dike_cite (parses and resolves an Arabic legal citation string to its canonical source document), and dike_graph_traverse (finds documents that cite, amend, repeal, implement, or interpret a given document).

Risk level

  • Low risk
  • Medium risk
  • High risk

The plugin only calls fixed, documented Dike API HTTPS endpoints (api.dike.it.com by default, or a self-hosted instance if the user configures a different base URL) with a user-supplied API key. It does not execute code/SQL, does not use SSH/filesystem/browser automation, does not process uploaded files, and does not fetch arbitrary user-controlled URLs.

Required checks

  • I have read and followed the Marketplace submission requirements.
  • I have read and comply with the Plugin Developer Agreement.
  • I tested this plugin on Dify Community Edition and Dify Cloud, or documented any limitation below.
  • The package contains only files needed at runtime.
  • The package does not contain secrets, local credentials, .env files, .git directories, virtual environments, caches, logs, or IDE files.
  • The package does not contain executables or bundled binaries, or I explained why they are required below.
  • The plugin README includes setup steps, usage instructions, required APIs or credentials, connection requirements, and the source repository link.
  • The plugin includes PRIVACY.md, and manifest.yaml references it.
  • All user-facing text is primarily in English.

Security and privacy notes

The plugin sends whatever query/question/citation/canonical-ID the calling Dify app supplies to the configured Dike API and returns Dike's response. It does not persist the API key or any query/answer content beyond the single request being handled, and does not log API key values. No other sensitive capabilities. Documented in PRIVACY.md.

Local validation

Packaged with the official Dify plugin CLI (dify-plugin):
dify-plugin plugin package ./dike-dify-tools -o ./dike-dify-tools-0.0.2.difypkg
Verified pyproject.toml's dependency specifiers parse with packaging.requirements.Requirement, and that python3 -m main inside the unpacked plugin loads cleanly end-to-end (logs "Installed tool: dike", no ValidationError) -- this is the exact failure mode a real user hit installing v0.0.1, now fixed and re-verified.

Reviewer notes

This is a resubmission of #3065 at v0.0.2 with the fixes above; #3065 will be closed in favor of this PR. A user did install and hit the v0.0.1 dependency-install failure directly on their own Dify instance, confirming both the bug and (informally) that the plugin otherwise installs/loads; a full end-to-end test of v0.0.2 against a live instance has not been repeated yet, only the local unpacked-plugin load check described above.

@github-actions github-actions Bot added the risk: low Low-risk Marketplace submission label Sep 13, 2026
@crazywoola
crazywoola merged commit 0655a07 into langgenius:main Sep 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: low Low-risk Marketplace submission

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants