前言¶
秀米沒有公開 API,沒有開發者文檔,想自動化排版只有一條路:控制瀏覽器。這條路有兩個繞不開的坑。
第一個坑是改寫 DOM 保存就丟。秀米的編輯器是 Angular 應用,正文存在 scope.cell 模型裏,DOM 只是渲染結果。直接給 [contenteditable] 塞 innerHTML,頁面看着是好的,一保存就按模型寫回舊內容。第二個坑是看不見,無頭瀏覽器跑完只告訴你「成功」,你不知道它到底排成了什麼樣。
下面介紹的 alk233/xiumi-assistant,思路是用固定 headless=False 的可見 Edge 窗口,並把所有寫入改到 Angular 模型上,同時解決這兩件事。插件以 Cordis 插件形式交付,Host + Client 雙半,暴露 17 個 xiumi_* 工具,零 @deepseek-ai/* 運行時依賴。
這是什麼¶
- 名稱:xiumi-assistant
- 維護者:alk233
- 版本:0.2.0(MIT)
- 運行平臺:Windows + Microsoft Edge
- 來源:非官方第三方插件,與 DeepSeek Harness、秀米、騰訊及微信均無隸屬或背書關係
定位一句話:讓 DSH 裏的 AI 真正會用秀米排版——新建圖文、挑模板、插圖、設樣式、保存,每一步都在人看得見的窗口裏發生,隨時可以接手。
核心功能¶
- 可見瀏覽器:固定
headless=False,開在有顯示器的那臺機器上,隨時接管 - Angular 模型寫入:正文、樣式、背景都寫
scope.cell/scope.comp,保存才持久 - 模板庫真實組件:標題、分割線、卡片從秀米模板庫的免費組件裏挑,不是手打符號
- 保存獨立讀回覈驗:保存後另開一個頁面重新讀,比對完整模型哈希,不一致就報
saveVerified: false - 每段獨立單元格:每段文本一個 cell,和人工在秀米里排版的結構一致
- 就地編輯:改舊文用
xiumi_edit,不新建,避免在「我的圖文」裏堆積垃圾稿 - 容量守衛:圖庫 100 張、圖文 30 篇,快滿前提醒,不自動刪用戶內容
- 持續學習:學參考推文的排版規則,記模板庫目錄結構
17 個工具¶
完整表格下面只列分工,命令級別的參數見倉庫 README。
| 工具 | 幹什麼 |
|---|---|
xiumi_guide |
創作前必調。返回製作指南 + R1–R17 硬規則;不調它,所有產出型工具會被拒絕 |
xiumi_browser |
開/關瀏覽器、查狀態、站內導航(返回/首頁/編輯器/列表)、截圖 |
xiumi_login |
登錄(讀本機 config 自動填、等用戶掃碼)、退出賬號 |
xiumi_articles |
圖文列表、打開、新建、保存 |
xiumi_write |
往當前稿寫正文(純文本 / 帶樣式的 HTML) |
xiumi_edit |
就地增刪改:inspect / replace_body / set_cell / clear_cell / append_cell |
xiumi_compose |
一次性組合:create(從零)/ layout-only(只排版,一字不改) |
xiumi_review |
給當前稿打分(100 分制 + 五維評分 + 可執行的修改建議),只讀不保存 |
xiumi_reference |
按鏈接學別人的排版,存爲可複用的風格檔案 |
xiumi_template |
搜秀米模板庫、套用模板 |
xiumi_component |
插模板庫裏的單個組件(標題/分割線/卡片),可批量、可替換佔位文字 |
xiumi_catalog |
模板庫目錄(分類樹 + 緩存) |
xiumi_asset |
秀米素材庫(形狀/插畫/圖標),只處理免費素材 |
xiumi_upload |
上傳本地圖片到「我的圖庫」 |
xiumi_image_insert |
按錨點文字把圖庫圖片插到對應段落後面 |
xiumi_image_manifest |
批量插圖:按 manifest 裏的錨點一次插多張 |
xiumi_quota |
查容量、清理指定條目(需要 confirm=true,且只刪點名的) |
R1–R17 硬性規則¶
這些規則不是建議,而是寫進代碼的門禁。值得單獨提的是其中幾條,因爲它們直接決定了產出質量與賬號安全:
- R1:標題、章節、分割線只能用秀米模板庫組件,不許手打符號
- R3:每段文本一個獨立 cell
- R4:圖片按段落落位,不許全堆到文末
- R8:改舊文用
xiumi_edit就地改,不許新建再複製粘貼 - R9:創作前先調
xiumi_guide,讀完規則再動手(60 分鐘內有效) - R10:創作完必須保存,並確認保存成功
- R11:創作完必須打分,把分數和修改建議給用戶
- R13:賬號密碼由用戶在設置頁填,存本機
config.json - R17:未經用戶明確同意,不做任何 GitHub 寫操作
完整版含每條的用戶原始要求與例外條件,在倉庫 docs/HARD_RULES.md。
安裝與啓用¶
先裝 Python 依賴。推薦 Python 3.12,插件複用系統已有的 Microsoft Edge,不需要 playwright install:
python -m venv .venv
.venv\Scripts\activate
pip install playwright==1.64.1
再部署到 DSH profile:
# 從 GitHub 安裝
npx @deepseek-ai/dsh plugin --profile <profile> add github:alk233/xiumi-assistant
# 本地開發(link 方式)
npx @deepseek-ai/dsh plugin --profile <profile> add "file:/path/to/xiumi-assistant"
# 驗證組合配置,應看到 "- id: xiumi-assistant" 行
npx @deepseek-ai/dsh --profile <profile> --dump-config
重啓 DSH 後生效。注意用完整的 @deepseek-ai/dsh 包名,不要用 npx dsh plugin——npm 上的 dsh 名字早被無關的 JS shell 包占用,會報 could not determine executable to run。
裝完在 DSH 設置頁點「打開瀏覽器」,會彈出一個 Edge 窗口。
典型流程¶
拿到新項目跑一遍,順序是:
- 打開 DSH 設置 → 秀米助手,填秀米賬號(手機號或郵箱)和密碼,點「保存賬號與主題」
- 點「打開瀏覽器」,點「登錄秀米」,插件自動填賬號密碼並提交
- 若秀米要求驗證碼,在彈出的窗口裏手動完成
- 讓 AI 調
xiumi_guide讀一遍 R1–R17 - 調
xiumi_compose或xiumi_write/xiumi_edit產出正文與樣式 - 調
xiumi_review打分,把分數和修改建議給用戶 - 保存並確認
saveVerified爲真
瀏覽器會一直開着,登錄態只在窗口裏,不保存、不復用。關掉窗口下次要重新登錄。
主題與模板目錄¶
設置頁提供 13 種版式風格 × 12 個色系的選擇,選中組合實時渲染預覽。不選具體風格時走自動模式,按標題和正文內容判斷,優先級是:風格規則庫匹配 → 關鍵詞映射 → 兜底簡約 + 硃紅;返回值裏帶 resolvedStyle / resolvedTheme / resolveReason,能看出爲什麼選了這個。
秀米模板庫有 7 組、90 多個分類(隨包基線目錄是 92 分類),插件把目錄結構緩存到 ~/.xiumi-assistant/template-catalog.json,讀取優先級是:運行時緩存(30 天內)→ 包內基線 → 現場採集。分類增刪或總數變動超過 20% 才整份覆蓋並報告 changed/diff,否則只刷新 lastVerifiedAt。緩存只存分類名和模板 id/標題/是否免費,不存賬號信息。
架構¶
DSH Agent
│ 工具調用(17 個 xiumi_* 工具)
▼
index.js(Host 半部)
│ 1. 校驗硬性規則門禁(未讀指南 → 拒絕)
│ 2. 把參數序列化成 JSON 行
▼
bridge.py(Python 常駐,stdin/stdout JSON 行協議)
│ 3. Playwright 驅動可見 Edge
│ 4. 寫 Angular cell 模型(不是 DOM)
│ 5. 保存後開獨立頁面讀回模型比對
▼
秀米編輯器(xiumi.us)
Host 半部的 index.js 用 inject = ['tools', 'webServer'] 註冊工具和 /__xiumi/* 路由;產出型工具在 execute 開頭檢查 gate.at,沒讀過指南或超過 60 分鐘直接拋錯。Python 解釋器按「配置裏的 pythonPath → XIUMI_PYTHON → 系統 python/python3」逐級探測,並校驗 playwright 版本 ≥ 1.40。
Client 半部的 client.js 用 inject = ['slots'] 註冊 settings.section(id: 'xiumi',order: 105),通過同源 fetch 調 /__xiumi/config、/__xiumi/login、/__xiumi/open 等接口。主題表在 theme.js,Host 和 Client 共用同一份定義。
憑據與安全¶
- 賬號密碼只保存在
~/.xiumi-assistant/config.json,文件權限設爲僅當前用戶可讀寫 - 密碼不進源碼、不進日誌、不進工具返回值
- HTTP 接口只接受
127.0.0.1同源請求,響應帶no-store - 插件不連任何第三方服務器,所有操作都在本機瀏覽器裏
適用場景與注意¶
適合這類人:要在 DSH 裏自動完成秀米圖文排版、希望看到每一步實際操作、並且需要保存結果可覈驗。不適合要批量刷稿、營銷推廣或商業用途的人——README 明確限定本項目僅供個人學習、技術研究與交流。
先看三條硬限制:
- 只支持 Windows + Microsoft Edge,Playwright 複用系統 Edge
- 秀米前端結構隨時可能變更,屆時插件可能失效
- 只處理模板庫裏的免費素材,VIP/付費素材跳過並計數;不發公衆號,發佈要另走微信公衆平臺
更重要的是看上游聲明。該項目 README 寫明:全部代碼、文檔與測試均由 AI 生成,未經專業軟件工程師人工審查,AI 生成內容可能包含邏輯缺陷、安全漏洞或與事實不符的描述;項目按 AS IS 提供,作者及貢獻者不承擔圖文內容丟失、排版錯亂、賬號被限制等責任;使用風險由使用者自行承擔。插件以當前 DSH 進程權限運行,安裝前應自己審一遍源碼,確認 MIT 許可證與 LICENSE 文件,再決定是否啓用。
小結¶
xiumi-assistant 的價值不在「讓 AI 能排版」,而在它把秀米自動化裏最容易被忽略的兩個問題顯式處理了:寫入走 Angular 模型而不是 DOM,保存後另開頁面讀回比對。配合可見窗口,出問題時人可以直接接手。前提是環境在 Windows + Edge、使用範圍是學習研究,並且接受上游「AI 生成、AS IS、風險自負」的聲明。
目錄頁:https://www.skillhub.cn/plugins/alk233/xiumi-assistant
倉庫:https://github.com/alk233/xiumi-assistant