惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
月光博客
月光博客
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog RSS Feed
博客园 - Franky
爱范儿
爱范儿

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
[开源] SwitchEnvs 一个管理、切换多个环境变量方案的工具
junjian2016 · 2026-01-19 · via V2EX

SwitchEnvs 是一个管理、切换多个环境变量方案的工具,可视化对本机环境变量进行增删改查。(类似于 SwitchHosts )

Github 地址: https://github.com/dean2021/SwitchEnvs

README 如下:

SwitchEnvs

A desktop environment variable management tool built with Wails (Go + React/TypeScript). SwitchEnvs allows you to manage, save, and switch between multiple environment variable configurations with ease.

Screenshot

SwitchEnvs Screenshot

Features

  • Multiple Environment Schemes: Create, edit, duplicate, and delete environment variable schemes
  • One-Click Switch: Quickly switch between different environment configurations
  • Persistent Storage: Schemes are saved locally and persist across sessions
  • Shell Integration: Automatically updates your shell environment (~/.switch_env)
  • Import/Export: Share your environment schemes with others
  • Custom Window: macOS-style frameless window with transparent background and rounded corners
  • Auto-Reload: Changes to the currently applied scheme are immediately reflected

Tech Stack

  • Backend: Go with Wails v2
  • Frontend: React 18 + TypeScript + Tailwind CSS
  • Runtime: Native desktop application

Getting Started

Prerequisites

  • Go 1.23+
  • Node.js & npm
  • Wails CLI

Installation

# Install Wails CLI if not already installed
go install github.com/wailsapp/wails/v2/cmd/wails@latest

# Clone and setup
git clone https://github.com/dean2021/SwitchEnvs.git
cd SwitchEnvs

# Install frontend dependencies
cd frontend && npm install

# Return to project root
cd ..

Development

Run the application in development mode with hot reload:

wails dev

This will start both the Go backend and the React frontend with automatic rebuilding.

Building

Build the production version:

wails build

Build for specific platforms:

# macOS ARM64
wails build -platform darwin/arm64

# Windows AMD64
wails build -platform windows/amd64

# Linux
wails build -platform linux/amd64

Usage

Creating a Scheme

  1. Click "Add Scheme" to create a new environment scheme
  2. Add key-value pairs for your environment variables
  3. Click "Apply" to activate the scheme

Switching Schemes

  • Select a scheme from the sidebar
  • Click "Apply" to switch to that environment configuration

Exporting/Importing

  • Use the export button to save your schemes as JSON
  • Use the import button to load schemes from a JSON file

File Structure

SwitchEnvs/
├── app.go              # Main application logic (Go)
├── main.go             # Application entry point
├── wails.json          # Wails configuration
├── frontend/           # React frontend
│   ├── src/
│   │   ├── App.tsx     # Main React component
│   │   ├── main.tsx    # React entry point
│   │   ├── style.css   # Global styles
│   │   └── types/      # TypeScript type definitions
│   ├── package.json
│   └── vite.config.ts
└── build/              # Build configurations

Data Storage

Path Purpose
~/.switchenvs/schemes.json All saved schemes in JSON format
~/.switchenvs/applied_scheme.json Persisted applied scheme name
~/.switch_env Shell script with export KEY="value" entries

Architecture

Backend (Go)

The Go backend handles:

  • Scheme CRUD operations (Save, Get, Delete, Duplicate)
  • Applying schemes to the system
  • Writing environment variables to shell config
  • Import/Export functionality

Frontend (React + TypeScript)

The frontend provides:

  • Interactive UI for managing environment schemes
  • Real-time updates when switching schemes
  • Import/Export dialogs
  • Custom window controls (minimize, close)

Shell Integration

SwitchEnvs writes environment variables to ~/.switch_env and automatically adds a source command to ~/.zshrc. To use the environment variables in your terminal:

source ~/.switch_env

Or restart your terminal session.

License

MIT License