Turn an Amazon product or review link into a two-phase delivery workbook.
This skill is designed to be portable: the scripts live inside the skill folder and do not depend on dashcamauto or any other local repo.
python scripts/amazon_review_workbook.py doctor --url "<amazon-url>"
python scripts/amazon_review_workbook.py intake --url "<amazon-url>" --output-dir "<workspace>/amazon-review-output"
评论中文版:python scripts/amazon_review_workbook.py translate --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_factual.json" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py coverage-check --url "<amazon-url>" --db-path "<workspace>/amazon-review-output/amazon_review_cache.sqlite3"
python scripts/amazon_review_workbook.py taxonomy-bootstrap --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py prepare-tagging --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output" --canonical-tags-json "<workspace>/amazon-review-output/canonical_tags.json"
taxonomy-bootstrap is only for building a stable canonical vocabulary for the batch. prepare-tagging consumes the full factual or translated JSON and emits a trimmed *_tagging_input.json that contains pending rows only plus cache metadata. Do not use that trimmed file as the merge source.
python scripts/amazon_review_workbook.py merge-build --base-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --labels-json "<workspace>/amazon-review-output/amazon_<asin>_labels.json" --output-dir "<workspace>/amazon-review-output" --taxonomy-version "v1" --strict
doctor reports a valid asin.chrome_debug_ready is true.translate, confirm deeplx_env_ready is true.deeplx_reachable is false, do not block the workflow; let the model fill 评论中文版 during tagging.If any of these fail, read references/setup.md before continuing.
collectintakecoverage-checkkeyword-autotune评论中文版: use translatetaxonomy-bootstrapprepare-taggingmerge-buildExamples:
python scripts/amazon_review_workbook.py collect --url "<amazon-url>" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py translate --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_factual.json" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py coverage-check --url "<amazon-url>" --db-path "<workspace>/amazon-review-output/amazon_review_cache.sqlite3"
python scripts/amazon_review_workbook.py keyword-autotune --output-dir "<workspace>/amazon-review-output" --db-path "<workspace>/amazon-review-output/amazon_review_cache.sqlite3"
python scripts/amazon_review_workbook.py taxonomy-bootstrap --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output"
python scripts/amazon_review_workbook.py prepare-tagging --input-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --output-dir "<workspace>/amazon-review-output" --canonical-tags-json "<workspace>/amazon-review-output/canonical_tags.json"
python scripts/amazon_review_workbook.py merge-build --base-json "<workspace>/amazon-review-output/amazon_<asin>_review_rows_translated.json" --labels-json "<workspace>/amazon-review-output/amazon_<asin>_labels.json" --output-dir "<workspace>/amazon-review-output" --taxonomy-version "v1" --strict
The factual and final workbooks always use the 14-column schema in references/output-schema.md.
Do not silently add or remove columns. If a field is unavailable from the page, leave it blank rather than inventing a value.
The model should not invent from the product page alone. Ground semantic tagging on the factual JSON/workbook created by intake or translate.
Keep the two JSON shapes distinct:
*_tagging_input.json from prepare-tagging is the cropped machine prompt payload for the model--base-json for merge-build must be the full factual/translated record set, not the cropped tagging payload--labels-json is the model's completed semantic output for the pending rows onlyIf translate prints translation_mode=model_fallback, fill 评论中文版 in the same tagging pass instead of waiting for DeepLX.
Use references/tagging-guidelines.md when filling:
评论概括情感倾向类别分类标签重点标记The preferred fast path is:
taxonomy-bootstrap to build a canonical tag vocabulary for this batchprepare-tagging to create a minimal pending-row payloadmerge-build to update cache and export the final workbook from the full base JSONintake and collect no longer run keyword expansion implicitly in deep mode. deep now means the 18 combo pass only.coverage-check after intake to compare current rows vs Amazon's visible reviews count before deciding to spend more requests.--keywords only when you explicitly want a keyword pass.--keywords with no values to run the built-in keyword preset for the selected --keyword-profile.--keywords foo bar baz to provide an explicit keyword list.2.5s gap between combos/keywords to reduce rate-limit risk.generic: universal consumer-product termselectronics: universal terms + common app/setup/hardware termsdashcam: electronics profile + recording/night/parking/GPS/Wi-Fi/mount termssuccessful: keywords that have produced results before are skipped on later runs; recent zero-result keywords are also suppressed for 72h to avoid immediate retries.--keyword-reuse-scope none./keyword_tuning_state.json is now read automatically when present, and refreshed after keyword runs so the skill gradually reorders towards higher-yield terms.keyword-autotune can also ingest old keyword-run JSON reports via --report-glob to seed the tuned state from historical experiments.Do not claim success if any of these is true:
*_tagging_input.json was used as --base-json for merge-build.评论用户名 was added as a real output column.共 1 个版本