local-task-offloader
v0.3.0
Published
Privacy-first Codex plugin for local source offloading, portable setup, and explicit private project sync.
Maintainers
Readme
Local Task Offloader
A privacy-first plugin for ChatGPT and Codex that routes large, routine work through a local AI model while keeping Codex responsible for source retrieval, authorization, and final judgment.
It can:
- offload large PDF and text reading to Ollama on the user's machine;
- return a compact, evidence-linked source digest before the large source enters Codex context;
- report estimated input-token reduction and measured local processing time;
- maintain an operational-only local
dijavu.jsonperformance history; - create and restore portable Move-out bundles; and
- synchronize an explicitly selected project between two machines through a user-owned private GitHub repository.
Install
Requirements:
- ChatGPT desktop or Codex with plugin marketplace support;
- Node.js 18 or newer;
- Python 3.11 or newer for PDF extraction, Move-out, and Project Link;
- Ollama for local inference; and
- Git, GitHub CLI, and a GitHub login only when using Project Link.
Add the public marketplace and install the plugin:
codex plugin marketplace add rchau8502/local-task-offloader
codex plugin add local-task-offloader@local-task-offloaderThen restart the ChatGPT desktop app or start a new Codex task. Ask:
Use Local Task Offloader to check whether my computer is ready.The marketplace installs the npm package. Installing the package with
npm install alone downloads the files but does not register the plugin with
Codex.
First use
The plugin begins with a read-only hardware and runtime check. If Ollama or a model is missing, it shows the proposed runtime, model, approximate download, and reason before requesting installation approval. It never installs the runtime or downloads a model without explicit confirmation.
An already installed Ollama runtime is started lazily only when an eligible offload actually needs it. Model selection considers currently free VRAM instead of GPU capacity alone.
When local inference actually processes task content, progress and final responses begin with:
OFFLOADINGThe final response ends with an estimate similar to:
Offload report — estimated input tokens kept out of Codex context: ~18,400 (73%); processing time: local 9.2s vs current Codex model estimated 14.0s (heuristic baseline).Local time is measured. Input-token reduction and Codex time are estimates. They are not quota, credit, billing, or money calculations.
Conversation compaction
Codex owns conversation-history compaction. This plugin does not replace
Codex automatic compaction or the /compact command, and it does not run a
second local summary after an offload. Local compression applies only to the
large source being processed.
What belongs locally
Good candidates include:
- long PDF or text extraction;
- bounded summarization and indexing;
- repetitive classification; and
- compressing retrieved source text before returning evidence to Codex.
Codex remains responsible for:
- current web retrieval and source comparison;
- high-stakes medical, legal, financial, or security conclusions;
- permissions and external actions;
- resolving conflicting evidence; and
- the final answer.
Privacy
Inference traffic stays on localhost. The plugin does not send prompts, documents, or extracted content to its maintainers.
Dijavu stores only:
- a sequence number;
- a broad task category;
- an approved local-model label;
- success state;
- estimated token counts; and
- elapsed local time.
It never stores names, gender, hobbies, birthdays, ages, preferences, expertise, contact details, locations, employers, schools, account identifiers, file paths, source text, credentials, relationships, or sensitive medical, legal, or financial information.
See PRIVACY.md for the complete policy.
Move-out
Move-out inventories portable plugins, personal skills, standalone MCP definitions, and known memory locations. It can create a checksum-protected ZIP and restore non-conflicting components on another machine.
Public marketplace plugins are recorded as reinstall instructions rather than copied from cache. Only unpublished local plugins and personal skills are bundled.
Authentication files, tokens, passwords, private keys, cookies, and secret environment values are never migrated. Memory is included only after a separate warning and approval. Move-out ZIP files are not encrypted.
Project Link
Project Link requires an independent GitHub login on each machine. It:
- creates or connects only to a repository GitHub reports as
PRIVATE; - scans the current tree and Git history for likely credentials;
- refuses symlinks, Git submodules, merge states, unsafe divergence, and non-fast-forward updates;
- never force-pushes or discards either machine's work; and
- requires explicit approval for every download, upload, or bidirectional synchronization.
Development
Run the complete release checks:
npm testInspect the exact npm archive before publishing:
npm pack --dry-runThe project uses only Node.js and Python standard libraries at runtime.
