ymq
|
e3917e681c
|
feat(work_env): 远程模式自动初始化——技能同步+依赖软件自动安装;agent_loop deploy别名归测试环境
|
2026-08-28 21:10:36 +08:00 |
|
ymq
|
e479b347bd
|
fix: remote_host 清理复制粘贴带入的零宽/BOM 不可见字符
|
2026-08-14 14:49:01 +08:00 |
|
ymq
|
70185771d0
|
fix: 远程目录 ~ 展开改用 $HOME(shlex.quote 会把 ~ 包进单引号不展开)
- _resolve_remote_dir → _rel_remote_dir 返回纯相对路径
- rsync 用 :~/,ssh mkdir/bwrap --bind 用 $HOME/rel 让远程 shell 展开
- 加强 remote_dir 安全字符校验(_REL_DIR_RE,防 shell 注入)
|
2026-08-14 14:26:29 +08:00 |
|
ymq
|
cfaf48ed5d
|
fix: 远程迁移前 mkdir -p(相对路径多级目录 rsync 不递归建父目录)
|
2026-08-14 14:22:36 +08:00 |
|
ymq
|
dc4379b235
|
feat: 远程目录 remote_dir 改用相对路径(从远程用户 home 目录开始)
- 新增 _resolve_remote_dir(相对→~/xxx)+ _validate_remote_dir(防绝对路径/..穿越)
- 移除 _FORBIDDEN_DIRS 系统目录黑名单(相对路径天然限制在 home 内)
- rsync 迁移 + bwrap --bind 统一走 _resolve_remote_dir
|
2026-08-14 14:20:47 +08:00 |
|
ymq
|
939fd252ec
|
security: 机构独立 SSH key + host key 校验(accept-new 防 MITM)
- ensure_org_key: 每机构独立 ed25519 key pair(~/.ssh/org_keys/<org_id>/),防单点泄露
- org 级远程模式自动用机构 key,不允许指定任意 key
- StrictHostKeyChecking=no → accept-new,首次记录后严格校验 host key 防 MITM
|
2026-08-14 11:58:48 +08:00 |
|
ymq
|
4fe5f17490
|
fix: remote_dir 根目录绕过(rstrip 后空串检查)
|
2026-08-14 11:27:45 +08:00 |
|
ymq
|
8371d95101
|
security: 工作环境远程配置安全校验 + 迁移顺序修正
- _validate_remote: host/user/port/dir/key 校验,防注入与防 rsync --delete 删系统目录
- remote_key_path 限制 ~/.ssh/ 下,防读任意私钥
- remote_dir 禁止系统目录(含 migrate_work_dir 纵深防御)
- 先迁移成功再写 DB,迁移失败不回写 mode(状态一致)
|
2026-08-14 11:26:34 +08:00 |
|
ymq
|
17b90c8c12
|
fix: 远程→本地迁移用旧环境远程配置(而非空的新data)
|
2026-08-14 11:16:12 +08:00 |
|
ymq
|
7e0a3d1d93
|
fix: 远程沙箱 bwrap 路径探测(PATH 优先回退 ~/bin/bwrap)
|
2026-08-14 11:15:03 +08:00 |
|
ymq
|
262d678e2a
|
feat: 工作环境管理(沙箱本地/远程切换 + 目录迁移)
- work_env.py: get/set_work_env(用户/机构维度,缺省local)、rsync目录迁移、远程SSH+bwrap沙箱、远程bwrap部署
- run_in_work_env: 按mode分发本地bwrap/远程SSH+bwrap
- sd_work_envs 表 DDL
|
2026-08-14 11:12:54 +08:00 |
|