[PR #2487] [MERGED] Feat:somark plugins #2516

Closed
opened 2026-02-16 11:17:12 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-official-plugins/pull/2487
Author: @Soul-Code
Created: 1/26/2026
Status: Merged
Merged: 1/31/2026
Merged by: @crazywoola

Base: mainHead: feat:somark-plugins


📝 Commits (10+)

  • b8df091 feat: add Somark document extraction plugin
  • 34ff639 fix: revert dify_plugin version to 0.3.0 for compatibility
  • 322af55 fix(somark): enhance code robustness and credential validation
  • 2da9867 fix(somark): update author to langgenius in manifest
  • dd2f5b2 fix(somark): add missing pyproject.toml configuration
  • 9da9fcb fix(somark): add missing created_at field to manifest
  • 0710801 chore: add uv.lock for somark plugin
  • e1c300b fix: correct extract.yaml structure and missing source config
  • 11c8533 fix(somark): update base url and endpoint construction
  • 32d32f7 docs(somark): rename asset files to meaningful names

📊 Changes

19 files changed (+1789 additions, -0 deletions)

View changed files

tools/somark/.difyignore (+165 -0)
tools/somark/.env.example (+4 -0)
tools/somark/.gitignore (+168 -0)
tools/somark/README.md (+159 -0)
tools/somark/_assets/icon.png (+0 -0)
tools/somark/_assets/somark-features.png (+0 -0)
tools/somark/_assets/workflow-add-tool.jpg (+0 -0)
tools/somark/_assets/workflow-config.jpg (+0 -0)
tools/somark/_assets/workflow-extra.jpg (+0 -0)
tools/somark/icon.png (+0 -0)
tools/somark/main.py (+6 -0)
tools/somark/manifest.yaml (+32 -0)
tools/somark/provider/somark.py (+10 -0)
tools/somark/provider/somark.yaml (+40 -0)
tools/somark/pyproject.toml (+13 -0)
tools/somark/requirements.txt (+2 -0)
tools/somark/tools/extract.py (+84 -0)
tools/somark/tools/extract.yaml (+28 -0)
tools/somark/uv.lock (+1078 -0)

📄 Description

Add Somark tool plugin for converting documents (PDFs, images, etc.) into structured Markdown or JSON format using the Somark API.

Features:

  • Document extraction with OXR (Optical Everything Recognition) algorithm

  • Support for multiple file formats (PDF, PNG, JPG, etc.)

  • Configurable API endpoint and authentication

  • Max file size: 50MB/50 pages

Related Issues or Context

This PR contains Changes to Non-Plugin

  • Documentation
  • Other

This PR contains Changes to Non-LLM Models Plugin

  • I have Run Comprehensive Tests Relevant to My Changes

This PR contains Changes to LLM Models Plugin

  • My Changes Affect Message Flow Handling (System Messages and User→Assistant Turn-Taking)
  • My Changes Affect Tool Interaction Flow (Multi-Round Usage and Output Handling, for both Agent App and Agent Node)
  • My Changes Affect Multimodal Input Handling (Images, PDFs, Audio, Video, etc.)
  • My Changes Affect Multimodal Output Generation (Images, Audio, Video, etc.)
  • My Changes Affect Structured Output Format (JSON, XML, etc.)
  • My Changes Affect Token Consumption Metrics
  • My Changes Affect Other LLM Functionalities (Reasoning Process, Grounding, Prompt Caching, etc.)
  • Other Changes (Add New Models, Fix Model Parameters etc.)

Version Control (Any Changes to the Plugin Will Require Bumping the Version)

  • I have Bumped Up the Version in Manifest.yaml (Top-Level Version Field, Not in Meta Section)

Dify Plugin SDK Version

  • I have Ensured dify_plugin>=0.3.0,<0.6.0 is in requirements.txt (SDK docs)

Environment Verification (If Any Code Changes)

Local Deployment Environment

  • Dify Version is: , I have Tested My Changes on Local Deployment Dify with a Clean Environment That Matches the Production Configuration.

SaaS Environment

  • I have Tested My Changes on cloud.dify.ai with a Clean Environment That Matches the Production Configuration

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langgenius/dify-official-plugins/pull/2487 **Author:** [@Soul-Code](https://github.com/Soul-Code) **Created:** 1/26/2026 **Status:** ✅ Merged **Merged:** 1/31/2026 **Merged by:** [@crazywoola](https://github.com/crazywoola) **Base:** `main` ← **Head:** `feat:somark-plugins` --- ### 📝 Commits (10+) - [`b8df091`](https://github.com/langgenius/dify-official-plugins/commit/b8df0917ebf4c285809137d10bcefbbc3f9dae87) feat: add Somark document extraction plugin - [`34ff639`](https://github.com/langgenius/dify-official-plugins/commit/34ff639ae31188b2ba9d829d255e450770927274) fix: revert dify_plugin version to 0.3.0 for compatibility - [`322af55`](https://github.com/langgenius/dify-official-plugins/commit/322af551faed88368b00837047aef6cfc0623413) fix(somark): enhance code robustness and credential validation - [`2da9867`](https://github.com/langgenius/dify-official-plugins/commit/2da986786b6e65a5a898e3c83d4efb5186e7246f) fix(somark): update author to langgenius in manifest - [`dd2f5b2`](https://github.com/langgenius/dify-official-plugins/commit/dd2f5b2e796523b6a3bfae4afd3e32ce7bd6fde3) fix(somark): add missing pyproject.toml configuration - [`9da9fcb`](https://github.com/langgenius/dify-official-plugins/commit/9da9fcbcff16de2646f6878bee091f03b47eb620) fix(somark): add missing created_at field to manifest - [`0710801`](https://github.com/langgenius/dify-official-plugins/commit/071080192736544283ff2bed737b0795b33db884) chore: add uv.lock for somark plugin - [`e1c300b`](https://github.com/langgenius/dify-official-plugins/commit/e1c300b792ca17323e1cc2ab050520dd27faac8e) fix: correct extract.yaml structure and missing source config - [`11c8533`](https://github.com/langgenius/dify-official-plugins/commit/11c8533d05e0f294f0d81cd6cce3919643112241) fix(somark): update base url and endpoint construction - [`32d32f7`](https://github.com/langgenius/dify-official-plugins/commit/32d32f72c53a29d32888ff8c9db4cce81571667d) docs(somark): rename asset files to meaningful names ### 📊 Changes **19 files changed** (+1789 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `tools/somark/.difyignore` (+165 -0) ➕ `tools/somark/.env.example` (+4 -0) ➕ `tools/somark/.gitignore` (+168 -0) ➕ `tools/somark/README.md` (+159 -0) ➕ `tools/somark/_assets/icon.png` (+0 -0) ➕ `tools/somark/_assets/somark-features.png` (+0 -0) ➕ `tools/somark/_assets/workflow-add-tool.jpg` (+0 -0) ➕ `tools/somark/_assets/workflow-config.jpg` (+0 -0) ➕ `tools/somark/_assets/workflow-extra.jpg` (+0 -0) ➕ `tools/somark/icon.png` (+0 -0) ➕ `tools/somark/main.py` (+6 -0) ➕ `tools/somark/manifest.yaml` (+32 -0) ➕ `tools/somark/provider/somark.py` (+10 -0) ➕ `tools/somark/provider/somark.yaml` (+40 -0) ➕ `tools/somark/pyproject.toml` (+13 -0) ➕ `tools/somark/requirements.txt` (+2 -0) ➕ `tools/somark/tools/extract.py` (+84 -0) ➕ `tools/somark/tools/extract.yaml` (+28 -0) ➕ `tools/somark/uv.lock` (+1078 -0) </details> ### 📄 Description Add Somark tool plugin for converting documents (PDFs, images, etc.) into structured Markdown or JSON format using the Somark API. Features: - Document extraction with OXR (Optical Everything Recognition) algorithm - Support for multiple file formats (PDF, PNG, JPG, etc.) - Configurable API endpoint and authentication - Max file size: 50MB/50 pages ## Related Issues or Context <!-- ⚠️ NOTE: This repository is for Dify Official Plugins only. For community contributions, please submit to https://github.com/langgenius/dify-plugins instead. - Link Related Issues if Applicable: #issue_number - Or Provide Context about Why this Change is Needed --> ## This PR contains Changes to *Non-Plugin* <!-- Put an `x` in all the boxes that apply by replacing [ ] with [x] For example: - [x] Documentation --> - [ ] Documentation - [ ] Other ## This PR contains Changes to *Non-LLM Models Plugin* - [x] I have Run Comprehensive Tests Relevant to My Changes <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> ## This PR contains Changes to *LLM Models Plugin* <!-- LLM Models Test Example: --> <!-- https://github.com/langgenius/dify-official-plugins/blob/main/.assets/test-examples/llm-plugin-tests/llm_test_example.md --> - [ ] My Changes Affect Message Flow Handling (System Messages and User→Assistant Turn-Taking) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Tool Interaction Flow (Multi-Round Usage and Output Handling, for both Agent App and Agent Node) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Multimodal Input Handling (Images, PDFs, Audio, Video, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Multimodal Output Generation (Images, Audio, Video, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Structured Output Format (JSON, XML, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Token Consumption Metrics <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] My Changes Affect Other LLM Functionalities (Reasoning Process, Grounding, Prompt Caching, etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> - [ ] Other Changes (Add New Models, Fix Model Parameters etc.) <!-- 📷 Include Screenshots/Videos Demonstrating the Fix, New Feature, or the Behavior Before/After Breaking Changes. --> ## Version Control (Any Changes to the Plugin Will Require Bumping the Version) - [x] I have Bumped Up the Version in Manifest.yaml (Top-Level `Version` Field, Not in Meta Section) <!-- ⚠️ NOTE: Version Format: MAJOR.MINOR.PATCH - MAJOR (0.x.x): Reserved for Significant architectural changes or incompatible API modifications - MINOR (x.0.x): For New feature additions while maintaining backward compatibility - PATCH (x.x.0): For Backward-compatible bug fixes and minor improvements - Note: Each Version Component (MAJOR, MINOR, PATCH) Can Be 2 Digits, e.g., 10.11.22 --> ## Dify Plugin SDK Version - [x] I have Ensured `dify_plugin>=0.3.0,<0.6.0` is in requirements.txt ([SDK docs](https://github.com/langgenius/dify-plugin-sdks/blob/main/python/README.md)) ## Environment Verification (If Any Code Changes) <!-- ⚠️ NOTE: At Least One Environment Must Be Tested. --> ### Local Deployment Environment - [x] Dify Version is: <!-- Specify Your Version (e.g., 1.2.0) -->, I have Tested My Changes on Local Deployment Dify with a Clean Environment That Matches the Production Configuration. <!-- - Python Virtual Env Matching Manifest.yaml & requirements.txt - No Breaking Changes in Dify That May Affect the Testing Result --> ### SaaS Environment - [ ] I have Tested My Changes on cloud.dify.ai with a Clean Environment That Matches the Production Configuration <!-- - Python Virtual Env Matching Manifest.yaml & requirements.txt --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 11:17:12 -05:00
yindo closed this issue 2026-02-16 11:17:12 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-official-plugins#2516