@page.su/ai-blog-cli 0.1.0-beta.3 → 0.1.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/comments.js +1 -1
- package/dist/commands/comments.js.map +1 -1
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +44 -11
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/syntax.d.ts +4 -0
- package/dist/commands/syntax.d.ts.map +1 -0
- package/dist/commands/syntax.js +29 -0
- package/dist/commands/syntax.js.map +1 -0
- package/package.json +4 -3
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -100
- package/dist/index.js.map +0 -1
- package/dist/prompts/index.d.ts +0 -9
- package/dist/prompts/index.d.ts.map +0 -1
- package/dist/prompts/index.js +0 -178
- package/dist/prompts/index.js.map +0 -1
- package/dist/resources/syntax-spec.d.ts +0 -23
- package/dist/resources/syntax-spec.d.ts.map +0 -1
- package/dist/resources/syntax-spec.js +0 -105
- package/dist/resources/syntax-spec.js.map +0 -1
- package/dist/resources/syntax-spec.test.d.ts +0 -2
- package/dist/resources/syntax-spec.test.d.ts.map +0 -1
- package/dist/resources/syntax-spec.test.js +0 -47
- package/dist/resources/syntax-spec.test.js.map +0 -1
- package/dist/tools/build.d.ts +0 -13
- package/dist/tools/build.d.ts.map +0 -1
- package/dist/tools/build.js +0 -181
- package/dist/tools/build.js.map +0 -1
- package/dist/tools/code-repos.d.ts +0 -5
- package/dist/tools/code-repos.d.ts.map +0 -1
- package/dist/tools/code-repos.js +0 -149
- package/dist/tools/code-repos.js.map +0 -1
- package/dist/tools/comments.d.ts +0 -12
- package/dist/tools/comments.d.ts.map +0 -1
- package/dist/tools/comments.js +0 -87
- package/dist/tools/comments.js.map +0 -1
- package/dist/tools/demos.d.ts +0 -5
- package/dist/tools/demos.d.ts.map +0 -1
- package/dist/tools/demos.js +0 -98
- package/dist/tools/demos.js.map +0 -1
- package/dist/tools/glossary.d.ts +0 -4
- package/dist/tools/glossary.d.ts.map +0 -1
- package/dist/tools/glossary.js +0 -139
- package/dist/tools/glossary.js.map +0 -1
- package/dist/tools/helpers.d.ts +0 -44
- package/dist/tools/helpers.d.ts.map +0 -1
- package/dist/tools/helpers.js +0 -65
- package/dist/tools/helpers.js.map +0 -1
- package/dist/tools/knowledge.d.ts +0 -4
- package/dist/tools/knowledge.d.ts.map +0 -1
- package/dist/tools/knowledge.js +0 -140
- package/dist/tools/knowledge.js.map +0 -1
- package/dist/tools/math-concepts.d.ts +0 -4
- package/dist/tools/math-concepts.d.ts.map +0 -1
- package/dist/tools/math-concepts.js +0 -158
- package/dist/tools/math-concepts.js.map +0 -1
- package/dist/tools/posts.d.ts +0 -35
- package/dist/tools/posts.d.ts.map +0 -1
- package/dist/tools/posts.js +0 -278
- package/dist/tools/posts.js.map +0 -1
- package/dist/tools/scout.d.ts +0 -10
- package/dist/tools/scout.d.ts.map +0 -1
- package/dist/tools/scout.js +0 -111
- package/dist/tools/scout.js.map +0 -1
- package/dist/tools/series.d.ts +0 -12
- package/dist/tools/series.d.ts.map +0 -1
- package/dist/tools/series.js +0 -120
- package/dist/tools/series.js.map +0 -1
- package/dist/tools/syntax-capabilities.d.ts +0 -15
- package/dist/tools/syntax-capabilities.d.ts.map +0 -1
- package/dist/tools/syntax-capabilities.js +0 -859
- package/dist/tools/syntax-capabilities.js.map +0 -1
- package/dist/tools/taxonomy.d.ts +0 -4
- package/dist/tools/taxonomy.d.ts.map +0 -1
- package/dist/tools/taxonomy.js +0 -73
- package/dist/tools/taxonomy.js.map +0 -1
- package/dist/tools/uploads.d.ts +0 -15
- package/dist/tools/uploads.d.ts.map +0 -1
- package/dist/tools/uploads.js +0 -56
- package/dist/tools/uploads.js.map +0 -1
- package/dist/tools/workflows.d.ts +0 -9
- package/dist/tools/workflows.d.ts.map +0 -1
- package/dist/tools/workflows.js +0 -249
- package/dist/tools/workflows.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -15,6 +15,7 @@ import { registerSeriesCommands } from "./commands/series.js";
|
|
|
15
15
|
import { registerTaxonomyCommands } from "./commands/taxonomy.js";
|
|
16
16
|
import { registerCommentCommands } from "./commands/comments.js";
|
|
17
17
|
import { registerUploadCommands } from "./commands/uploads.js";
|
|
18
|
+
import { registerSyntaxCommands } from "./commands/syntax.js";
|
|
18
19
|
import { registerSkillsCommand } from "./commands/skills.js";
|
|
19
20
|
function readOwnVersion() {
|
|
20
21
|
const distDir = dirname(fileURLToPath(import.meta.url));
|
|
@@ -64,6 +65,7 @@ async function main() {
|
|
|
64
65
|
registerTaxonomyCommands(program, api);
|
|
65
66
|
registerCommentCommands(program, api);
|
|
66
67
|
registerUploadCommands(program, api);
|
|
68
|
+
registerSyntaxCommands(program, api);
|
|
67
69
|
registerSkillsCommand(program);
|
|
68
70
|
program.parse();
|
|
69
71
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,SAAS,cAAc;IACrB,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QACpD,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa;IACpB,IAAI,MAAM,GAAqB,IAAI,CAAC;IACpC,OAAO,IAAI,KAAK,CAAC,EAAe,EAAE;QAChC,GAAG,CAAC,CAAC,EAAE,IAAY;YACjB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;gBAC/B,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,CAAC;KACF,CAAc,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,gDAAgD,CAAC;SAC7D,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE7B,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtC,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -47,7 +47,7 @@ export function registerCommentCommands(program, api) {
|
|
|
47
47
|
.description("List all enabled AI comment bots")
|
|
48
48
|
.option("--json", "Output as JSON")
|
|
49
49
|
.action(async (opts) => {
|
|
50
|
-
await run(() => api.get("/api/cli/ai-comments"), isJson(opts));
|
|
50
|
+
await run(() => api.get("/api/cli/ai-comments/bots"), isJson(opts));
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
//# sourceMappingURL=comments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,GAAc;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAEtF,uBAAuB;IACvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;SAClD,cAAc,CAAC,uBAAuB,EAAE,oDAAoD,CAAC;SAC7F,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEL,4BAA4B;IAC5B,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;SACjF,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC1D,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEL,qBAAqB;IACrB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0GzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO5D"}
|
package/dist/commands/skills.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Agent skills 速查表 (~
|
|
2
|
+
* Agent skills 速查表 (~600 tokens)。
|
|
3
3
|
*
|
|
4
4
|
* 适合注入 Agent system prompt,让 Agent 快速了解可用命令。
|
|
5
5
|
* Agent 不确定用法时调 `aib <command> --help` 按需获取详情。
|
|
@@ -26,6 +26,48 @@ Env: AI_BLOG_BASE_URL + AI_BLOG_PAT
|
|
|
26
26
|
4. \`aib post append <id> --content-file chapter.md\` — append new chapter
|
|
27
27
|
5. \`aib post insert-section <id> --after-index 2 --content-file section.md\` — insert
|
|
28
28
|
|
|
29
|
+
## Advanced Markdown syntax
|
|
30
|
+
Use these in post content for rich rendering. Build with \`aib build\` or write directly.
|
|
31
|
+
Sections: overview, frontmatter, callout, mermaid, live-demo, math, image-attributes, image-gallery, footnote, site-post-reference
|
|
32
|
+
Read full docs: \`aib syntax get live-demo\` or \`aib syntax get math\`
|
|
33
|
+
|
|
34
|
+
### Reference (academic/blog citations)
|
|
35
|
+
\`\`\`ref key=vaswani2017 title="Attention Is All You Need" type=paper
|
|
36
|
+
Authors: Vaswani et al. | Source: NeurIPS 2017 | URL: https://arxiv.org/abs/1706.03762
|
|
37
|
+
\`\`\`
|
|
38
|
+
Build: \`aib build reference --key "..." --title "..." --type paper --url "..." --authors "..." --source "..." --json\`
|
|
39
|
+
|
|
40
|
+
### Live Demo (interactive iframe sandbox)
|
|
41
|
+
\`\`\`live-demo title="Counter" tailwind height=300
|
|
42
|
+
/* @tab index.html */ <button>Click</button>
|
|
43
|
+
/* @tab script.js */ console.log('hi')
|
|
44
|
+
\`\`\`
|
|
45
|
+
Build: \`aib build live-demo --title "..." --files-file files.json --tailwind --height 300\`
|
|
46
|
+
|
|
47
|
+
### Code Group (multi-tab code switcher)
|
|
48
|
+
\`\`\`code-group
|
|
49
|
+
/* @tab TypeScript */ const x: number = 1;
|
|
50
|
+
/* @tab JavaScript */ var x = 1;
|
|
51
|
+
\`\`\`
|
|
52
|
+
Build: \`aib build code-group tabs.json\` (tabs.json: [{label, lang?, code}])
|
|
53
|
+
|
|
54
|
+
### Details (folding block)
|
|
55
|
+
:::details title="Expand for details"
|
|
56
|
+
Hidden content here
|
|
57
|
+
:::
|
|
58
|
+
Build: \`aib build details --title "..." --content-file body.md\`
|
|
59
|
+
|
|
60
|
+
### Timeline
|
|
61
|
+
:::timeline
|
|
62
|
+
- time: 2017 | title: Transformer | content: Attention mechanism
|
|
63
|
+
- time: 2020 | title: GPT-3 | active: true
|
|
64
|
+
:::
|
|
65
|
+
Build: \`aib build timeline --events-file events.json\`
|
|
66
|
+
|
|
67
|
+
### Image (with width/align/ratio)
|
|
68
|
+
{width=50 align=center ratio=16:9}
|
|
69
|
+
Build: \`aib build image --url "..." --alt "..." --width 50 --align center\`
|
|
70
|
+
|
|
29
71
|
## Demos (interactive code sandboxes)
|
|
30
72
|
- \`aib demo list <postId>\` — list demos (slot, title, file sizes)
|
|
31
73
|
- \`aib demo get-file <postId> <slot> <fileName>\` — read single file (preferred)
|
|
@@ -51,15 +93,6 @@ Env: AI_BLOG_BASE_URL + AI_BLOG_PAT
|
|
|
51
93
|
- \`aib series create --slug "guide" --title "Guide"\`
|
|
52
94
|
- \`aib series add-post <seriesId> <postId>\`
|
|
53
95
|
|
|
54
|
-
## Build syntax blocks
|
|
55
|
-
- \`aib build frontmatter --title "..." --status draft\`
|
|
56
|
-
- \`aib build image --url "..." --alt "..." --width 50\`
|
|
57
|
-
- \`aib build reference --key "vaswani2017" --title "..." --type paper\`
|
|
58
|
-
- \`aib build live-demo --title "Demo" --files-file files.json\`
|
|
59
|
-
- \`aib build code-group tabs.json\`
|
|
60
|
-
- \`aib build details --title "Details" --content-file body.md\`
|
|
61
|
-
- \`aib build timeline --events-file events.json\`
|
|
62
|
-
|
|
63
96
|
## Upload images
|
|
64
97
|
- \`aib upload image-from-url <url>\` — upload to blog OSS
|
|
65
98
|
|
|
@@ -71,7 +104,7 @@ Env: AI_BLOG_BASE_URL + AI_BLOG_PAT
|
|
|
71
104
|
export function registerSkillsCommand(program) {
|
|
72
105
|
program
|
|
73
106
|
.command("skills")
|
|
74
|
-
.description("Output a lightweight skills reference for Agent system prompts (~
|
|
107
|
+
.description("Output a lightweight skills reference for Agent system prompts (~600 tokens)")
|
|
75
108
|
.action(() => {
|
|
76
109
|
console.log(SKILLS_MD);
|
|
77
110
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA2FiC,CAAC;AAEpD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntax.d.ts","sourceRoot":"","sources":["../../src/commands/syntax.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CA2B7E"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { run, isJson } from "./helpers.js";
|
|
2
|
+
export function registerSyntaxCommands(program, api) {
|
|
3
|
+
const syntax = program
|
|
4
|
+
.command("syntax")
|
|
5
|
+
.description("Read advanced Markdown syntax documentation");
|
|
6
|
+
// ── syntax list ──
|
|
7
|
+
syntax
|
|
8
|
+
.command("list")
|
|
9
|
+
.description("List all syntax spec sections (names + descriptions)")
|
|
10
|
+
.option("--json", "Output as JSON")
|
|
11
|
+
.action(async (opts) => {
|
|
12
|
+
await run(() => api.get("/api/cli/syntax-spec/overview"), isJson(opts));
|
|
13
|
+
});
|
|
14
|
+
// ── syntax get <section> ──
|
|
15
|
+
syntax
|
|
16
|
+
.command("get <section>")
|
|
17
|
+
.description("Read a single syntax spec section (full documentation)")
|
|
18
|
+
.option("--json", "Output as JSON")
|
|
19
|
+
.action(async (section, opts) => {
|
|
20
|
+
const text = await api.getText(`/api/cli/syntax-spec/${encodeURIComponent(section)}`);
|
|
21
|
+
if (isJson(opts)) {
|
|
22
|
+
console.log(JSON.stringify({ section, content: text }));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.log(text);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=syntax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../src/commands/syntax.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,GAAc;IACrE,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAE9D,oBAAoB;IACpB,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEL,6BAA6B;IAC7B,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,wBAAwB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@page.su/ai-blog-cli",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "CLI tool for AI agents to write, manage, and publish posts on ai-blog.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"tsx": "^4.19.2",
|
|
43
43
|
"typescript": "^5.5.4",
|
|
44
44
|
"vitest": "^4.1.0"
|
|
45
|
-
}
|
|
46
|
-
|
|
45
|
+
},
|
|
46
|
+
"repository": "https://debian.hellosu.top:3000/supeisen/ai-blog.git"
|
|
47
|
+
}
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { readFileSync } from "node:fs";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { dirname, resolve } from "node:path";
|
|
5
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
7
|
-
import { createApiClient } from "./api-client.js";
|
|
8
|
-
import { loadMcpServerConfig } from "./config.js";
|
|
9
|
-
/**
|
|
10
|
-
* 从和入口同级的 package.json 读取版本号(编译后 dist/index.js 位于 dist/,
|
|
11
|
-
* package.json 在其上一级目录)。这样后续发新版时只需改 package.json 一处。
|
|
12
|
-
*/
|
|
13
|
-
function readOwnVersion() {
|
|
14
|
-
const distDir = dirname(fileURLToPath(import.meta.url));
|
|
15
|
-
const pkgPath = resolve(distDir, "..", "package.json");
|
|
16
|
-
try {
|
|
17
|
-
const raw = readFileSync(pkgPath, "utf-8");
|
|
18
|
-
const pkg = JSON.parse(raw);
|
|
19
|
-
return pkg.version ?? "0.0.0";
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return "0.0.0";
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
import { registerBuildTools } from "./tools/build.js";
|
|
26
|
-
import { registerCommentTools } from "./tools/comments.js";
|
|
27
|
-
import { registerDemoTools } from "./tools/demos.js";
|
|
28
|
-
import { registerPostTools } from "./tools/posts.js";
|
|
29
|
-
import { registerTaxonomyTools } from "./tools/taxonomy.js";
|
|
30
|
-
import { registerUploadTools } from "./tools/uploads.js";
|
|
31
|
-
import { registerKnowledgeTools } from "./tools/knowledge.js";
|
|
32
|
-
import { registerScoutTools } from "./tools/scout.js";
|
|
33
|
-
import { registerSeriesTools } from "./tools/series.js";
|
|
34
|
-
import { registerCodeRepoTools } from "./tools/code-repos.js";
|
|
35
|
-
import { registerSyntaxCapabilitiesTools } from "./tools/syntax-capabilities.js";
|
|
36
|
-
import { registerWorkflowTools } from "./tools/workflows.js";
|
|
37
|
-
import { registerSyntaxSpecResources } from "./resources/syntax-spec.js";
|
|
38
|
-
import { registerPrompts } from "./prompts/index.js";
|
|
39
|
-
/**
|
|
40
|
-
* ai-blog MCP server 入口(stdio)。
|
|
41
|
-
*
|
|
42
|
-
* 启动流程:
|
|
43
|
-
* 1. 读取环境变量配置(缺失即直接退出,避免半残运行)
|
|
44
|
-
* 2. 实例化 McpServer,注册 tools / resources
|
|
45
|
-
* 3. 通过 StdioServerTransport 接管 stdin / stdout,进入消息循环
|
|
46
|
-
*
|
|
47
|
-
* 任何运行期错误都会写到 stderr —— 务必避免污染 stdout,
|
|
48
|
-
* 否则会破坏 MCP JSON-RPC 协议帧。
|
|
49
|
-
*/
|
|
50
|
-
async function main() {
|
|
51
|
-
const config = loadMcpServerConfig();
|
|
52
|
-
const api = createApiClient(config);
|
|
53
|
-
const serverVersion = readOwnVersion();
|
|
54
|
-
const server = new McpServer({
|
|
55
|
-
name: "ai-blog-mcp-server",
|
|
56
|
-
version: serverVersion,
|
|
57
|
-
}, {
|
|
58
|
-
capabilities: {
|
|
59
|
-
tools: {},
|
|
60
|
-
resources: {},
|
|
61
|
-
prompts: {},
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
// 注册 tools
|
|
65
|
-
registerPostTools(server, api);
|
|
66
|
-
registerDemoTools(server, api);
|
|
67
|
-
registerCommentTools(server, api);
|
|
68
|
-
registerTaxonomyTools(server, api);
|
|
69
|
-
registerKnowledgeTools(server, api);
|
|
70
|
-
registerBuildTools(server, api);
|
|
71
|
-
registerUploadTools(server, api);
|
|
72
|
-
registerScoutTools(server, api);
|
|
73
|
-
registerSeriesTools(server, api);
|
|
74
|
-
registerCodeRepoTools(server, api);
|
|
75
|
-
registerSyntaxCapabilitiesTools(server);
|
|
76
|
-
registerWorkflowTools(server);
|
|
77
|
-
// 注册 resources
|
|
78
|
-
registerSyntaxSpecResources(server, api);
|
|
79
|
-
// 注册 prompts(写作模板)
|
|
80
|
-
registerPrompts(server);
|
|
81
|
-
const transport = new StdioServerTransport();
|
|
82
|
-
await server.connect(transport);
|
|
83
|
-
// 友好的退出处理:收到信号时先 close 再退出
|
|
84
|
-
const shutdown = async (signal) => {
|
|
85
|
-
process.stderr.write(`[ai-blog-mcp] received ${signal}, shutting down...\n`);
|
|
86
|
-
try {
|
|
87
|
-
await server.close();
|
|
88
|
-
}
|
|
89
|
-
finally {
|
|
90
|
-
process.exit(0);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
process.on("SIGINT", () => void shutdown("SIGINT"));
|
|
94
|
-
process.on("SIGTERM", () => void shutdown("SIGTERM"));
|
|
95
|
-
}
|
|
96
|
-
main().catch((error) => {
|
|
97
|
-
process.stderr.write(`[ai-blog-mcp] fatal: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
98
|
-
process.exit(1);
|
|
99
|
-
});
|
|
100
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts/index.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
/**
|
|
3
|
-
* 写作辅助类 MCP Prompts。
|
|
4
|
-
*
|
|
5
|
-
* 每个模板在 messages 开头都引导 AI 先调 `describe_workflows` 获取完整工作流路线图,
|
|
6
|
-
* 再按推荐步骤执行。大文章场景引导使用 outline/section 精准读写工作流。
|
|
7
|
-
*/
|
|
8
|
-
export declare function registerPrompts(server: McpServer): void;
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4LvD"}
|
package/dist/prompts/index.js
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* 写作辅助类 MCP Prompts。
|
|
4
|
-
*
|
|
5
|
-
* 每个模板在 messages 开头都引导 AI 先调 `describe_workflows` 获取完整工作流路线图,
|
|
6
|
-
* 再按推荐步骤执行。大文章场景引导使用 outline/section 精准读写工作流。
|
|
7
|
-
*/
|
|
8
|
-
export function registerPrompts(server) {
|
|
9
|
-
// ─── write-tutorial-post ────────────────────────────────────────────────
|
|
10
|
-
server.registerPrompt("write-tutorial-post", {
|
|
11
|
-
title: "Write a tutorial post",
|
|
12
|
-
description: "技术教程模板:含 callout 提醒、live-demo 多文件代码沙箱、图片配图。",
|
|
13
|
-
argsSchema: {
|
|
14
|
-
topic: z.string().describe("教程主题,例如 'React Server Components 入门'"),
|
|
15
|
-
audience: z
|
|
16
|
-
.string()
|
|
17
|
-
.describe("目标读者画像,例如 '有 1-2 年前端经验的工程师'")
|
|
18
|
-
.optional(),
|
|
19
|
-
},
|
|
20
|
-
}, ({ topic, audience }) => ({
|
|
21
|
-
messages: [
|
|
22
|
-
{
|
|
23
|
-
role: "user",
|
|
24
|
-
content: {
|
|
25
|
-
type: "text",
|
|
26
|
-
text: [
|
|
27
|
-
`请写一篇技术教程文章:${topic}。`,
|
|
28
|
-
audience ? `目标读者:${audience}。` : "",
|
|
29
|
-
"",
|
|
30
|
-
"准备工作(按顺序执行):",
|
|
31
|
-
"0) 先调用 `describe_workflows` 获取完整工作流指南,按 'create-post' 工作流执行。",
|
|
32
|
-
"1) 调用 `post.describe_syntax_capabilities` 了解 14 类高级 Markdown 语法(首次写文章时)。",
|
|
33
|
-
"2) 调用 `taxonomy.list` 获取合法的 tagIds / categoryIds。",
|
|
34
|
-
"3) 可选:调用 `knowledge.find_or_suggest` 查找正文涉及的术语。",
|
|
35
|
-
"4) 可选:调用 `scout.search_items` 搜索相关参考资料。",
|
|
36
|
-
"",
|
|
37
|
-
"写作约束:",
|
|
38
|
-
"- 参考语法资源:mcp://syntax-spec/overview、callout、live-demo、image-attributes、checklist",
|
|
39
|
-
"- 文章结构推荐:背景动机 → 核心概念 → 渐进式示例(含 ```live-demo) → 常见坑(用 callout) → 总结",
|
|
40
|
-
"- 超长文章(>10000字):先 `post.create` 创建骨架,再用 `post.append_content` 分批追加章节",
|
|
41
|
-
"- 写好正文后必须 `post.validate_markdown` 校验,errors 必须修复",
|
|
42
|
-
"- 创建为 `status=draft`,让作者决定何时发布",
|
|
43
|
-
]
|
|
44
|
-
.filter(Boolean)
|
|
45
|
-
.join("\n"),
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
}));
|
|
50
|
-
// ─── write-deep-dive ────────────────────────────────────────────────────
|
|
51
|
-
server.registerPrompt("write-deep-dive", {
|
|
52
|
-
title: "Write a deep-dive analysis",
|
|
53
|
-
description: "深度解析模板:含 mermaid 架构图、KaTeX 数学公式、参考文献引用。",
|
|
54
|
-
argsSchema: {
|
|
55
|
-
topic: z.string().describe("深度解析的主题"),
|
|
56
|
-
depthHint: z
|
|
57
|
-
.string()
|
|
58
|
-
.describe("希望深入的方向,例如 '内部数据结构与时间复杂度'")
|
|
59
|
-
.optional(),
|
|
60
|
-
},
|
|
61
|
-
}, ({ topic, depthHint }) => ({
|
|
62
|
-
messages: [
|
|
63
|
-
{
|
|
64
|
-
role: "user",
|
|
65
|
-
content: {
|
|
66
|
-
type: "text",
|
|
67
|
-
text: [
|
|
68
|
-
`请写一篇深度解析文章:${topic}。`,
|
|
69
|
-
depthHint ? `重点方向:${depthHint}。` : "",
|
|
70
|
-
"",
|
|
71
|
-
"准备工作(按顺序执行):",
|
|
72
|
-
"0) 先调用 `describe_workflows` 获取完整工作流指南,按 'create-post' 工作流执行。",
|
|
73
|
-
"1) 参考语法资源:mcp://syntax-spec/mermaid、math、footnote、site-post-reference",
|
|
74
|
-
"2) 调用 `taxonomy.list` 获取分类和标签。",
|
|
75
|
-
"3) 调用 `scout.search_items` 搜索相关论文/文档作为参考资料。",
|
|
76
|
-
"",
|
|
77
|
-
"写作约束:",
|
|
78
|
-
"- 至少包含一个 mermaid 图与一组数学公式",
|
|
79
|
-
"- 引用论文/文档用 ```ref 参考文献语法(用 `post.build_reference` 构造),不要用 GFM 脚注",
|
|
80
|
-
"- 站内引用前先用 `post.list_for_reference` 校验 slug 存在",
|
|
81
|
-
"- 超长文章:先创建骨架,再用 `post.append_content` 分批追加",
|
|
82
|
-
"- 写完后 `post.validate_markdown` 校验",
|
|
83
|
-
"- 创建为 `status=draft`",
|
|
84
|
-
]
|
|
85
|
-
.filter(Boolean)
|
|
86
|
-
.join("\n"),
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
}));
|
|
91
|
-
// ─── write-changelog ────────────────────────────────────────────────────
|
|
92
|
-
server.registerPrompt("write-changelog", {
|
|
93
|
-
title: "Write a changelog post",
|
|
94
|
-
description: "变更说明模板:版本号 + 三段式(新增/优化/修复)+ 站内引用相关文档。",
|
|
95
|
-
argsSchema: {
|
|
96
|
-
version: z.string().describe("版本号,例如 v1.4.0"),
|
|
97
|
-
highlights: z.string().describe("本次发布要点,逗号或换行分隔").optional(),
|
|
98
|
-
},
|
|
99
|
-
}, ({ version, highlights }) => ({
|
|
100
|
-
messages: [
|
|
101
|
-
{
|
|
102
|
-
role: "user",
|
|
103
|
-
content: {
|
|
104
|
-
type: "text",
|
|
105
|
-
text: [
|
|
106
|
-
`请写一篇 ${version} 的变更说明(changelog)。`,
|
|
107
|
-
highlights ? `本次要点:${highlights}` : "",
|
|
108
|
-
"",
|
|
109
|
-
"准备工作:",
|
|
110
|
-
"0) 先调用 `describe_workflows` 获取工作流指南。",
|
|
111
|
-
"1) 调用 `taxonomy.list` 获取分类和标签。",
|
|
112
|
-
"2) 调用 `post.list_for_reference` 获取站内文章 slug 列表。",
|
|
113
|
-
"",
|
|
114
|
-
"写作约束:",
|
|
115
|
-
"- 标题形如 \"vX.Y.Z 变更说明\";slug 必须包含版本号",
|
|
116
|
-
"- 三段式结构:✨ 新增 / ♻️ 优化 / 🐛 修复,使用三级标题",
|
|
117
|
-
"- 涉及到本站文章时,用 [标题](../posts/<slug>) 站内引用(slug 必须从 list_for_reference 获取)",
|
|
118
|
-
"- 仅在解释复杂行为变更时插入 callout;其它用项目符号",
|
|
119
|
-
"- 创建为 `status=draft`",
|
|
120
|
-
]
|
|
121
|
-
.filter(Boolean)
|
|
122
|
-
.join("\n"),
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
],
|
|
126
|
-
}));
|
|
127
|
-
// ─── rewrite-existing-post ──────────────────────────────────────────────
|
|
128
|
-
server.registerPrompt("rewrite-existing-post", {
|
|
129
|
-
title: "Rewrite an existing post",
|
|
130
|
-
description: "重写已有文章:支持全量重写和章节级精准修改两种模式。",
|
|
131
|
-
argsSchema: {
|
|
132
|
-
postId: z.string().describe("要重写的文章 id (uuid)"),
|
|
133
|
-
intent: z
|
|
134
|
-
.string()
|
|
135
|
-
.describe("重写意图,例如 '让结构更清晰,补充 2025 年的最新进展'")
|
|
136
|
-
.optional(),
|
|
137
|
-
},
|
|
138
|
-
}, ({ postId, intent }) => ({
|
|
139
|
-
messages: [
|
|
140
|
-
{
|
|
141
|
-
role: "user",
|
|
142
|
-
content: {
|
|
143
|
-
type: "text",
|
|
144
|
-
text: [
|
|
145
|
-
`请重写文章(id=${postId})。`,
|
|
146
|
-
intent ? `重写目标:${intent}` : "",
|
|
147
|
-
"",
|
|
148
|
-
"准备工作:",
|
|
149
|
-
"0) 先调用 `describe_workflows` 获取工作流指南。",
|
|
150
|
-
"1) 调用 `post.get_outline` 查看文章结构和各章节大小。",
|
|
151
|
-
"",
|
|
152
|
-
"选择执行模式:",
|
|
153
|
-
"",
|
|
154
|
-
"【模式 A:章节级精准修改】(推荐,适用于只改部分章节)",
|
|
155
|
-
"- 按 'update-section' 工作流执行",
|
|
156
|
-
"- 用 `post.get_section(index)` 读取需要修改的章节",
|
|
157
|
-
"- 用 `post.replace_section(sectionIndex)` 替换修改后的章节",
|
|
158
|
-
"- 用 `post.insert_section` 在指定位置插入新章节",
|
|
159
|
-
"- 可重复以上步骤修改多个章节",
|
|
160
|
-
"",
|
|
161
|
-
"【模式 B:全量重写】(适用于结构大改、整体推翻重来)",
|
|
162
|
-
"- 按 'rewrite-post' 工作流执行",
|
|
163
|
-
"- 用 `post.get` 读取完整原文",
|
|
164
|
-
"- 改写后用 `post.update` 提交完整新版本",
|
|
165
|
-
"",
|
|
166
|
-
"通用约束:",
|
|
167
|
-
"- 保留原 slug 不变(避免外链失效)",
|
|
168
|
-
"- 写完后 `post.validate_markdown` 校验,errors 必须 0",
|
|
169
|
-
"- 不要主动 update_status 到 published",
|
|
170
|
-
]
|
|
171
|
-
.filter(Boolean)
|
|
172
|
-
.join("\n"),
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
],
|
|
176
|
-
}));
|
|
177
|
-
}
|
|
178
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import type { ApiClient } from "../api-client.js";
|
|
3
|
-
/**
|
|
4
|
-
* 把 docs/markdown-advanced-syntax-spec.md 的 13 个章节挂载为 MCP resource。
|
|
5
|
-
*
|
|
6
|
-
* 实现:
|
|
7
|
-
* - mcp-server 仅注册 URI(如 mcp://syntax-spec/live-demo),不内置文档内容
|
|
8
|
-
* - 内容来自 ai-blog 后端的 `/api/mcp/syntax-spec/<section>` 端点(按需读取)
|
|
9
|
-
* - 这样保证 ai-blog 仓库里的 spec 文档变更后,MCP 客户端无需重装 mcp-server
|
|
10
|
-
*/
|
|
11
|
-
/** spec 章节定义;section 字段对应 ai-blog 端 `/api/mcp/syntax-spec/<section>` 的最后一段 */
|
|
12
|
-
interface SyntaxSpecSection {
|
|
13
|
-
uri: string;
|
|
14
|
-
section: string;
|
|
15
|
-
name: string;
|
|
16
|
-
description: string;
|
|
17
|
-
}
|
|
18
|
-
/** 把全部 syntax-spec 章节注册为静态 MCP resource */
|
|
19
|
-
export declare function registerSyntaxSpecResources(server: McpServer, api: ApiClient): void;
|
|
20
|
-
/** 测试用:导出全部章节列表,便于单测断言注册数量与 URI 完整性 */
|
|
21
|
-
export declare const SYNTAX_SPEC_SECTIONS_FOR_TEST: readonly SyntaxSpecSection[];
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=syntax-spec.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syntax-spec.d.ts","sourceRoot":"","sources":["../../src/resources/syntax-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAoFD,2CAA2C;AAC3C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAwBnF;AAED,uCAAuC;AACvC,eAAO,MAAM,6BAA6B,8BAAuB,CAAC"}
|