全部技能 / 基础工具与工作流 / codex-image-to-eagle
基础工具与工作流 · vibeshotclub/vsc-skills

codex-image-to-eagle

Archive Codex-generated images from the current user's Codex generated_images directory into Eagle with the prompt saved as annotation. Use when the user asks to save, archive, import, or sync Codex generated images to Eagle with prompts, tags, and folders.

风险提醒:橙色 · 评估后使用AI 侦查报告
作者 vibeshotclubGitHub vibeshotclub/vsc-skills ↗Stars 832许可 仓库未提供 LICENSE 文件(find 全仓无 LICENSE*;GitHub API license 字段为 null)commit fcee81beb6
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

核心是一条 Node 脚本:扫描 Codex 生成图目录,选图,组装 item_add 载荷,把图片路径与提示词写入 Eagle 素材库。

codex-image-to-eagle/SKILL.md
Archive images generated by Codex into Eagle and preserve the prompt as searchable metadata.
注:脚本 822 行,只用 Node 内置 fs/path/http/os/child_process,无 npm 依赖。

与 Eagle 的通路有两条:默认走本地 HTTP 回环端点;若本机 Codex 配置里有 Eagle stdio MCP 条目,则自动改走 stdio(spawn 子进程)。

codex-image-to-eagle/SKILL.md
Stdio mode: the script reads the current user's `~/.codex/config.toml`, prefers `[mcp_servers.eagle]`, and can auto-detect other Eagle-like stdio MCP entries. Use `--transport http` to force the legacy HTTP path.
注:transportName() 在未显式指定 --transport 时按 config.toml 是否存在 Eagle 条目自动判定。

HTTP 路径就是对一个本地回环地址做 POST /api/tools/call,请求体是 {tool, params} 的 JSON。

codex-image-to-eagle/scripts/archive-codex-image-to-eagle.js
path: '/api/tools/call',
注:默认地址来自常量 DEFAULT_SERVER,可被 EAGLE_SERVER_URL 覆盖。

stdio 路径用 child_process.spawn 拉起配置里的命令,并且把宿主的整个 process.env 透传进子进程(再叠加配置里的 env)。

codex-image-to-eagle/scripts/archive-codex-image-to-eagle.js
this.child = spawn(this.config.command, this.config.args || [], {
注:紧随一行为 `env: { ...process.env, ...(this.config.env || {}) },`。

文件夹解析按「精确父子路径」而非名字:先向上解析根目录,再只在根下按 name+parentId 找日期目录,避免同名串台。

codex-image-to-eagle/SKILL.md
- Folder safety: resolve folders by exact parent-child path, not by name alone.
注:SKILL.md 另用 5 条编号规则把这条纪律写到「用 Eagle MCP 工具直调」的场景。

并发安全用本地文件锁(os.tmpdir 下以参数哈希命名的 lock 目录)串行化「查目录 → 建目录」临界区。

codex-image-to-eagle/scripts/archive-codex-image-to-eagle.js
const lockDir = path.join(os.tmpdir(), `codex-image-to-eagle-${hashKey(key)}.lock`);
注:默认 15s 超时、150ms 轮询,可用 EAGLE_FOLDER_LOCK_TIMEOUT_MS / EAGLE_FOLDER_LOCK_POLL_MS 覆盖。

提示词与溯源信息以固定文本模板写入 Eagle 的 annotation 字段,构成可检索的复盘元数据。

codex-image-to-eagle/scripts/archive-codex-image-to-eagle.js
'- source: Codex',
注:buildAnnotation() 生成 Prompt: … / Archive: - source/- original_path/- archived_at 三段。

幂等与防重复:同一根目录下若已存在多个同名日期目录,复用最旧的那个并报告重复,而不是再造一个。

codex-image-to-eagle/SKILL.md
If more than one matching date folder already exists under the same root, reuse the oldest existing folder ID and report the duplicate instead of creating another one.
注:代码侧对应 findFolderByNameAndParent() 按 createdAt 升序取第一个。

2核心能力

01三选一的选图策略:--latest(最新一张)/ --latest-session(最新会话目录全部)/ --path(指定文件)
02提示词搬运:写入 Eagle annotation,支持 --prompt / --prompt-file / --prompt-stdin
03默认标签 Codex / AI生成 / Prompt,并支持 --tags 追加(JSON 数组或逗号分隔)
04按本地生成日期归档到 根目录/YYYY-M-D 子目录,可 --no-date-subfolders 退回扁平归档
05自动化友好:固定 folder id 可跳过 folder_get/folder_create 权限确认
06--dry-run 预览与 --check-connection 连通性自检
07跨平台默认路径:~/.codex/generated_images(可用 CODEX_GENERATED_IMAGES_DIR 覆盖)

3外部依赖

类型依赖
packageNode.js(无 npm 依赖,仅内置 fs/path/http/os/child_process)
networkEagle MCP Server(本地回环 HTTP)
networkEagle MCP Server(本地回环,README 侧写为 localhost 同端口)
cliEagle 桌面应用 + Eagle MCP 插件(第三方,必须运行才能写入)
clistdio MCP 代理子进程(从 ~/.codex/config.toml 解析出的 command/args,如 mcp-proxy.js)

4风险提醒 风险提醒:橙色 · 评估后使用

风险提醒:橙色 · 评估后使用
  • 执行面来自本机配置:脚本会读取 ~/.codex/config.toml 并 spawn 其中的命令,且透传全量环境变量。 — spawn(this.config.command, ...) 无白名单校验;若配置文件被改写或含非 Eagle 条目被误判(looksLikeEagleMcpConfig 兜底扫描),会拉起非预期进程。
  • 强依赖第三方桌面软件与插件,非自包含。 — Eagle 未运行 / MCP 插件未启用时链路直接失败;Skill 自身不含任何图片处理能力。
  • 写入不可逆地与素材库耦合:重复归档会在 Eagle 产生重复素材。 — README 自述『未建议随意反复测试实际写入命令,因为会在 Eagle 中产生重复素材』;脚本无去重比对(同图重复导入不会被识别)。
  • 隐私面:图片内容与提示词会进入 Eagle 的本地素材库(含文件夹层级与日期)。 — annotation 里还写入 original_path(本机绝对路径),若素材库被同步/分享会暴露路径结构。
风险提醒:橙色,评估后使用。触发条件与依据:① 默认路径会读取用户级配置文件 ~/.codex/config.toml,并据此 spawn 子进程,且 spawn 时把宿主全量 process.env 透传给子进程——这是「依赖本机配置决定执行内容」的代码执行面;② 强依赖第三方软件与插件(Eagle + Eagle MCP 插件 + 可能的 mcp-proxy.js),属于第三方依赖链;③ 会向本地素材库写入目录与素材。缓解因素:无任何外发互联网调用(仅 127.0.0.1 回环)、不删改源文件、支持 --dry-run 预览、目录操作有本地锁与精确父子路径匹配。共享机器或配置被第三方改写时风险上升。

5第二遍独立确认

  • [ok] 每条外部依赖的反查 — Node 依赖:脚本 require 仅 fs/path/http/os/child_process,无 node_modules、无 package.json;Eagle 回环端点:DEFAULT_SERVER 常量 + callTool() 的 http.request 两处互证;stdio 子进程:spawn 调用点 + README 的 mcp-proxy.js 示例互证。
  • [ok] 是否有被遗漏的网络调用 — 全文件仅 import http 一处,唯一 http.request 出现在 httpRequest(),被 callTool() 以 DEFAULT_SERVER 构造的 hostname/port 使用;无 fetch/https/axios/WebSocket。
  • [ok] 凭证读取结论的反例搜索 — process.env 命中集中在配置项(图片目录/服务地址/文件夹 ID/MCP 参数/锁超时),未见读取密钥文件、keychain、.env 或打印敏感值;但 spawn 透传全量 env 确认成立,故归入橙档依据之一。
  • [ok] 文件夹安全规则 vs 代码实现 — SKILL 第 1–5 条规则均可在代码定位:fixedFolderId 短路、folder_get(getAllHierarchy/fullDetails)、findFolderByNameAndParent(name+parentId)、folder_create(parentId)、复用最旧(按 createdAt 升序取 matches[0])。
  • [ok] 默认服务地址描述一致性 — SKILL.md/脚本为 127.0.0.1:41596 并说明优先 IPv4 回环的原因;README 写 localhost:41596。二者同端口不同写法,已分别作为独立条目取证,不视为出入。
  • [ok] 功能声明与实现相符度 — description 承诺的 save/archive/import/sync + prompt/tags/folders 全部有对应实现(item_add 载荷含 tags/items、annotation、folders);『不泛化为任意素材库迁移』与代码仅面向 Eagle 相符。
  • [ok] dry-run 是否真的不写库 — resolveFolderPath() 在 dryRun 时直接返回伪造的 folder-path 字符串,main() 在 dryRun 分支提前 return,未调用 item_add —— 预览路径无写入,结论成立。

6结论

  • 把「生成图 + 原始提示词」一起归档,提示词进 Eagle annotation 可被检索,解决了 AIGC 复盘最容易丢的一环。
  • 工程细节扎实:本地文件锁避免并发建重复日期目录,目录按父子路径精确解析。
  • 有 --dry-run 与「不删/不移动源文件」的显式安全条款,误操作成本低。
  • 双通路(回环 HTTP / stdio MCP)覆盖了 Eagle 插件的两种接入方式,并诚实说明 shell 沙箱下子进程可能继承限制。
  • 适合:适合用 Codex 批量生图、且已经用 Eagle 管素材的创作者:一次性把「图 + 原始提示词 + 标签 + 日期目录」归档,便于后续检索与提示词复用;也适合做无人值守的自动化归档(固定 EAGLE_CODEX_FOLDER_ID/ROOT_FOLDER_ID 减少权限弹窗)。
    不适合:不适合没有 Eagle 或不愿装 MCP 插件的用户(本 skill 无替代路径);不适合非 Codex 来源图片或其他素材库的迁移(vsc-distinction 明确不泛化);不适合以「先试试看」心态反复真跑导入的场景——重复素材会污染库,应先 --dry-run。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-15
    方式 A · 人下载镜像包下载 codex-image-to-eagle.tar.gz
    sha256: 5914cacc5fbf46dc…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit fcee81beb6;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库vibeshotclub / vibeshotclub/vsc-skills
    Stars832
    最近推送2026-09-11
    本 skill commitfcee81beb6
    许可仓库未提供 LICENSE 文件(find 全仓无 LICENSE*;GitHub API license 字段为 null)
    本站信息
    收录日期2026-09-06
    分类基础工具与工作流
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近