Skip to content

feat: update ecohash model plugin to 0.0.3 - #3121

Open
wangwei-ecohash wants to merge 1 commit into
langgenius:mainfrom
ecohash-ai:ecohash-0.0.3
Open

wangwei-ecohash wants to merge 1 commit into
langgenius:mainfrom
ecohash-ai:ecohash-0.0.3

Conversation

@wangwei-ecohash

Copy link
Copy Markdown

Plugin Submission

Plugin information

Submission type

  • New plugin
  • Version update

What changed

The predefined model list had drifted from the EcoHash catalog. Four models shipped in 0.0.2 are no longer served and fail when a user selects them in Dify, including qwen2.5-7b-instruct. This release removes those four, adds four current vision-capable LLMs, and changes how the list is generated so it cannot drift back.

  • Removed: qwen2.5-7b-instruct, gemma-4-31b-it, qwen3-embedding-4b, qwen3-embedding-8b
  • Added: qwen3.5-27b, qwen3.6-27b, qwen3.6-35b-a3b, qwen3.8-27b
  • The model sync script now predefines only models EcoHash serves on its own hardware
  • Removed tracked __pycache__ bytecode from the repository
  • README rewritten with current setup steps and model list; added CHANGELOG.md

No breaking changes. The provider id, credential schema and model interfaces are unchanged.

Risk level

  • Low risk
  • Medium risk
  • High risk

The plugin calls one fixed HTTPS endpoint, https://api.ecohash.com/v1, which is hardcoded in the source and not user-configurable. It executes no code, commands or SQL, performs no file operations or browser automation, and makes no arbitrary network requests.

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 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.

Security and privacy notes

No sensitive capability. The plugin forwards prompts, documents and model parameters to the EcoHash inference API and returns the response. The API key is stored by Dify as a provider credential and sent as a bearer token; the plugin does not log it. Data handling is described in PRIVACY.md, which manifest.yaml references.

Local validation

Verified on Dify Community Edition 1.17.1, self-hosted with Docker Compose, against the exact package in this PR (sha256 78eab19e5a46dc672ca411c6d52df535cece1002ab2806a1e5c4ebe36b1f3f98).

Install:

POST /console/api/workspaces/current/plugin/upload/pkg
  -> ecohash/ecohash:0.0.3@7f23cb7ce473f5bb4c7d659cb126b8540518bb3a046ff33ecc4ed85c149c7d73
POST /console/api/workspaces/current/plugin/install/pkg
  -> task status: success, plugin status: installed

Credentials and model list:

POST .../model-providers/ecohash%2Fecohash%2Fecohash/credentials  -> {"result":"success"}
GET  .../model-providers/ecohash%2Fecohash%2Fecohash/models
  -> 14 models {'llm': 10, 'text-embedding': 3, 'rerank': 1}, all status active
     llm: gpt-oss-20b, llama-3.1-8b-instruct, qwen3-coder-30b-a3b-instruct,
          qwen3-omni-30b-a3b-instruct, qwen3-vl-8b-instruct, qwen3.5-27b,
          qwen3.5-35b-a3b, qwen3.6-27b, qwen3.6-35b-a3b, qwen3.8-27b
     text-embedding: jina-embeddings-v3, jina-embeddings-v4, qwen3-embedding-0.6b
     rerank: bge-reranker-v2-m3

Inference through a Dify app:

POST /console/api/apps/<app_id>/chat-messages  query: "Reply with exactly: plugin ok"
  -> answer "plugin ok"
     usage: 25 prompt + 3 completion tokens, $0.0000034, latency 0.249 s

Package contents, confirming no non-runtime files:

.difyignore  CHANGELOG.md  LICENSE  PRIVACY.md  README.md
_assets/  main.py  manifest.yaml  models/  provider/
readme/README_zh_Hans.md  requirements.txt

Reviewer notes

  • Not tested on Dify Cloud. Everything above is Community Edition 1.17.1.
  • Embedding indexing and rerank retrieval were exercised on the same instance with 0.0.2 and are unchanged in this release.
  • qwen3.6-35b-a3b emits <think> reasoning blocks in its output, which Dify currently renders as plain text. This is model behaviour, not plugin behaviour.
  • The four removed models were delisted upstream. Users on 0.0.2 who selected one were getting an API error; after this update those entries disappear from the model picker.

@github-actions github-actions Bot added the risk: low Low-risk Marketplace submission label Sep 18, 2026
@crazywoola

Copy link
Copy Markdown
Member

⚠️ Pre Check Plugin CI failed (run 35407294084) — please fix the following blocking errors and push a new commit to re-run the pipeline:

1. Manifest metadata errors:

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

2. Version update errors:

  • - version update must increment manifest.yaml version: current 3.12, latest previous 3.12

How to fix:

  • Add the required repo and contact fields (and recommended meta.minimum_dify_version) to manifest.yaml.
  • Bump the version in manifest.yaml — it must be higher than the latest previously released version for this plugin.

Once fixed, push the changes and the Pre Check Plugin workflow will re-run automatically.

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