feat(deepagents-backend): add AIO Sandbox example for commandline tools & deepagents fs middleware backend#161
Conversation
- Add deep-aiosandbox example demonstrating DeepAgent integration with AIO Sandbox - Support remote sandboxed execution for Shell, Python, and file operations - Include bilingual documentation (README.md and README_zh.md) - Add .example.env for environment configuration - Update go.mod with sandbox-sdk-go dependency
|
|
|
Related PR: cloudwego/eino-ext#674: aiosandbox commandline tool |
There was a problem hiding this comment.
Pull request overview
Adds a new deep-aiosandbox example demonstrating integrating DeepAgent with a remote AIO Sandbox for sandboxed command/file/Python execution.
Changes:
- Introduces a runnable Go example that provisions a remote sandbox session, sets up a per-task workdir, and runs DeepAgent with sandbox-backed tools.
- Adds bilingual documentation plus an
.example.envfor configuration. - Updates Go module dependencies to support the sandbox integration.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| go.mod | Adds sandbox SDK as an indirect dependency and introduces a local-path replace for eino-ext commandline tool. |
| go.sum | Updates dependency checksums consistent with the module changes. |
| adk/multiagent/deep-aiosandbox/main.go | New DeepAgent + AIO Sandbox example implementation. |
| adk/multiagent/deep-aiosandbox/README.md | English usage documentation for the new example. |
| adk/multiagent/deep-aiosandbox/README_zh.md | Chinese usage documentation for the new example. |
| adk/multiagent/deep-aiosandbox/.example.env | Example environment configuration for sandbox + LLM credentials. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| _, err = sandbox.RunCommand(ctx, []string{"mkdir", "-p", workdir}) | ||
| if err != nil { | ||
| log.Fatal(err) | ||
| } |
There was a problem hiding this comment.
log.Fatal calls os.Exit(1) and will skip deferred calls, so if this fails the sandbox session won't be closed despite the earlier defer sandbox.Close(ctx). Use log.Printf + return (or propagate the error) so the deferred cleanup runs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 11 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - Includes built-in large result offloading | ||
| - Clean interface-based design | ||
|
|
||
| The [deep-aiosandbox](../multiagent/deep-aiosandbox) example uses the **Tool approach** with `commandline.Operator`: |
There was a problem hiding this comment.
The relative link [deep-aiosandbox](../multiagent/deep-aiosandbox) is incorrect from adk/middleware/aiosandbox-backend/ (it resolves under adk/middleware/). It should go up to adk/ first (e.g., ../../multiagent/deep-aiosandbox).
| The [deep-aiosandbox](../multiagent/deep-aiosandbox) example uses the **Tool approach** with `commandline.Operator`: | |
| The [deep-aiosandbox](../../multiagent/deep-aiosandbox) example uses the **Tool approach** with `commandline.Operator`: |
- Fix incorrect directory paths in README examples - Fix relative link to deep-aiosandbox example - Add URL validation for BaseURL (scheme/host required, http/https only) - Use path package instead of filepath for cross-platform consistency - Refactor grep to use ripgrep JSON output for reliable parsing - Move sandbox-sdk-go to direct dependency

What type of PR is this?
feat: commandline tools & deepagents fs backend example for aio sandbox
Check the PR title.
(Optional) Translate the PR title into Chinese.
feat: 添加 commandline tools 与 deepagents fs backend 示例,演示Agent 与远程沙箱集成
(Optional) More detailed description for this PR
en:
zh(optional):
(Optional) Which issue(s) this PR fixes:
(optional) The PR that updates user documentation: