Repository navigation
Update Thordata SERP plugin to v0.1.1 (README rewrite) - #3367
Open
ThorData2026 wants to merge 1 commit into
Open
ThorData2026 wants to merge 1 commit into
ThorData2026 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plugin Submission
Plugin information
Submission type
What changed
Documentation-only release.
README.mdwas rewritten so the Marketplace page carries the setup path and the value of the plugin: what the 34 generated engine tools cover, how to create a Thordata account and paste the API Token, the credential-validation behavior, the two declared network endpoints, and where to get support.No runtime behavior changed. The tool set, the provider code, the bundled schema snapshot, and the declared network domains are identical to 0.1.0.
manifest.yamlandpyproject.tomlwere bumped to 0.1.1, and the unit test that pins the manifest version was updated to match. There are no breaking changes and nothing to migrate.Risk level
Unchanged from 0.1.0. The plugin sends user-provided search queries and engine parameters to a third-party service.
Required checks
.envfiles,.gitdirectories, virtual environments, caches, logs, or IDE files.PRIVACY.mdor a hosted privacy policy, andmanifest.yamlreferences it.Security and privacy notes
Unchanged from 0.1.0; this release only changes documentation.
Network egress is limited to two fixed, documented HTTPS endpoints, both declared in
manifest.yamlundernetwork.domains:https://api.thordata.com/serp/playground/schema?lang=enretrieves the public engine schema and sends no API key.https://scraperapi.thordata.com/requestperforms the authenticated search.The endpoints are hard-coded in the provider. The plugin exposes no endpoint override, does not accept user-supplied URLs, does not follow redirects, and does not proxy or crawl arbitrary destinations, so it cannot be used as an open proxy or SSRF primitive. Outbound request targets are therefore not user-controlled.
The provider credential is a Thordata SERP API key supplied by Dify. It is read from the provider credentials, held in memory for the duration of a request, and redacted from expected error messages before they cross the tool boundary. The plugin does not write the key, the query, or the results to disk or to logs, and does not persist any of them.
User-provided data is limited to the search query and engine-specific search parameters (for example language, country, and location targeting). These are transmitted over HTTPS to Thordata solely to perform the requested search, and the structured response is returned to the Dify runtime.
The plugin performs no command execution, no code execution, no SQL or database access, no SSH/SFTP, no filesystem operations, and no browser automation. It processes no uploaded files and handles no health, financial, biometric, children, or authentication data. A
PRIVACY.mdis included in the package and referenced frommanifest.yaml.Local validation
The submitted package was unpacked and checked offline with the Marketplace validator suite (
langgenius/dify-marketplace-toolkit), running the same scripts thePre Check Pluginworkflow runs:check-package-contents.py- passedcheck-package-secrets.py- passed (warnings only: two generic "review possible secret field" notes, on the stringtiktokeninside the pinnedrequirements.txtand on the constant name_API_KEY_ERROR)check-package-binaries.py- passed (the only output is a per-file "has executable permission" note, which is an artifact of checking a Windows-extracted tree where every file reports as executable; there are no executables or native binaries in the archive)check-manifest-metadata.py- passed (single warning:meta.minimum_dify_versionis intentionally not declared)check-readme-metadata.py- passedcheck-package-dependencies.py- passedcheck-sensitive-capabilities.py- passedcheck-python-safety-warnings.py- passed (warnings only; they flag the functions that exist to redact the credential)check-prohibited-financial-activity.py- passedcheck-pr-body.py,check-pr-review-notes.py- passedcheck-version-update.py- passed;0.1.1sorts above the0.1.0package already in this directoryThe Marketplace API has no
thordata/thordata_serp/0.1.1release (404), and every file in the archive was verified byte-for-byte against the tagged source revision except the generatedrequirements.txt.The plugin's own offline unit test suite was run against this source revision: 737 passed, 2 skipped, 1 failed. The one failure is
tests/test_project_layout.py::test_plugin_is_nested_under_dify_workspace, which asserts that a siblingtutorial/directory exists next to the plugin checkout in the author's local workspace. It is an environment layout assertion unrelated to plugin behavior, andtests/is not part of the package.Reviewer notes
This is a documentation-only update on top of the merged 0.1.0. The only intended user-visible difference is the Marketplace page text and the README shipped inside the package.
The submitter has still not exercised this package end to end inside a live Dify Community Edition or Dify Cloud instance; please treat in-Dify behavior as unverified pending reviewer testing.