Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 23 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,38 @@
# Network Sandbox

[English](README.md) | [简体中文](README.zh-CN.md)

[![Release](https://img.shields.io/github/v/release/MildyNora/NetworkSandbox?display_name=tag)](https://github.com/MildyNora/NetworkSandbox/releases/latest)
[![CI](https://github.com/MildyNora/NetworkSandbox/actions/workflows/ci.yml/badge.svg)](https://github.com/MildyNora/NetworkSandbox/actions/workflows/ci.yml)
[![Platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Linux-5865F2.svg)](#install)
[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)

Network Sandbox is a must-have tool and skill that prevents agents from
terminating their own network access while handling proxies, routes,
credentials, and traffic—so they cannot kill their connection and leave you
alone with the mess.

It gives agents an isolated place to validate configuration changes before
transactionally applying them to the real environment. It is lightweight than docker or VM.
Once you install it, you wouldn't need to consider about the network issues, it will be spawned once needed.
**A lightweight safety backbone for agents making connectivity changes.**

Network Sandbox helps agents avoid cutting off their own access while changing
proxies, routes, credentials, and other network-critical configuration. It gives
them an isolated place to rehearse changes, verify required connections, and
apply only validated differences with rollback protection.

The native CLI and agent skill are installed together. Once installed, the
skill tells compatible agents when and how to use the sandbox, so you do not
have to manage every safety step yourself.

## Install

```bash
brew install MildyNora/tap/network-sandbox
```
This install the main application and the tools which are all you need.

Without Homebrew:

```bash
curl -fsSL https://github.com/MildyNora/NetworkSandbox/releases/latest/download/install.sh | sh
```

This installs both the `netsandbox` CLI and its agent skill. The skill is linked
into the standard Codex, Claude Code and agent skill directories, so agents automatically
follow the protected connectivity workflow.
Both methods install the `netsandbox` CLI and its agent skill. The skill is
linked into the standard Codex and agent skill directories, so compatible
agents automatically follow the protected connectivity workflow.

No source build, Rust toolchain, Docker, or virtual machine is required.

Expand All @@ -53,10 +56,10 @@ sudo netsandbox apply proxy-change --yes

## How it works

Think of Network Sandbox as Anaconda environments for risky connectivity
changes. An agent creates a named environment, rehearses its commands there,
checks the required connections, reviews the plan, and only then applies the
validated difference.
Think of Network Sandbox as an Anaconda-style environment for risky
connectivity changes. An agent creates a named environment, rehearses its
commands there, checks the required connections, reviews the plan, and only
then applies the validated difference.

The real host stays unchanged until `apply`. `check` names every failed or
unverifiable connection and exits with `0` when required circuits are preserved,
Expand All @@ -68,9 +71,9 @@ Technical and safety details are available in the

## About

This project is still under an early stage, and continuously adding features and supports, if you have any problem, plz issue it.
PRs are welcomed.
Network Sandbox is an early-stage project under active development. Issues,
feedback, and pull requests are welcome.

## Liscence
## License

This project is under [License: Apache-2.0]
Licensed under the [Apache License 2.0](LICENSE).
72 changes: 72 additions & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Network Sandbox

[English](README.md) | [简体中文](README.zh-CN.md)

[![Release](https://img.shields.io/github/v/release/MildyNora/NetworkSandbox?display_name=tag)](https://github.com/MildyNora/NetworkSandbox/releases/latest)
[![CI](https://github.com/MildyNora/NetworkSandbox/actions/workflows/ci.yml/badge.svg)](https://github.com/MildyNora/NetworkSandbox/actions/workflows/ci.yml)
[![Platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Linux-5865F2.svg)](#安装)
[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)

**面向联网配置变更的轻量级智能体安全底座。**

Network Sandbox 帮助智能体在修改代理、路由、凭据和其他关键联网配置时,
避免意外切断自身连接。智能体可以先在隔离环境中演练变更、验证必要连接,
再通过事务安全地应用已经验证的差异,并获得自动回滚保护。

原生命令行工具与智能体技能会一同安装。安装完成后,技能会告诉兼容的智能体
何时以及如何使用沙盒,因此你无需亲自管理每一个安全步骤。

## 安装

```bash
brew install MildyNora/tap/network-sandbox
```

不使用 Homebrew:

```bash
curl -fsSL https://github.com/MildyNora/NetworkSandbox/releases/latest/download/install.sh | sh
```

两种方式都会安装 `netsandbox` 命令行工具及其智能体技能。该技能会被链接到
Codex 和通用智能体技能目录,使兼容的智能体自动遵循受保护的联网配置工作流。

无需从源码构建,也无需安装 Rust 工具链、Docker 或虚拟机。

直接下载:[macOS — Apple 芯片](https://github.com/MildyNora/NetworkSandbox/releases/latest/download/netsandbox-macos-arm64.tar.gz)
· [Linux — x86_64](https://github.com/MildyNora/NetworkSandbox/releases/latest/download/netsandbox-linux-x86_64.tar.gz)
· [校验和](https://github.com/MildyNora/NetworkSandbox/releases/latest/download/SHA256SUMS)

## 快速开始

```text
create → exec → check → plan → apply
```

```bash
netsandbox create proxy-change
netsandbox exec proxy-change -- CHANGE_COMMAND
netsandbox check proxy-change
netsandbox plan proxy-change
sudo netsandbox apply proxy-change --yes
```

## 工作原理

可以将 Network Sandbox 理解为专门用于高风险联网配置变更的 Anaconda
式环境。智能体会创建一个命名环境,在其中演练命令、检查必要连接并审阅计划,
最后才应用已经验证的差异。

在执行 `apply` 之前,真实主机不会被修改。`check` 会列出所有失败或无法验证的
连接:必要连接均保持正常时退出码为 `0`;连接验证阻止变更时为 `2`;发生操作
错误时为 `1`。应用后的验证一旦失败,变更会被自动回滚。

技术实现与安全细节请参阅[参考文档](docs/reference.md)。

## 关于

Network Sandbox 目前仍处于早期开发阶段。欢迎提交问题、反馈和拉取请求。

## 许可证

本项目采用 [Apache License 2.0](LICENSE)。