SuperAPI AI Directory

dby-deai

General & other

View repository

Updated 10-16 07:22

About this skill

De-AI-ify · dby-deai

Input isany passage of already-written Chinese(not limited to WeChat official accounts). Default delivery is adiagnostic report, not a revised draft.

🔀 Switch platform voice → dby-rewrite; write one from scratch → dby-write; afraid of hitting prohibited words → dby-banned-words。

🔴 Five red lines

  1. Do not help evade AI labeling. Requests to delete / tamper with / conceal AI statements and labels are refused outright, and no "how to bypass" ideas are given. Article 10 of the 《Labeling Measures》 prohibits "providing tools or services for others to carry out the above malicious acts"—this sentence points directly at this package.
  2. Do not promise passing detection, do not report AI rate, do not give an overall score. If a user comes asking with a detector score, first say one thing: Lao She's 《林海》 was judged 99.9% AI, OpenAI's own classifier was taken down because its true positive rate was only 26%—a score is a hint, not a fact.
  3. Do not serve academic scenarios. For "lowering AI rate" for degree theses / coursework / submissions checked for AIGC, clearly refuse and explain the reason.
  4. Do not serve bulk accounts. One draft posted many times as rewritten content, AI-managed accounts producing at scale—this is precisely the main reason accounts get banned on various platforms, not accepted.
  5. Change writing style, not facts, and prompt proactive disclosure. On delivery include one line: check "AI-generated / AI-assisted" as required by the platform. De-AI-ifying ≠ denying AI involvement. For platform positions and regulations check references/平台标注.md。

Three final states (first is default)

What the user says Tier Deliverable
Does this have an AI tone / take a look for me A Diagnostic Report: which sentence, which family, whether to change
Help me revise it / de-AI-ify it B Rewrite Full revised text + item-by-item "what was changed"
After revising it still has no human feel C Add human feel First request material,if the user does not provide material, stop

Final state not stated → only do A, and after delivery ask whether to continue. Do not revise the draft by default.

Before starting: circle two types of protected zones (all three tiers must do this)

① Fact zone: numbers, names, institution names, prices, times, product models, quotations, code—not a single character changed. The diagnostic tier is the same: the report must not suggest changing them.

② Basis zone: take every "because… therefore…," "X causes Y," "the best way is Z" in the body—thebasis sentences first list them sentence by sentence. These sentencesmay only be marked, not deleted—even if they have no support themselves ("it is understood that…" and "data shows…" also count). Deleting them would leave downstream conclusions hanging, and readers would no longer know why this path should be taken.

🔴 First list them in a table, then start. Do not make an on-the-spot judgment of "can this sentence be deleted" during the deletion process— in practice, the error rate for deleting that way is close to half, whereas the approach of first enumerating into a list has never gone wrong.

Mode A: Checkup

python3 scripts/deai.py 稿件.md                       # 或 cat 稿件.md | python3 scripts/deai.py -
python3 scripts/deai.py 稿件.md --profile deai-偏好.md  # 用户工作区有这份就必须带上
python3 scripts/deai.py 稿件.md --baseline 基线.json    # 有作者范文时,用他自己的尺子
python3 scripts/deai.py --selfcheck                   # 离线自检,不联网

🔑 If you can get the author's sample writing, establish the baseline first(--make-baseline, for the process see references/文风锚定.md). There is no publicly available empirical threshold on the Chinese side, and generic word lists will judge "he always writes like this" as AI-flavored; the author's own baseline does not have this problem.

The checkup has two passes; missing one means missing half.

First pass · Sentence level: the script only gives positions and density, judging is your job—go through them one by one against references/病灶清单.md, that list has a "not counted" column for every family (exemption examples).

Second pass · Whole-piece level: read references/结构审读.md and go through the four questions (are the title and body misaligned, is the strongest finding buried, is the basis for each causal claim present, can it be reproduced by following it).Deleting boilerplate sentence by sentence will never touch this level, and when readers say "it has a strong AI flavor," a considerable part of what they mean is precisely this.

The report follows this shape, and all three sections must be present:

## 体检:<标题或首句>
**最该改的三处**(按影响排序)
1. 第 N 句 · <族名> · 原文「…」 → 建议:…
**可以不改的**:<命中了但属于豁免或体裁要求的>,说明为什么不算
**不是文风问题**:<结构审读四问的产出,每条给位置 + 处置>

🔴 Missing basis has only one handling: have the author fill it in. Write it as "the causal claim in sentence N lacks basis, what was your true value at the time," never write "suggest deleting"—deleting it will leave downstream conclusions hanging, and readers will no longer know why this path should be taken. An unsupported assertion left in place and marked is better than deleting it cleanly.

🔴 Look at clusters, not isolated instances. A single word hit is not reported—real people also say "first of all." Only when the same family appears repeatedly within a thousand characters, or multiple families crowd into the same paragraph, does it go into the report.If the user has provided his own sample writing, what has long been written that way in the sample is his style and is not counted as a disease.

Mode B: Rewriting

🔑 First run the complete Mode A (including structural review), then proceed according to references/改法.md : first delete → then replace → then split → read once. The revision library is the main body of this tier (14 actions, each with ❌/✅ and applicable conditions). Acting without reading it = improvising.

🔴 Structural problems are only marked, not changed, and handed to the author together with the revised draft—changing structure is changing his expressive intent and factual claims. The only three layers you can act on are wording, sentence patterns, and skeleton.

  1. The two types of protected intervals have already been circled above—after revising, check each item back against the original text (missing a fact is falsifying in the user's name, missing a basis leaves downstream hanging).
  2. 🔴 If no fact can be substituted, you are not allowed to make one up. For paragraphs that were already empty in the original, mark them for the user to fill in (switch to Mode C). Before deleting a sentence, first check it againstthat table of basis intervals: if it is on the table → leave it in place and mark "basis missing here, please fill in"; only if it is not → may it be deleted.
  3. Revise at most twice. If you are still dissatisfied after the second pass, deliver it and clearly state what remains—from the third pass onward the text will be damaged.
  4. A "what was changed" must be attached, one line per item:第 7 句:删「值得注意的是」; this list can also be organized into changes[] and stored in the manuscript, for the shape and commands see references/draft/draft-changes.md—whether to store it is still up to the user.
  5. After revising, rerun the script and show the before-and-after density together to the user.

❌ Never do: random synonym replacement, deliberately adding typos or dialect, deliberately creating ill-formed sentences, rewriting entire paragraphs.

🔀 The user says "make it sound like I wrote it" → that'sstyle anchoring, not de-AI-ifying; go through references/文风锚定.md (first take the dby-charter 's creative DNA, then use --make-baseline to press out their own density baseline). Anchoring solves "sounds like you talk", but not "thinks like you think" — the latter can only go through Mode C material sourcing.

Mode C: Add human flavor

Read references/加人味.md. Two core points:Four no's discipline(add no facts, invent no details, change no stance, change no degree) + stop if the user gives no material— deliver the cleaned-up version, and state "this version is clean, but it still doesn't have you in it".

The "human flavor" the model fills in itself is fabrication, and it will be sent out under the user's name.

After delivery: record the gaps in the criteria

The user hand-edited your rewrite, or said one of your suggestions was wrong — that's adefect in the criteria, not an interlude of this session. Record it per references/沉淀.md into theuser workspace's deai-偏好.md(that format script can read it, and next time it will take effect automatically with --profile ). Only record when the user explicitly says "write it down", or when it's clearly a general rule.

⚠️ Do not write into this package's directory:dby-update will overwrite files inside the package during reconciliation, and anything written back will be gone on the next update.

Next step

After B/C-tier delivery, the user wants to save it into the manuscript surface (to accept/reject item by item, leave comments) → references/draft/draft-changes.md; wants to revise another version according to platform tone → dby-rewrite; the final draft is to be published → dby-publish. All of theseonly proceed if the user asks, not proactively recommended.

Self-check before delivery

  • only did the tier the user asked for, did not revise the draft without authorization
  • every item points to a specific sentence, no "overall too AI"
  • has a "can leave unchanged" column — if there's not a single one, it's very likely a false kill of a real person's writing
  • went through the four structural review questions, and gave a conclusion in the "not a style problem" column (even if no problem was found, say so explicitly)
  • did not delete any sentence whose deletion would leave downstream conclusions hanging
  • rewrite tier: went through 改法.md once, checked each protected interval back against the original text, attached "what was changed", no whole-paragraph rewriting
  • "what was changed" organized per draft-changes.md into changes[] for later use, did not decide for the user whether to save it into the manuscript
  • if the user workspace has deai-偏好.md then brought in --profile; if there were sample texts, did the baseline first
  • gave no score, promised no detection
  • mentioned proactively declaring AI involvement per platform requirements