📦 Automation packs are now KRW 4,500 each on ctee.kr. Updates stay free.
Dex › Products
← Blog Automation Pack

5단계 온보딩 코스 / Interactive course →

Blog Automation Pack user guide

Before you buy

This is downloadable code, configuration examples and operating documentation to set up on your computer. You must install tools, connect accounts and review output. Uploading the ZIP to a web chat does not start the pipeline. Setup services, AI subscriptions, API credits and hosting are not included. Setup and first-output time depend on your environment.

The instructions target macOS and a terminal. Linux and Windows/WSL require changes to shells, paths, fonts, browser connections, notifications and scheduling; unchanged operation is not guaranteed. Start with one account and one output. Local jobs do not run while the computer is off or asleep.

Do I need both Claude and Codex subscriptions?

No. Start with one supported cloud CLI that your account can access, with enough remaining usage. Multiple engines provide alternatives when a provider is unavailable. An installation assistant and the CLI invoked by the scripts are separate: signing into a desktop app does not establish that CLI authentication is ready.

OptionAccess neededCost and limits
Claude CodePro/Max, an eligible Team/Enterprise account, or Console API billingFree Claude web chat does not include Claude Code. API usage is billed separately from subscriptions.
Codex CLIA ChatGPT plan with CLI access, such as Plus/Pro, or an OpenAI API billing accountDo not equate Free/Go app access with CLI automation access. API-key use incurs API charges.
Gemini CLISupported Google sign-in or API authenticationCheck the allowance for your account and authentication method. An API key does not imply free usage.
OllamaLocal models and computing resourcesRequires memory, storage, power and time. Run only when the resource guard admits the job.

Set the engine order to the CLI you use. Image, voice and video APIs may charge separately from a text CLI subscription. Total running cost includes your chosen AI access, media generation and hosting/execution, in addition to the pack. Measure a single output before scheduling; no fixed monthly running cost is promised. Check provider billing and budget controls first.

Official documentation checked on 2026-09-28; check again before paying because plans, limits and models change.

What this pack needs

StageRequirements
First draftmacOS, Python 3.11+, zsh, Node 20+, one authenticated cloud CLI and internet
Blog connectionA Naver blog you operate and an authenticated Aside CLI profile per blog; another browser tool requires adapter changes
ImagesYour own/licensed images or a configured image service; API charges are separate
Scheduled operationdagu or a scheduler you configure, with the computer awake
OptionalOllama, Naver search/advertising API credentials; leave unused keys empty

The first success milestone is a reviewable research.md, brief.md, post.md, image folder and qa.json, not a published post. Traffic, search visibility and revenue are not guaranteed.

1. Extract and configure

Extract into a new folder and open it in a terminal. The following copies are for a fresh installation: compare files instead if settings already exist. Install Python, Node, zsh and your chosen CLI first.

python3 --version
node --version
zsh --version
cp .env.example .env
cp config/accounts.example.yaml config/accounts.yaml
cp config/seeds.example.yaml config/seeds.yaml
cp config/style.example.json config/style.json
export PACK_HOME="$PWD"
export OPS_HOME="$PWD"

Set PACK_HOME and OPS_HOME in .env to the actual extracted folder. Set CLOUD_ONLY=1 if you do not use Ollama. Keep only blog-a in config/accounts.yaml for the first run; set your blog_id, browser profile, daily_cap of 1 and desired slots. Put one topic in config/seeds.yaml. Configure PHOTO_DIR for photo-based blogs.

Activate your Python environment. If your ZIP includes requirements.txt, install its dependencies. Check the version's README for image and browser dependencies. Put only your own settings in .env; quote paths containing spaces.

2. Check without publishing

blog-a is the configuration key. Use an ISO date, not a word such as “tomorrow”. The first command plans; the second consumes real model usage.

RUN_DAY=$(python3 -c 'import datetime; print(datetime.date.today()+datetime.timedelta(days=1))')
DRY=1 zsh bin/run-queue.sh blog-a "$RUN_DAY"
TEST_KW="a topic I can verify personally" zsh bin/run-queue.sh blog-a "$RUN_DAY"

TEST_KW skips the runner's normal blog-save/scheduling branch. Also tell the generation assistant not to publish and keep schedulers unregistered. A successful DRY run does not prove authentication, model calls or image generation work.

3. Review the result

Open the printed drafts/blog-a/<date>-<slug>/ folder. Check text, images, facts, sources and qa.json. Do not bypass a failed gate by changing its status or substituting empty files.

zsh bin/doctor.sh
python3 bin/check.py blog-a "drafts/blog-a/actual-generated-folder"

Tool detection by doctor does not prove a successful login or publish. Inspect the run logs under data/ and the failed stage's files first.

4. Enable scheduling deliberately

Log into your Naver blog in Aside yourself and confirm the profile targets the correct blog. Manually schedule one reviewed post first; check the editor, platform schedule and eventual public RSS entry. Then follow docs/PIPELINE.md, review paths/time zones in jobs/, and register only the jobs you need. Version 1.1.0 saves local outputs by default. Browser saving/scheduling requires explicit ALLOW_PUBLISH=1. Copying every example job is not an installation check.

Distinguish scheduled from published. Confirm the platform schedule and use the public RSS entry as publication evidence. Stopping local automation does not cancel posts already scheduled on Naver.

Ask your installation assistant

Open the extracted folder in Claude Code or Codex and use this request. The assistant consumes your account's usage too. Enter secrets locally, not in chat.

Read docs/START-HERE.md and the README in this folder.
Check my OS, tools and the one cloud CLI I plan to use, including authentication.
Separate required tools, optional tools and additional charges.
Do not overwrite existing .env/config files or print secrets.
Keep schedulers, uploads, publishing and comment DMs disabled.
After checks, help me generate one local output only.
Identify unfinished adapters and failures explicitly.
Show output paths and the human review checklist. Stop before publishing.

Precautions

Troubleshooting

SymptomNext check
Command/module missingVirtual environment, PATH and required tool installation; run the CLI's version command
Login error / 401 / 403Account, channel, authentication method, token expiry and permissions; log in yourself
Quota / 429 / insufficient creditsProvider usage and billing; do not retry repeatedly or delete cooldown files
rc=75 / RESOURCE_DEFERREDAnother job, memory pressure or load; retry later without deleting locks
Output exists but is not publishedTest flags, holds, review failures and publishing policy; a file is not proof of publishing
Browser step stopped workingLogin expiry or changed platform UI; inspect that stage and sign in manually

For support, provide the pack and ZIP version, OS, failing stage/command, expected result and last 20 error lines with secrets removed. Never send keys, cookies or your full .env. See docs/HUMAN-STEPS.md for the operating checklist and docs/PIPELINE.md for the stage reference.