Skip to content

Add The Grid plugin 0.0.1 - #3041

Open
CastilloLuis wants to merge 2 commits into
langgenius:mainfrom
the-gridai:thegridai/thegrid-community-plugin
Open

Add The Grid plugin 0.0.1#3041
CastilloLuis wants to merge 2 commits into
langgenius:mainfrom
the-gridai:thegridai/thegrid-community-plugin

Conversation

@CastilloLuis

@CastilloLuis CastilloLuis commented Sep 8, 2026

Copy link
Copy Markdown

Plugin Submission

Plugin information

Submission type

  • New plugin
  • Version update

What changed

Adds The Grid as a model provider. The Grid is an inference marketplace that serves models from several labs behind one OpenAI-compatible API.

Model names are capability tiers rather than a specific lab's model name: text-standard, code-prime and agent-max each route to a model that currently qualifies for that tier, so an app keeps working when the underlying model is replaced. 17 instruments are declared, including lab-pinned ones such as claude-opus-latest and gemini-pro-latest.

It subclasses OAICompatLargeLanguageModel with no custom request logic: base URL, mode, function_calling_type and stream_function_calling only. supported_model_types is [llm] alone, because The Grid returns 404 for /v1/completions and /v1/embeddings.

This was originally opened against langgenius/dify-official-plugins (#3839) and closed there with a request to submit it here under our own publisher identity instead. Resubmitting accordingly, with author: the-gridai.

Risk level

  • Low risk
  • Medium risk
  • High risk

The plugin only calls a fixed, documented third-party HTTPS API (https://api.thegrid.ai/v1, overridable by the user in provider settings). It executes no user-controlled code, commands, SQL or file operations, and performs no browser automation or arbitrary network requests.

Required checks

  • I have read and followed the Marketplace submission requirements.
  • I have read and comply with the Plugin Developer Agreement.
  • [x ] 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 or a hosted privacy policy, and manifest.yaml references it.
  • All user-facing text is primarily in English, with any localized README files following the i18n guidance.

Two boxes deliberately left unticked, rather than ticked inaccurately:

  • Plugin Developer Agreement. I would rather the account owner tick this himself than assert it on his behalf. It will be checked before you spend review time; flag it if that blocks triage.
  • Tested on Dify CE and Cloud. I have not installed this into a Dify instance. What I did run is below, and I would rather state the gap than imply coverage I do not have.

Security and privacy notes

None of the sensitive capabilities listed in the requirements apply. No command or code execution, no SQL, no SSH/SFTP, no filesystem operations, no browser automation, no arbitrary URL fetching or proxying.

Data flow: prompts, tool definitions and generation parameters are sent to The Grid's API, authenticated with a bearer key the user supplies in provider settings. The plugin stores nothing and logs no prompt or response content. PRIVACY.md documents this, including that The Grid routes each request to a supplier that currently qualifies for the selected instrument, so prompt content reaches that supplier in order to be served.

One connection requirement worth flagging for reviewers: api.thegrid.ai/v1/* answers with a 307 redirect to a signed URL on the same host. The requests-based transport in dify_plugin follows it, so nothing special is needed, but an egress proxy in front of Dify must allow redirects. This is documented in the README.

Local validation

Exercised the plugin class directly against the live API, not mocked:

all 17 predefined model schemas parse into AIModelEntity
validate_credentials("text-standard", ...)      OK
streaming invoke                                72 chunks, correct content
tool calling on agent-standard                  get_weather({"city": "Paris"})
_position.yaml covers exactly the 17 model files, no drift

Package checks:

36 entries, 18 KB
disallowed entries (pycache/pyc/.git/uv.lock)   none
manifest at root, PRIVACY.md, README.md         present
manifest reads back: author=the-gridai name=thegrid version=0.0.1
secret scan across package                      clean

Reviewer notes

No pricing block on any model definition. The Grid is market-priced and its catalog currently returns "pricing": null for every instrument, so any static per-token figure would be wrong shortly after merge.

No enable_thinking toggle. Reasoning is mandatory on the standard and prime tiers; I tested passing a disable flag and the instruments still emitted reasoning tokens, so a toggle would misrepresent behaviour. reasoning_effort is exposed instead, with each instrument's actual supported values taken from the catalog.

kimi-latest has max_tokens capped at 131072 with a comment explaining why: the catalog reports max_completion_tokens equal to its full 1,048,576 context window, which cannot be an output ceiling.

Disclosure: I work on The Grid.

pre-check-plugin failed with:

  - missing required field: repo
  - missing required field: contact
  - missing recommended field: meta.minimum_dify_version

Adds all three. repo points at the plugin source, contact is the
project's support address, and 1.7.1 is the floor most merged plugins on
the same dify_plugin>=0.9.0 SDK line declare. Package contents are
otherwise byte-identical; only manifest.yaml changed.
CastilloLuis added a commit to the-gridai/dify-official-plugins that referenced this pull request Sep 9, 2026
The community submission (langgenius/dify-plugins#3041) fails pre-check
without repo and contact. Keeping the source manifest in step so a
rebuild does not drop them again.
@CastilloLuis

Copy link
Copy Markdown
Author

Fixed the pre-check-plugin failure. It reported:

- missing required field: repo
- missing required field: contact
- missing recommended field: meta.minimum_dify_version

The repacked .difypkg adds all three:

Nothing else in the package changed: same 36 entries, only manifest.yaml differs. The source manifest upstream was updated to match so a rebuild will not drop the fields again.

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.

1 participant