yuelinghuashu/story-cli
📚 story-cli
Null-Deployment, Git-natives Markdown-Content-Management-CLI. Verwalte Geschichten/Papiere/Notizen/Tutorials mit einfachen Verzeichnis-Konventionen, generiere automatisch README, exportiere EPUB, zweisprachig Chinesisch/Englisch.
✨ Funktionen
Einfache Verzeichnis-Konvention — Inhalt ist ein Ordner:
NN-名称/enthältconfig.json+text.mdAutomatische README-Generierung — Jeder Eintrag und das Root-Index werden automatisch generiert (templategesteuert, anpassbar)
Seriengruppierung und Sortierung —
series/seriesOrdersteuern die Anzeigereihenfolge, beliebiges Einfügen ohne NeuordnungLaufzeitvalidierung — Konfiguration wird vor dem Build geprüft (Pflichtfelder, Enums, Formate)
Compliance-Prüfung —
story validateprüft nach Story-Repo-Spezifikation (Verzeichnisbenennung / UTF-8 / doppelte Nummern / Schema)Verknüpfte Geschichten —
story linkverwaltet schwache Verknüpfungen;story buildschlägt automatisch Kandidaten für Serienverknüpfungen vorZweisprachige Unterstützung — Chinesisch/Englisch-Inhalte + automatisch generierte lokalisierte READMEs
Kapitel + Wortanzahl — Automatische Extraktion von Kapitelüberschriften und sprachbewusste Wortstatistik
Mehrformat-Export — EPUB (Cover-Rendering/Layout-Stile/Serienmetadaten) / HTML / TXT / JSON / Markdown / embeddings, unterstützt
--stdout-PipesAllgemeine Content-Plattform — Wissensdatenbank-Modus (Papiere/Interviews/Notizen), Technische-Dokumentation-Modus (Tutorials/API)
MCP-Server — KI-Clients (Claude / Cursor) können direkt auf die Inhaltsbibliothek lesen und schreiben
GitHub Action — Null-Konfigurations-CI-Einstieg (
yuelinghuashu/story-cli@v1), ein Klick für „Push → Build → Veröffentlichen"Watch-Modus — Automatischer Neubau bei Dateiänderungen
Related MCP server: obsidian-kb
🚀 Schnellstart
# 安装(需要 Node.js >= 22)
npm install -g @yuelinghuashu/story-cli
# 创建示例仓库并查看效果
story demo
# 初始化仓库
story init
# 创建内容并编写
story new "我的新故事"
# 构建所有 README
story build
# 导出 EPUB / 统计
story epub --all
story statsmake init # 初始化
make new TITLE="我的故事" # 新建并自动构建
make commit # 构建 + 提交
make push # 构建 + 提交 + 推送
make stats # 查看创作统计
make analyze # 写作质量分析(重复短语 / 字数过期 / 章节趋势,需 jq)
Windows-Benutzer können auch den von story init generierten story.ps1 (PowerShell-Workflow) verwenden: .\story.ps1 init / .\story.ps1 new -Title '我的故事' / .\story.ps1 build.
🌱 Mehr als nur Geschichten
Allgemeine Inhaltsverwaltung — Jedes Text-Asset, das „normalisiert" werden kann, kann mit demselben Workflow verwaltet werden:
Vorlagenmodus | Inhaltstyp | Typisches Szenario |
| Roman / Geschichte | Original, Fan-Werke |
| Paper / Interview / Blog / Notizen | Wissensdatenbank, Forschungsbibliothek |
| Tutorial / API-Dokumentation / Änderungsprotokoll | Technischer Blog, Projektdokumentation |
story init --template=knowledge
story init --template=tech🤖 Lass KI deine Inhaltsbibliothek verwalten
story-cli enthält einen integrierten MCP-Server – KI-Clients (Claude Desktop / Cursor / VSCode Copilot Chat) können direkt auf deine Inhaltsbibliothek lesen und schreiben. Die KI kann den vollständigen Kreislauf „Erstellen → Schreiben → Bauen → Statistiken" eigenständig durchführen, ohne manuelle Befehle im Terminal.
💡 Token-Effizienz: Die MCP-Tools sind von Anfang an darauf ausgelegt, KI-Aufrufkosten zu sparen.
scan_storiesliefert standardmäßig kompakte Ausgaben (Verzeichnisdurchsicht spart ~80-95%),read_chapterunterstützt bedarfsgesteuertes Abschneiden (Fortsetzungsszenarien sparen ~95%+),statsliefert alle Daten mit einem Aufruf (~99%) – jedes Detail reduziert den Token-Verbrauch für deinen KI-Workflow.
Fähigkeit | MCP-Tool | Beschreibung |
📖 Durchsuchen |
| Geschichten auflisten, Kapitel lesen (unterstützt bedarfsgesteuertes Laden und Abschneiden am Ende, spart Token) |
✍️ Schreiben |
| Neue Geschichte erstellen, Text atomar schreiben (optional mit Compliance-Prüfung nach dem Schreiben) |
✅ Verwaltung |
| Metadatenfelder direkt ändern, README-Neubau ausführen, Konfigurationsgültigkeit prüfen |
📊 Statistiken |
| Gesamtwortzahl / Kapitelanzahl / Serienfortschritt / Gesundheitszustand abrufen |
# 启动 MCP Server(需在故事仓库根目录;--root 可从任意目录指定仓库)
story mcp-server💡 Detaillierte Konfiguration und Beispiele findest du in docs/mcp.md. Der MCP-Server liest und schreibt alle Dateien im aktuellen Arbeitsverzeichnis. Bitte nur in vertrauenswürdigen Repositories ausführen.
🎯 Vorbereitung von Feintuning-Daten (SFT / Embedding)
Die strukturierte Ausgabe der Geschichtsbibliothek eignet sich natürlich als Datenquelle für das Training großer Modelle – config.json enthält Klassifikations-Tags, export json schneidet präzise nach Kapiteln, export embeddings gibt reine Textblöcke aus. In Kombination mit --stdout + Unix-Toolchain, eine einzige Pipeline-Zeile reicht, um in ein Standard-Feintuning-Format zu konvertieren:
# 导出为指令微调 JSONL(summary → instruction,正文 → output)
story export json --stdout | jq -c '.stories[] | {messages: [{role: "user", content: .summary}, {role: "assistant", content: .content}]}' > sft_data.jsonl
# 导出为 Embedding 训练格式
story export embeddings --stdout | jq -c '{text: .content, metadata: {title: .title, series: .series}}' > embedding_data.jsonl
# 快速分析数据配比(总字数/章节分布/重复短语)
story stats --json | jq '{words: .totalWords, chapters: .totalChapters, repeated: .analysis.repeated}'💡 story-cli stellt sicher: UTF-8-Kodierung (GBK automatische Erkennung mit Warnung), Kapitel-Slicing (vermeidet semantische Unterbrechungen), vollständige Metadaten (type/series/summary können natürlich als Klassifikations-Tags verwendet werden). Kein zusätzliches Bereinigungsskript erforderlich.
🛠️ Häufige Befehle
Befehl | Beschreibung |
| Repository initialisieren (Standard: Geschichten-/Wissensdatenbank-/Technische-Dokumente-Modus) |
| Neuen Eintrag erstellen |
| README erstellen |
| EPUB exportieren |
| Mehrere Formate exportieren (embeddings als Textblock-JSONL) |
| Massenimport aus JSON |
| Schreibstatistiken |
| Compliance-Prüfung (Story-Repo-Spezifikation) |
| Geschichtenverknüpfungen verwalten (schwache Verknüpfungen) |
| MCP-Server starten (KI-Verbindungseinstieg) |
Alle Befehlsaliase, Unterbefehle, Parameter und Kategorien findest du in docs/commands.md (zweisprachig Chinesisch/Englisch).
Benutzerdefinierte Geschichtstypen/Status und lokalisierte Tags:
{
"types": ["original", "fanfic", "translation"],
"statuses": ["completed", "ongoing", "planned"],
"typeLabels": { "translation": { "zh": "翻译", "en": "Translation" } }
}Die integrierten Enums enthalten bereits Tags, keine doppelte Konfiguration erforderlich. Das Löschen der Datei setzt auf die Standardwerte zurück.
📚 Dokumentation
Dokument | Chinesisch | English | Inhalt |
Designphilosophie | Projektphilosophie | ||
Repository-Spezifikation | Datenspezifikation | ||
Wie man Inhalte hinzufügt | Verzeichnis-Konvention | ||
Inhaltsexport | Exportanleitung | ||
EPUB / PDF | EPUB-Export | ||
CI | GitHub Actions | ||
MCP Server | KI-Verbindungsanleitung | ||
Architektur | Moduldesign | ||
Befehlsreferenz | Vollständige Befehlsliste | ||
Änderungsprotokoll | Änderungsprotokoll |
⚠️ Kodierungsanforderungen
Alle Dateien müssen in UTF-8 kodiert sein. Bei Erkennung von GBK/GB2312 wird eine Warnung ausgegeben, aber der Build wird nicht blockiert.
🧪 Tests
make test # 或 pnpm test550+ Tests alle bestanden. Abgedeckt: Scanner, Seriengruppierung, Validierung, Template-Rendering, Wortzählung, Internationalisierung, README-Generierung, EPUB-Export, CLI-End-to-End (Smoke-Tests decken alle Befehle ab), .storyignore, MCP-Protokoll, JSON-Import, GitHub-Action-Struktur, Compliance-Prüfung, Verknüpfungsvorschläge, inkrementeller Build-Cache, Embeddings-Export usw.
☕ Sponsoring-Unterstützung
⚖️ License
🤝 Mitwirken
Wir freuen uns über Issues (Bug-Meldungen / Funktionsvorschläge, mit Formularvorlage); wenn du Code beitragen möchtest, lies bitte CONTRIBUTING.md und erfahre mehr über die Projektausrichtung in ROADMAP.md.
Maintenance
Related MCP Servers
- Flicense-qualityDmaintenanceGit-native MCP server for managing AI context across sessions. Enables LLMs to access project and feature context via markdown files, preserving decisions and constraints.1
- FlicenseCqualityDmaintenanceGit-backed MCP server for creating and maintaining an Obsidian-style markdown knowledge base with full CRUD, search, and git sync.7
- Alicense-qualityBmaintenanceA dynamic, governed memory layer for Markdown notes that serves knowledge to AI clients and humans through a secure MCP server, with scoped access, git-audited changes, and optional LLM-powered semantic search.Apache 2.0
- AlicenseBqualityAmaintenancePersonal multi-LLM memory repository using Markdown as source of truth, SQLite FTS5 for retrieval, and MCP tools for search, context, and write proposals.74Apache 2.0
Related MCP Connectors
MCP-native collaborative markdown editor with real-time AI document editing
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Generate PDFs from templates via AI chat. Works with Claude, ChatGPT, Cursor, and any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yuelinghuashu/story-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server