sdd-agent-pack 1.3.5 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -20,8 +20,13 @@ LLM Configuration:
|
|
|
20
20
|
LLM_API_KEY — API key from your LLM provider
|
|
21
21
|
|
|
22
22
|
Optional:
|
|
23
|
-
LLM_MODEL
|
|
24
|
-
LLM_BASE_URL
|
|
23
|
+
LLM_MODEL — Model name (default: openrouter/anthropic/claude-sonnet-4-5-20250929)
|
|
24
|
+
LLM_BASE_URL — Provider base URL
|
|
25
|
+
SANDBOX_VOLUMES — Mount host dirs into Docker sandbox (format: host:container[:mode])
|
|
26
|
+
Required when using --cloud (agent-server/sandbox mode) so
|
|
27
|
+
file changes persist on the host filesystem.
|
|
28
|
+
Example: SANDBOX_VOLUMES=$PWD:/workspace:rw
|
|
29
|
+
SANDBOX_USER_ID — Host user ID for sandbox file ownership (default: $(id -u))
|
|
25
30
|
|
|
26
31
|
Examples:
|
|
27
32
|
OpenRouter:
|
|
@@ -150,6 +155,22 @@ def run_epic(epic: dict, use_cloud: bool) -> bool:
|
|
|
150
155
|
print(" See .sdd-agent-pack/templates/env.example for all options.")
|
|
151
156
|
return False
|
|
152
157
|
|
|
158
|
+
# Ensure the sandbox can access the local project directory.
|
|
159
|
+
# In local (SDK) mode the Conversation(workspace=cwd) creates a
|
|
160
|
+
# LocalWorkspace that runs subprocesses directly on the host, so
|
|
161
|
+
# file changes persist automatically.
|
|
162
|
+
#
|
|
163
|
+
# When --cloud is used the agent runs in a remote Docker sandbox.
|
|
164
|
+
# In that case SANDBOX_VOLUMES mounts the host project into the
|
|
165
|
+
# container's /workspace so agent file changes survive.
|
|
166
|
+
if use_cloud:
|
|
167
|
+
sandbox_volumes = os.getenv(
|
|
168
|
+
"SANDBOX_VOLUMES",
|
|
169
|
+
f"{os.getcwd()}:/workspace:rw",
|
|
170
|
+
)
|
|
171
|
+
os.environ.setdefault("SANDBOX_VOLUMES", sandbox_volumes)
|
|
172
|
+
os.environ.setdefault("SANDBOX_USER_ID", str(os.getuid()))
|
|
173
|
+
|
|
153
174
|
llm = LLM(
|
|
154
175
|
model=model,
|
|
155
176
|
api_key=api_key,
|
|
@@ -155,6 +155,14 @@ Instructions:
|
|
|
155
155
|
8. Do NOT work on any other epic"
|
|
156
156
|
|
|
157
157
|
echo "Starting OpenHands (headless)..."
|
|
158
|
+
|
|
159
|
+
# Mount the current directory into the Docker sandbox container so
|
|
160
|
+
# agent file changes persist on the host filesystem.
|
|
161
|
+
# SANDBOX_VOLUMES — mounts $PWD into the container's /workspace (rw)
|
|
162
|
+
# SANDBOX_USER_ID — ensures created files have host-user ownership
|
|
163
|
+
export SANDBOX_VOLUMES="$PWD:/workspace:rw"
|
|
164
|
+
export SANDBOX_USER_ID="${SANDBOX_USER_ID:-$(id -u)}"
|
|
165
|
+
|
|
158
166
|
if $OPENHANDS_CMD --headless --override-with-envs -t "$prompt" 2>&1; then
|
|
159
167
|
echo ""
|
|
160
168
|
echo "✓ [$current/$total] Epic completed: $epic"
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
#
|
|
6
6
|
# Get your OpenRouter API key: https://openrouter.ai/keys
|
|
7
7
|
|
|
8
|
+
# ── LLM Configuration ──────────────────────────────────────────────
|
|
9
|
+
|
|
8
10
|
# Your API key from the LLM provider
|
|
9
11
|
LLM_API_KEY=sk-or-paste-your-api-key-here
|
|
10
12
|
|
|
@@ -14,3 +16,17 @@ LLM_MODEL=openrouter/free
|
|
|
14
16
|
|
|
15
17
|
# OpenRouter API base URL
|
|
16
18
|
LLM_BASE_URL=https://openrouter.ai/api/v1
|
|
19
|
+
|
|
20
|
+
# ── Sandbox / Workspace Persistence ────────────────────────────────
|
|
21
|
+
#
|
|
22
|
+
# The orchestrate.sh script uses openhands --headless, which spawns a
|
|
23
|
+
# Docker sandbox container. Without a volume mount the agent's file
|
|
24
|
+
# changes are lost when the container exits.
|
|
25
|
+
#
|
|
26
|
+
# Setting SANDBOX_VOLUMES mounts the host project directory into the
|
|
27
|
+
# sandbox container's /workspace so all file changes persist on the
|
|
28
|
+
# host filesystem. Both scripts set a sensible default automatically,
|
|
29
|
+
# but you can override it here:
|
|
30
|
+
|
|
31
|
+
# SANDBOX_VOLUMES="$PWD:/workspace:rw"
|
|
32
|
+
# SANDBOX_USER_ID="$(id -u)"
|