[PR #2032] [MERGED] fix: Better-E2B-Sandbox create text message for Start Shell tool #2033

Closed
opened 2026-02-22 18:14:57 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-plugins/pull/2032
Author: @LogicOber
Created: 2/7/2026
Status: Merged
Merged: 2/7/2026
Merged by: @LogicOber

Base: mainHead: bump/better-e2b-sandbox-0.0.2


📝 Commits (1)

  • ac923ea fix: make shell session_pid a string for Dify workflow variable passing

📊 Changes

1 file changed (+0 additions, -0 deletions)

View changed files

📝 LogicOber/better-e2b-sandbox/Better-E2B-Sandbox.difypkg (+0 -0)

📄 Description

Plugin Submission Form

1. Metadata

  • Plugin Author: lysonober
  • Plugin Name: Better E2B Sandbox
  • Repository URL: https://github.com/LogicOber/dify-plugins/tree/bump/better-e2b-sandbox-0.0.2/LogicOber/better-e2b-sandbox

2. Submission Type

  • New plugin submission
  • Version update for existing plugin

3. Description

This PR improves the developer experience for PTY tools in Dify workflows.

Previously, Start Shell Session did not provide a reliable text output for session_pid, so users could not conveniently reference the PID in the Dify frontend using / variable insertion. As a result, users had to add an extra “Code/JSON extraction” step to parse the JSON output and extract session_pid before passing it to Send Shell Session Input / Kill Shell Session, which was cumbersome.

Now Start Shell Session outputs session_pid as a clear text value (and consistent JSON field), and downstream tools accept it directly, so the PID can be passed through the workflow without any extra parsing nodes.

Additionally,

  • Avoid Claude session “context pollution” in Heartbeat: Setup Sandbox Heartbeat now defaults resume_session=false so it runs in a fresh Claude Code session (claude -p) instead of attaching to the user’s latest conversation (claude --continue -p). This prevents heartbeat system prompts and logs from being mixed into the main chat history. Users can still set resume_session=true when they explicitly want to build the task from prior context.
  • Optional E2B API key exposure for self-managed lifecycle: Create Claude Code Sandbox adds an expose_e2b_api_key switch (default false) to optionally inject E2B_API_KEY into the sandbox. When enabled, Claude Code can use E2B_API_KEY + E2B_SANDBOX_ID to manage/extend sandbox lifecycle from inside the sandbox. Kept opt-in for security.
  • File attachment support in Send Sandbox Input: Send Sandbox Input now supports an attachment parameter (type: file) so users can send a prompt and a file in the same node. The tool writes the uploaded file to /home/user/uploads/ and appends the path hint to the prompt for Claude Code to read.

4. Checklist

  • I have read and followed the Publish to Dify Marketplace guidelines
  • I have read and comply with the Plugin Developer Agreement
  • I confirm my plugin works properly on both Dify Community Edition and Cloud Version
  • I confirm my plugin has been thoroughly tested for completeness and functionality
  • My plugin brings new value to Dify

5. Documentation Checklist

  • Step-by-step setup instructions
  • Detailed usage instructions
  • All required APIs and credentials are clearly listed
  • Connection requirements and configuration details
  • Link to the repository for the plugin source code

6. Privacy Protection Information

Data Collection

No new user personal data is collected in this update. This change only improves tool output formatting / parameter passing for workflows.

Privacy Policy

  • I confirm that I have prepared and included a privacy policy in the plugin package based on the Plugin Privacy Protection Guidelines

🔄 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-plugins/pull/2032 **Author:** [@LogicOber](https://github.com/LogicOber) **Created:** 2/7/2026 **Status:** ✅ Merged **Merged:** 2/7/2026 **Merged by:** [@LogicOber](https://github.com/LogicOber) **Base:** `main` ← **Head:** `bump/better-e2b-sandbox-0.0.2` --- ### 📝 Commits (1) - [`ac923ea`](https://github.com/langgenius/dify-plugins/commit/ac923eaefc651ec32341d8db91ced533aa023943) fix: make shell session_pid a string for Dify workflow variable passing ### 📊 Changes **1 file changed** (+0 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `LogicOber/better-e2b-sandbox/Better-E2B-Sandbox.difypkg` (+0 -0) </details> ### 📄 Description # Plugin Submission Form ## 1. Metadata - **Plugin Author**: lysonober - **Plugin Name**: Better E2B Sandbox - **Repository URL**: `https://github.com/LogicOber/dify-plugins/tree/bump/better-e2b-sandbox-0.0.2/LogicOber/better-e2b-sandbox` ## 2. Submission Type - [ ] New plugin submission - [x] Version update for existing plugin ## 3. Description This PR improves the developer experience for PTY tools in Dify workflows. Previously, `Start Shell Session` did not provide a reliable **text output** for `session_pid`, so users could not conveniently reference the PID in the Dify frontend using `/` variable insertion. As a result, users had to add an extra “Code/JSON extraction” step to parse the JSON output and extract `session_pid` before passing it to `Send Shell Session Input` / `Kill Shell Session`, which was cumbersome. Now `Start Shell Session` outputs `session_pid` as a clear **text value** (and consistent JSON field), and downstream tools accept it directly, so the PID can be passed through the workflow without any extra parsing nodes. Additionally, - Avoid Claude session “context pollution” in Heartbeat: Setup Sandbox Heartbeat now defaults resume_session=false so it runs in a fresh Claude Code session (claude -p) instead of attaching to the user’s latest conversation (claude --continue -p). This prevents heartbeat system prompts and logs from being mixed into the main chat history. Users can still set resume_session=true when they explicitly want to build the task from prior context. - Optional E2B API key exposure for self-managed lifecycle: Create Claude Code Sandbox adds an expose_e2b_api_key switch (default false) to optionally inject E2B_API_KEY into the sandbox. When enabled, Claude Code can use E2B_API_KEY + E2B_SANDBOX_ID to manage/extend sandbox lifecycle from inside the sandbox. Kept opt-in for security. - File attachment support in Send Sandbox Input: Send Sandbox Input now supports an attachment parameter (type: file) so users can send a prompt and a file in the same node. The tool writes the uploaded file to /home/user/uploads/<filename> and appends the path hint to the prompt for Claude Code to read. ## 4. Checklist - [x] I have read and followed the Publish to Dify Marketplace guidelines - [x] I have read and comply with the Plugin Developer Agreement - [x] I confirm my plugin works properly on both Dify Community Edition and Cloud Version - [x] I confirm my plugin has been thoroughly tested for completeness and functionality - [x] My plugin brings new value to Dify ## 5. Documentation Checklist - [x] Step-by-step setup instructions - [x] Detailed usage instructions - [x] All required APIs and credentials are clearly listed - [x] Connection requirements and configuration details - [x] Link to the repository for the plugin source code ## 6. Privacy Protection Information ### Data Collection No new user personal data is collected in this update. This change only improves tool output formatting / parameter passing for workflows. ### Privacy Policy - [x] I confirm that I have prepared and included a privacy policy in the plugin package based on the Plugin Privacy Protection Guidelines --- <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-22 18:14:57 -05:00
yindo closed this issue 2026-02-22 18:14:58 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-plugins#2033