阿让夫
代理开发环境. 构建,运行,并监控AI代理,从一个完整的基于网络的IDE中分拆终端,集成文件编辑,git管理,并持续会话控制.
Agenv 给您一个完整的代理开发工作空间——不仅仅是一个终端,而且是一个环境,您可以同时运行多个代理,检查其输出分页平面,用语法加亮来编辑代码,跟踪成本,以及管理任何浏览器或桌面应用中的一切.
安装
npm install -g @adibenmatdev/agenv
或者不安装就运行 :
npx @adibenmatdev/agenv
对于桌面应用体验,还安装了Electron(可选):
npm install -g electron
快开始
# Launch the environment (desktop app if Electron is installed, web mode otherwise)
agenv
# Force web mode (opens in browser, accessible from any device)
agenv --web
# Web mode on a custom port
agenv --web --port 8080
# Launch directly into an agent
agenv run claude --model opus --dangerously-skip-permissions
# Run any command as a managed session
agenv run python3 train.py
agenv run ssh user@gpu-server
电能安装后, agenv 打开一个本地桌面窗口——没有打开的端口,没有符号,只是启动和去. 没有Electron,它会自动倒回网络模式并打印您的访问 URL.
你得到的东西
多代理工作空间
在分拆的终端窗格中并肩运行多个代理. 每个代理都获得自己的持久性会话,在断开和浏览器刷新后幸存. 在代理之间切换 Alt+1-9 或者标签栏.
集成文件编辑器
单击探索器中的任何文件打开它作为编辑器标签——30+语言的语法加亮,内置编辑,以及 Ctrl+S 用于保存。 从探索器将文件拖入终端平面板以插入路径,或拖入工作空间以打开它们 .
Git 整合
舞台,未舞台,丢弃, 和承诺从侧边栏git面板。 浏览文件状态 。 点击已更改的文件直接在编辑器中打开 .
会话管理
浏览器重新连接的会话持续存在 。 从仪表板上创建、重命名、组、归档和恢复会话。 从面板将会话拖入工作区打开 .
代理费用追踪
实时监测每个会话的象征性用途和费用。 在每个标签上查看运行/等待/错误状态 .
探员
一个代理是一个命名的,可重复使用的克洛德代码设置:一个文件夹,一个特长,站立指令和自己的对话. 在侧边栏打开代理面板来创建,运行和管理.
Agenv从不代表你联系任何事 才刚开始 你们自己 claude 国 际 在代理文件夹内,有您自己的认证和您自己的MCP服务器. 没有连接器,也没有交接符.
以下列方式创建代理 :
- 空白 - 一个文件夹和指示,没有别的.
- 从会议开始 - 通过克劳德的对话 一个运行的会话.
- 从谈话中 - 接受过去的任何谈话,并用叉子(可选与
/compact)或将它分解成简报文件或技能,所以代理从对话学到的东西开始. - 复制 - 用新名字复制一个已有的代理.
打开终端 在正常的终端会话中开始代理的对话。 任何与克洛德谈话的谈话 叉子对话 动作,把它分到一个新的 而不接触原作.
从对话中创建使用真实的符号. 在您确认前, UI 显示一个上行估计 。 叉和蒸馏只读(--permission-mode plan),源对话从未被改变,失败的创建从未产生代理. 在后一步(compact)失败前成功的叉子可能作为克洛德对话而保留;然后错误报告其id(orphanConversationId)可以删除. 在只读的ngrok隧道上,代理写作和跑道被封锁.
维护者可以对照真实的 CLI 验证叉/契约 AGENV_REAL_CLAUDE=1 AGENV_REAL_CAP=0.12 npm run check:agents-real (建设先行. 默认情况下,每个呼叫上限为0.05美元,但正常环境的实际呼叫费用约为0.10美元,因为您的MCP服务器和插件会充出提示,因此 AGENV_REAL_CAP=0.12最高限额共计0.30美元(美元)AGENV_REAL_CEILING)停止跑道,因此一跑能结束INCONCLUSIVE.
在 Windows 上,如果 Claude 安装了 npm 而代理无法启动, 设置 AGENV_CLAUDE_BIN 页:1 cli.js 软件包(例如 ...\node_modules\@anthropic-ai\claude-code\cli.js); agenv 也试图在旁边找到它 claude.cmd 独自一人。 终端和无头运行不同:指令,模型,额外文件夹和MCP配置仅适用于无头运行,而终端恢复对话并添加简报文件.
常规
例行公事在日程上运行一个代理,无人看管:"每周一晚上9:00,分解我的收件箱并写出一个摘要". 在侧边栏上打开Routines面板来创建,运行和管理. 像特工一样,例行公事才开始 你们自己 claude 国 际,有您自己的登录和MCP服务器,仅在agenv运行时.
- 时间表 - 5-字段克龙表达式外加时区(默认为机器的). 预设时间:小时,每日9:00,周日9:00,周一09:00,或自定义.
- 目标 - 代理人(使用其文件夹、指令、MCP配置和模型)或普通文件夹.
- 对话 (代理目标) - 继续代理自己的对话,从而其上下文会累积,为每次运行叉出并留下原来的未被触及,或者开始每次运行的新对话.
- 权限 - 无人看管意味着没有人能回答一个提示,所以模式被固定在前面: 只读 (计划,改变什么), 编辑文件 (默认), 只允许列表 (只是你列出的工具)或 跳过全部权限。最后一个从不隐含:它需要一个明确的复选框,确认代理可以运行任何未注意的命令.
- 限制 - 每次运行都有预算(默认为2美元)和超时(默认为20分钟,最多为120美元);超过任何一项的运行都会被停止。 每跑一次的预算上限会传给CLI,每个转弯后由CLI检查,因此跑一次可以略为过射. 可选的上限:每日每例例行运行,全球每日费用上限;两者均从机器-本地午夜算起. 暂停所有自动化 停止每一次预定,赶超和人工运行,直到你打开它.
- 重叠运行 - 如果一个程序在下一个槽到达时仍在运行: 合并到运行中的一个( 默认)、 跳过或队列另一个 .
- 运行失败 - 例行公事只在Agenv运行时开火。 一个在大约两分钟内出现的插槽仍然起火(例如快速重启后起火). 与 关闭时跳过失败 (默认),槽比优雅的窗口, 说当agenv关闭或机器睡觉 没有 运行 : 常规只是跳到它的下个未来插槽, 以及一个可见的跳过行记录有多少被错过 。 与 返回时运行缺失的,最多25个被错失的档次被重播,而且时刻表的频率从未超过小时.
- 历史 - 最新的500次运行记录有状况、持续时间、成本、结果摘要和实况记录. 交互式打开 继续运行在普通终端标签中的对话,运行中可以取消。 常规存储于
~/.agenv-routines.enc历史~/.agenv-runs.enc中,全局开关~/.agenv-automation.enc和每个运行日志~/.agenv-runs/。在一个只读的 ngrok 隧道上,常规、运行和自动化写作被屏蔽. - 一个实例时间表 - 每台机器只有一个agenv实例运行调度(一个锁定文件,
~/.agenv-automation.lock) (中文(简体) ). 第二例,例如CLI旁边的桌面应用程序,仍然显示并编辑了例行程序,但在面板上这样说,并且不运行任何东西;所有者每30 s刷新了锁,所以另一个例子在所有者进程消失时,或者在自己单调时钟上观看了大约90 s的相同心跳时,将锁取而代之(所有者被杀死了,即使其进程id被再用),然后开始运行调度. 系统睡眠或时钟变化 永远不会占用一个现场主人的时间表。 丢失锁的示例会取消已队列的运行(“ 所有权丢失”) , 让运行的运行完成 .
要知道的事情:运行使用真实的符号(每个运行的预算和每日上限约束成本). 一个无人看管的代理 编辑文件 模式可以修改其文件夹中的文件,这就是特性的点. 当一个运行在终端中打开时, 运行被跳过, 永远不会堆叠, 因为两个进程不能写入一个对话框 .
会话之间的信件
会话可以按名称相互交谈,无论CLI在它们内部运行什么(克洛德,Codex,双子座,Aider,. 每个会话的壳都得到 AGENV_URL, (中文(简体) ), AGENV_SESSION_ID 一个私人 AGENV_SESSION_TOKEN,所以一个代理可以运行:
agenv sessions # who else is open (id, name, tool, idle/busy)
agenv send reviewer "please check the diff in src/api"
文字被打入目标终端,就像你打过一样,并附上了寄出者及如何回答的说明(agenv send <sender> "...")),因此目标的反应方式相同. 如果目标正忙于打印,消息会等待并进入,当它已经安静了一会儿(最多5分钟,然后失败). 一个闭会话,或者一个没有代理CLI运行的会话(一个平面 shell将作为命令运行文本),以明显的错误被拒绝. 从一个会话到另一个会话,每10分钟最多30条信息(循环断路器) 信件 面板( 信封按钮) 显示日志, 并让您自己发送一个会话 。 同一个面板也可以 在多个会话中同时运行一个命令: 选择所有会议或会议组(包括分组),例如类型. /remote-control,并且agenv将其输入到每个开放终端并按 Enter (选择只运行代理CLI的会话)。 只有登录的用户界面才能做到这一点;一个会话本身的符号不能做到. 会话符只在消息路径上工作;信件不存储在磁盘上. 告诉你的探员 CLAUDE.md 编号 : AGENTS.md 编号 : GEMINI.md或者说"用" agenv send" ..
桌面应用程序
电能在全球安装时(npm i -g electron, (中文(简体) ), agenv 以OS级键盘快捷键和窗口管理方式作为本地桌面应用程序来发布. 服务器内部运行在本地主机上——没有被曝光的端口.
网络模式
使用 agenv --web 启动一个可从您网络上任何设备访问的网络服务器。 反应式布局在桌面,平板电脑,和移动式上工作. 可选 ngrok 集成,用于远程访问(只有web模式).
配置
Web 模式旗
在 Web 模式下运行时应用这些旗帜( Nameagenv --web:
# Custom port
agenv --web --port 8080
# Expose on LAN (default is localhost-only)
agenv --web --host 0.0.0.0
# Fixed token instead of random
agenv --web --token mysecrettoken
# Start with multiple sessions
agenv --web --sessions 4
认证
Token 认证( 在 Web 模式下默认)
每一次发射都会产生随机128位符号. 通过它作为 ?token=<value> 在 URL 中.
用户名/ 密码认证
设置证书一次( 存储于 ~/.agenvrc.json,密码为散列 :
agenv set auth.username admin
agenv set auth.password s3cret
配置证书时,服务器会显示登录页面. 检查值 :
agenv get auth.username
要切换到仅指代认证, 删除 ~/.agenvrc.json 或删除 auth 键.
自更新日期
agenv update
键盘快捷键
| 快捷键 | 行动 |
|---|---|
Alt+1-9 | 切换到标签 N |
Ctrl+P | 快速打开文件 |
Ctrl+B | 切换文件探索器 |
Ctrl+S | 保存活动编辑器文件 |
Ctrl+T | 在文件中搜索文本 |
Ctrl+Shift+D | 向右分割终端 |
Ctrl+Shift+E | 切换终端 |
Ctrl+Shift+W | 关闭活动窗格 |
Ctrl+K | 打开仪表板 |
Alt+Arrow | 窗格之间的导航 |
? | 显示所有快捷键 |
警卫
- 捆绑到
127.0.0.1默认( 只本地主机) - 桌面模式: 没有被曝光的端口——服务器内部运行
- 每个网络会话上的128位随机符号认证
- 密码与时间安全比较
- 连接时执行 WebSocket 认证
- 输入率受限(200 msg/sec)和尺寸受限(每封信4 KB)
- CSP 标题和框架保护
- Electron 执行本地主机与沙盒的连接
CLI 参考
图标
| 命令 | 说明 |
|---|---|
agenv | 发射环境(electron已安装的桌面,否则使用网络) |
agenv --web | 强制网络服务器模式 |
agenv run <command...> | 从会话中运行的命令开始 |
agenv stop | 停止运行服务器 |
agenv kill | 强制杀伤运行服务器 |
agenv set <key> <value> | 设置配置值 |
agenv get <key> | 读取配置值 |
agenv sessions | 在会话内: 列出您可以发送的会话 |
agenv send <name> <text...> | 在会话内: 信息另一个会话 |
agenv update | 更新到最新版本 |
agenv help | 显示帮助 |
Web 模式旗
| 旗帜 | 默认 | 说明 |
|---|---|---|
--web | 开始于网络服务器模式 | |
--port <number> | 7681 | HTTP/ WebSocket 端口 |
--host <address> | 127.0.0.1 | 绑定地址( N)0.0.0.0 用于局域网) |
--shell <command> | cmd.exe 编号 : $SHELL | 新会话的默认 shell |
--token <value> | 随机十六进制 | 覆盖会话符号 |
--sessions <number> | 1 | 初始会议次数 |
--no-qr | 启动时禁止QR 代码 |
建筑
- 服务器: 类型脚本(已编译为)
dist/) 在Node.js + Express + WebSocket上,通过节点-pty管理PTY会话——在布局上参见 Conference.md - 前端: Vanilla JS 模块,xterm.js终端,高亮.js代码渲染
- 桌面: 带沙盒成形器的电包(可选,安装通过
npm i -g electron(中文(简体) ) - 持久性: 加密会话状态, 命令历史, 以及存储在
~/.agenv-*
许可证
阿帕奇 - 2.0