[PR #2137] [MERGED] feat(openrouter): add Claude Opus 4.5 and Sonnet 4.5 model support with reasoning control #2278

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

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-official-plugins/pull/2137
Author: @QIN2DIM
Created: 11/26/2025
Status: Merged
Merged: 11/26/2025
Merged by: @crazywoola

Base: mainHead: calude-reasoning-control


📝 Commits (7)

  • 3d9e132 feat(openrouter): add Claude Opus 4.5 and Sonnet 4.5 model support with reasoning control
  • 1161cb9 feat(models): add Claude Opus 4.5 and Sonnet 4.5 model configurations
  • 109e4c1 docs(models): update thinking budget help text for claude-sonnet-4-5
  • 16b02ee chore(models): remove .python-version file from openrouter
  • 62b31b0 chore(models/openrouter): add .difyignore and .python-version files
  • 5a6853e chore(models): add .venv to .difyignore in openrouter
  • 65563bd feat(llm): support string input for enable_thinking

📊 Changes

12 files changed (+329 additions, -160 deletions)

View changed files

models/openrouter/.difyignore (+2 -0)
📝 models/openrouter/.env.example (+1 -2)
models/openrouter/.gitignore (+1 -0)
models/openrouter/.python-version (+1 -0)
📝 models/openrouter/main.py (+1 -1)
📝 models/openrouter/manifest.yaml (+1 -1)
📝 models/openrouter/models/llm/_position.yaml (+1 -0)
models/openrouter/models/llm/claude-opus-4-5.yaml (+74 -0)
📝 models/openrouter/models/llm/claude-sonnet-4-5.yaml (+36 -95)
📝 models/openrouter/models/llm/llm.py (+88 -60)
models/openrouter/pyproject.toml (+18 -0)
📝 models/openrouter/requirements.txt (+105 -1)

📄 Description

Related Issues or Context

Summary

  • Add new models: anthropic/claude-opus-4.5 and anthropic/claude-sonnet-4.5
  • Implement reasoning control parameters: enable_thinking, reasoning_budget, exclude_reasoning_tokens, and reasoning_effort
  • Update manifest version to 0.0.30
  • Migrate to pyproject.toml and uv for dependency management
  • Update .env.example to use REMOTE_INSTALL_URL instead of separate host/port
  • Fix code style and formatting in main.py
  • Add .gitignore for uv.lock and .python-version for Python 3.12
image

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/2137 **Author:** [@QIN2DIM](https://github.com/QIN2DIM) **Created:** 11/26/2025 **Status:** ✅ Merged **Merged:** 11/26/2025 **Merged by:** [@crazywoola](https://github.com/crazywoola) **Base:** `main` ← **Head:** `calude-reasoning-control` --- ### 📝 Commits (7) - [`3d9e132`](https://github.com/langgenius/dify-official-plugins/commit/3d9e1320d6410d8993a38d551f558e2faf5f66f3) feat(openrouter): add Claude Opus 4.5 and Sonnet 4.5 model support with reasoning control - [`1161cb9`](https://github.com/langgenius/dify-official-plugins/commit/1161cb925a9ab02f72f960969587ce36ed99a1f9) feat(models): add Claude Opus 4.5 and Sonnet 4.5 model configurations - [`109e4c1`](https://github.com/langgenius/dify-official-plugins/commit/109e4c1c9ccbcc8939f0fdb75b5f6e5e2379a015) docs(models): update thinking budget help text for claude-sonnet-4-5 - [`16b02ee`](https://github.com/langgenius/dify-official-plugins/commit/16b02ee537e0007a5e0880bb0d3ca800de95c45c) chore(models): remove .python-version file from openrouter - [`62b31b0`](https://github.com/langgenius/dify-official-plugins/commit/62b31b016f09ced1c2a3e62aa748b88d45bd7419) chore(models/openrouter): add .difyignore and .python-version files - [`5a6853e`](https://github.com/langgenius/dify-official-plugins/commit/5a6853e95bf03de3b94d9830b7d0fba7fb194d01) chore(models): add .venv to .difyignore in openrouter - [`65563bd`](https://github.com/langgenius/dify-official-plugins/commit/65563bdc48afdbf406c4d16403f3c9d56781bcf2) feat(llm): support string input for enable_thinking ### 📊 Changes **12 files changed** (+329 additions, -160 deletions) <details> <summary>View changed files</summary> ➕ `models/openrouter/.difyignore` (+2 -0) 📝 `models/openrouter/.env.example` (+1 -2) ➕ `models/openrouter/.gitignore` (+1 -0) ➕ `models/openrouter/.python-version` (+1 -0) 📝 `models/openrouter/main.py` (+1 -1) 📝 `models/openrouter/manifest.yaml` (+1 -1) 📝 `models/openrouter/models/llm/_position.yaml` (+1 -0) ➕ `models/openrouter/models/llm/claude-opus-4-5.yaml` (+74 -0) 📝 `models/openrouter/models/llm/claude-sonnet-4-5.yaml` (+36 -95) 📝 `models/openrouter/models/llm/llm.py` (+88 -60) ➕ `models/openrouter/pyproject.toml` (+18 -0) 📝 `models/openrouter/requirements.txt` (+105 -1) </details> ### 📄 Description ## 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 --> ### Summary - Add new models: anthropic/claude-opus-4.5 and anthropic/claude-sonnet-4.5 - Implement reasoning control parameters: enable_thinking, reasoning_budget, exclude_reasoning_tokens, and reasoning_effort - Update manifest version to 0.0.30 - Migrate to pyproject.toml and uv for dependency management - Update .env.example to use REMOTE_INSTALL_URL instead of separate host/port - Fix code style and formatting in main.py - Add .gitignore for uv.lock and .python-version for Python 3.12 <img width="1144" height="622" alt="image" src="https://github.com/user-attachments/assets/e95b8e42-f34c-4cc8-a90d-cade04a14174" /> ## 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* - [ ] 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. --> - [x] 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:16:33 -05:00
yindo closed this issue 2026-02-16 11:16:33 -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#2278