Перейти к основному содержанию

Почему ChatGPT Agent не видит локальные файлы: разрешения Claude Code и Codex

A
13 мин чтенияAI Development Tools

Сначала определите, какая поверхность владеет файлом: загрузка в ChatGPT, Library, connector, GitHub, локальный Codex или локальный Claude Code.

Почему ChatGPT Agent не видит локальные файлы: разрешения Claude Code и Codex

Файл может лежать на вашем компьютере, но агент может работать не на вашем компьютере. Именно поэтому ChatGPT Agent не начинает работу с автоматическим доступом ко всем папкам. Он видит то, что вы загрузили, добавили в Library, открыли через connector или явно авторизовали через GitHub.

Локальный Codex и локальный Claude Code устроены иначе. Они запускаются рядом с выбранным проектом или терминальной сессией, поэтому могут читать репозиторий, видеть diff и выполнять команды в той среде, где находится код. Но это не отменяет разрешения: sandbox, approval policy, writable roots, allow/ask/deny, режимы Bash и запреты на чувствительные файлы по-прежнему решают, что можно делать.

На 23 мая 2026 года полезный вопрос звучит так: какая поверхность владеет файлом, каким маршрутом файл попал к агенту и какую власть вы выдаете после чтения. Если ответы не сформулированы, не включайте danger-full-access или bypassPermissions только ради того, чтобы инструмент наконец увидел файл.

| Состояние файла | Маршрут | Первое действие | Что не делать | | Один документ или CSV | ChatGPT upload / Library | загрузить только нужный файл | не отправлять всю папку | | Локальный repo с тестами | Codex local / Claude Code local | работать в выбранном workspace | не ждать, что ChatGPT увидит unpushed diff | | Публичный или частный GitHub branch | GitHub app / cloud clone | авторизовать конкретный repo | не смешивать branch с локальным состоянием | | secrets, .env, customer exports | redacted fixture / isolated workspace | сначала сузить доступ | не загружать секреты в chat |

Короткий ответ: агенту нужен маршрут к файлу

ChatGPT Agent работает как поверхность ChatGPT с инструментами. Его терминал, браузер и анализ файлов не доказывают, что он находится внутри вашего локального проекта. Для него файл становится рабочим объектом после upload, Library, connector, data source или авторизованного GitHub repository.

Если задача состоит в чтении отчета, загрузка файла является нормальным и узким маршрутом. Если задача требует изменить код, запустить тесты, проверить lockfile, увидеть uncommitted diff или использовать локальную базу, лучше выбрать Codex local или Claude Code local. Там контекстом является рабочая директория, а не удаленная копия файла.

Такой порядок защищает от ложного удобства. Сначала выбирается execution surface, затем file route, затем authority: read, write, shell command, network или GUI control. Чем чувствительнее данные, тем важнее не расширять права до того, как маршрут стал понятен.

| Файл | Лучший маршрут | Почему | | PDF, CSV, log bundle | ChatGPT upload | достаточно копии файла | | Repo с тестами | локальный Codex или Claude Code | нужны команды и реальные зависимости | | Unpushed changes | локальный агент | cloud route их не знает | | Pushed repo | GitHub или cloud clone | можно авторизовать точный branch | | Secrets | fixture или isolated workspace | сначала ограничить утечку |

Граница ChatGPT Agent: загрузить, подключить или авторизовать

ChatGPT Agent не является локальной оболочкой, открытой в текущем каталоге. Он может работать с uploaded files, Library items, apps, data sources, forms, spreadsheets и выбранными GitHub repositories. Но это всегда продуктовый маршрут, а не общий mount вашего диска.

Практический подход простой: назовите маршрут данных. Для договора загрузите договор. Для повторно используемого набора файлов примените Library. Для облачной информации подключите соответствующий сервис. Для кода, который уже должен быть в GitHub, авторизуйте конкретный repository и branch.

Фраза 'у агента есть терминал' часто сбивает с толку. Терминал в product environment не равен локальному shell с вашими node_modules, .venv, secrets и текущим git diff. Если все это важно, задача не про ChatGPT upload, а про локальный coding agent.

Маршруты файлов в ChatGPT Agent

| Маршрут ChatGPT | Подходит для | Граница | | Upload | документ, таблица, PDF, лог | агент видит загруженную копию | | Library | повторное использование файлов | это account surface, не live disk | | Connectors | облачные app/data | зависит от аккаунта и разрешений | | GitHub app | выбранные repositories | не видит локальный unpushed diff | | Agent tools | web/task flows | не доказывает filesystem access |

Граница Codex: local, cloud и mobile control

Codex local начинается с проекта. В приложении вы выбираете folder, в IDE агент работает в project directory, а CLI берет текущий каталог. Поэтому Codex может читать файлы и предлагать patch там, где ChatGPT Agent ничего не знает о локальном пути.

Однако локальный старт не означает абсолютное доверие. Sandbox modes и permission profiles решают, можно ли писать за пределы workspace, запускать network commands, менять файлы и выполнять опасные операции без approval. Хорошая настройка начинается с workspace-scoped режима, а не с danger-full-access.

Codex cloud полезен для branch-based работы и review, но он клонирует repository в отдельную среду. Mobile control тоже не переносит файлы телефона в агент; телефон управляет задачей, а файлы, credentials и setup остаются на execution host. Computer Use остается отдельным маршрутом для GUI evidence, а не обычным чтением файлов.

| Форма Codex | Откуда файл | Проверка | | Local app / IDE / CLI | selected workspace | sandbox и approvals | | Cloud thread | cloned repository | branch должен содержать нужное состояние | | Mobile | connected host или cloud task | телефон не является файловым источником | | Computer Use | visible UI | только когда UI является доказательством |

Граница Claude Code: локальная сила с явными правилами

Claude Code local ближе к Codex local, чем к ChatGPT Agent. Он работает с локальным repository, читает codebase, редактирует файлы и запускает команды. Поэтому он подходит для задач, где важны tests, build scripts, local services и текущий diff.

Но сила распределена по правилам. Read access, additionalDirectories, deny rules, file modifications, Bash permissions, defaultMode, acceptEdits, auto, dontAsk и bypassPermissions меняют реальный blast radius. Перед запуском нужно понимать, какие paths читаются, какие files могут изменяться и какие commands требуют подтверждения.

Bypass не должен быть способом 'просто увидеть файл'. Если рядом лежат .env, SSH keys, customer exports или production dumps, сначала создайте fixture, временный checkout или deny patterns. Чем меньше prompts, тем сильнее должна быть isolation boundary.

| Вопрос | Контроль Claude Code | Практический эффект | | Чтение пути | read rules, additional dirs, deny | можно сузить или расширить | | Изменение файла | edit prompts and mode | diff остается границей | | Команды | Bash allow/ask/deny | tests и scripts требуют доверия | | Пропуск prompts | dontAsk / bypassPermissions | только в isolated environment |

Слои разрешений: visibility не равен authority

Visibility отвечает на вопрос, может ли агент прочитать материал. Authority отвечает, что он может сделать после чтения. Смешивание этих слоев превращает точную задачу в опасную фразу 'дай агенту доступ к файлам'.

В ChatGPT запись чаще выглядит как generated output или действие connector. В Codex local запись ограничивается workspace, sandbox и approval policy. В Claude Code local запись идет через edit permissions и modes. Shell commands, network и GUI control добавляют отдельные оси риска.

Хорошую границу можно произнести до запуска: агент читает только этот repo, пишет только в src и tests, не читает ../Private, спрашивает перед network commands и останавливается на .env. Если такое предложение не получается, задача еще не готова к широким разрешениям.

Слои разрешений локальных агентов

| Слой | ChatGPT Agent | Codex local | Claude Code local | | Discovery | upload, Library, connector, GitHub | workspace/current dir | local session and rules | | Write | generated files/actions | workspace write + approvals | edit mode + prompts | | Commands | product tool environment | local shell under sandbox | Bash allow/ask/deny | | Network | connected services/tools | profile and approvals | tool/environment rules | | Escalation | connect more data | change profile/sandbox | mode or bypass change |

Пять состояний файла и первое действие

Не все local files одинаковы. Один отчет на desktop, repository with tests, unpushed diff, GitHub branch и secret-bearing config требуют разных маршрутов. Если сначала классифицировать файл, выбор инструмента становится очевидным.

Один документ загружается в ChatGPT. Repo с тестами остается в локальном Codex или Claude Code. Unpushed diff остается локальным или намеренно pushится в branch. Pushed repo можно дать cloud route. Secrets лучше заменять redacted fixture или временным environment.

Когда сомневаетесь, сделайте минимальную воспроизводимую копию: без credentials, без private exports, с коротким expected result. Пусть агент сначала выполнит read-only analysis. Только после этого расширяйте write или command authority.

Пять состояний файла и безопасное первое действие

  • Document route: загрузить только нужный файл.
  • Repo route: работать в workspace и сохранять test evidence.
  • Unpushed route: не ожидать cloud visibility без handoff.
  • GitHub route: авторизовать конкретный branch.
  • Secret route: redaction, deny rules, isolated checkout.

Опасные ярлыки, которые выглядят как исправление файлов

Full access modes иногда нужны, но они не являются диагностикой file route. Danger-full-access в Codex или bypassPermissions в Claude Code убирают friction, но не отвечают, почему файл должен попасть в этот agent surface.

Широкие разрешения оправданы в disposable clone, container, scratch VM или тестовом аккаунте без реальных credentials. На основной машине с личными браузерными сессиями, private repos и customer data они должны быть исключением, а не привычкой.

GUI control работает по тому же принципу. Используйте Computer Use, когда visible UI является источником истины: settings page, browser flow, simulator, billing screen, desktop bug. Если данные уже существуют как file, log, API response или repository, структурированный маршрут лучше.

| Ярлык | Где разумно | Где остановиться | | danger-full-access | disposable workspace | primary laptop with secrets | | bypassPermissions | isolated environment | просто меньше prompts | | folder upload | redacted bundle | смешанные private files | | GUI control | UI is evidence | обычное чтение файлов |

Локальный чек-лист перед запуском

Перед запуском спросите: это один файл или repo? Есть ли tests? Есть ли uncommitted changes? Нужны ли credentials? Нужно ли выполнять shell commands? Нужен ли network? Должен ли агент видеть GUI? Ответы сразу показывают route.

Если достаточно content analysis, выберите narrow ChatGPT upload. Если нужна code execution, выберите Codex local или Claude Code local. Если нужна remote review, сначала push clean branch. Если рядом production secrets, создайте isolated workspace before permissions.

Цель не в том, чтобы агент видел больше. Цель в том, чтобы он видел ровно достаточное и имел ровно ту authority, которую можно проверить. Такой подход быстрее в реальной работе, потому что меньше rollback, меньше утечек и меньше споров о том, что агент вообще видел.

| Проверка | Если да | Действие | | Single file | да | upload / Library | | Tests required | да | local coding agent | | Unpushed diff | да | local or push branch deliberately | | Secrets nearby | да | redact, deny, isolate | | GUI evidence | да | Computer Use with narrow window |

Как оформить решение о разрешениях для передачи другому человеку

В рабочих задачах проблема часто не в том, что агент не увидел файл, а в том, что никто не может позже объяснить, какие данные он видел. Полезная запись о доступе должна фиксировать четыре вещи: каким маршрутом файл попал к агенту, где выполнялся агент, какие действия ему были разрешены и при каких признаках работа должна остановиться. Тогда другой инженер отличит uploaded copy от GitHub branch, local Codex workspace от Claude Code session и cloud clone от состояния на вашем ноутбуке.

Для ChatGPT маршрута фиксируйте переданные материалы. Если вы загрузили только redacted log и PDF, не формулируйте задачу так, будто агент видел всю папку проекта. Если использован GitHub app, укажите repository, branch и факт, что local unpushed diff в этот маршрут не входит. ChatGPT удобен тем, что входные данные явные; риск появляется тогда, когда product tools воспринимают как локальные права на диск.

Для Codex local фиксируйте рабочую директорию, sandbox или permission profile, разрешенную запись, network policy, команды, которые уже выполнялись, и команды, которые требуют approval. В coding task такая запись практичнее фразы 'пусть Codex посмотрит проект', потому что review потом идет по diff, test output и command history. Если Codex cloud используется вместо local, отдельно запишите, какой branch был cloned и какие локальные generated files туда не попали.

Для Claude Code фиксируйте mode и rules. Если включены auto, dontAsk или bypassPermissions, рядом должны быть условия изоляции: disposable checkout, отсутствие реального .env, deny patterns, test account вместо production credentials. Без этих условий bypass не решает проблему видимости, а превращает ее в действие, которое трудно проверить после выполнения.

Такая запись может быть короткой, но она должна отвечать на вопрос передачи: почему здесь не достаточно upload, почему нужен локальный агент, почему network разрешен или запрещен, почему отдельная папка исключена. Если это нельзя произнести до запуска, задача еще слишком широкая. Сузьте sample, начните с read-only analysis или перенесите работу в isolated workspace.

| Запись | Что указать | Какой риск снимает | | File route | upload, Library, GitHub, workspace или GUI | не путать файл с локальным диском | | Execution place | ChatGPT product, local shell, cloud clone, connected host | не смешивать local и cloud state | | Authority | read, write, command, network, GUI | не превращать visibility в full control | | Stop rule | .env, secrets, customer data, private diff | остановить расширение доступа вовремя |

Часто задаваемые вопросы

Почему ChatGPT Agent имеет терминал, но не читает локальную папку?

Потому что этот terminal belongs to the ChatGPT product environment. Он не является вашим shell в текущем repository. Нужно загрузить файл, использовать Library, connector или GitHub authorization.

Может ли ChatGPT Agent работать с целым repo?

Да, если repo передан через поддерживаемый маршрут, например GitHub app. Но unpushed changes, локальные tests, generated files и secrets лучше оставлять local route.

Codex local безопаснее, потому что работает на моей машине?

Не автоматически. Проверяемость выше, но безопасность задают sandbox, permission profile, approvals, writable roots, network policy и дисциплина environment.

Codex mobile видит файлы телефона?

Нет. Его лучше понимать как controller. Файлы и credentials остаются на connected host или в cloud task, если вы не передали их отдельным маршрутом.

bypassPermissions в Claude Code означает доступ ко всему?

Нет. Он пропускает normal prompts, но не заменяет isolation. Используйте его только там, где checkout и credentials already disposable.

Что делать с .env?

Не загружайте .env в ChatGPT. Для local agents используйте deny rules, redacted fixtures или commands that prove behavior without printing secrets.

Когда нужен Computer Use?

Когда visible UI is the evidence: browser flow, desktop app, settings panel or GUI-only bug. For normal files use file, repo, log or command route first.

Поделиться:

laozhang.ai

Один API, все модели ИИ

AI Изображения

Gemini 3 Pro Image

$0.05/изобр.
-80%
AI Видео

Sora 2 · Veo 3.1

$0.15/видео
Async API
AI Чат

GPT · Claude · Gemini

200+ моделей
Офиц. цена
Обслужено 100K+ разработчиков
|@laozhang_cn|$0.1 бонус