@gobing-ai/knowledge-kit 0.1.14 → 0.1.15
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/.claude-plugin/marketplace.json +1 -1
- package/dist/index.js +796 -176
- package/package.json +1 -1
- package/plugins/generations/content-gen/dist/index.js +2 -2
- package/plugins/generations/core-facts-gen/dist/index.js +2 -2
- package/plugins/generations/daily-article-gen/dist/index.js +2 -2
- package/plugins/generations/dailynews-gen/dist/index.js +72 -9
- package/plugins/generations/dailynews-gen/src/index.ts +23 -1
- package/plugins/generations/dailynews-gen/src/script-plan.ts +103 -5
- package/plugins/generations/episode-plan-gen/dist/index.js +2 -2
- package/plugins/generations/gemini-tts/dist/index.js +2 -2
- package/plugins/generations/image-gen/dist/index.js +2 -2
- package/plugins/generations/news-report-gen/dist/index.js +2 -2
- package/plugins/generations/voice-gen/dist/index.js +2 -2
- package/plugins/generations/voxcpm-tts/dist/index.js +2 -2
- package/plugins/ingestions/aihot-ingest/dist/index.js +2 -2
- package/plugins/ingestions/horizon-ingest/dist/index.js +2 -2
- package/plugins/ingestions/last30days-ingest/dist/index.js +2 -2
- package/plugins/ingestions/web-search/dist/index.js +2 -2
- package/plugins/kk/plugin.json +1 -1
- package/plugins/kk/scripts/daily-scheduled-run.ts +4 -0
- package/plugins/kk/scripts/daily-stages.ts +476 -12
- package/plugins/kk/scripts/kk-workflow-stages.ts +20 -4
- package/plugins/kk/skills/content-judge/SKILL.md +5 -4
- package/plugins/kk/skills/content-judge/references/rubrics.md +14 -0
- package/plugins/kk/skills/news-editorial/SKILL.md +122 -0
- package/plugins/kk/skills/news-editorial/references/selection.md +47 -0
- package/plugins/kk/skills/news-editorial/references/style-contract.zh.md +99 -0
- package/plugins/kk/skills/publish/SKILL.md +3 -3
- package/plugins/kk/skills/web-automation/SKILL.md +229 -77
- package/plugins/kk/skills/web-automation/references/browser-launch.md +127 -36
- package/plugins/kk/workflows/kk-daily-ai-voice2.yaml +4 -6
- package/plugins/kk/workflows/kk-daily-ai-voice3.yaml +183 -222
- package/plugins/kk/workflows/kk-daily-publish3.yaml +16 -8
- package/plugins/publishings/bilibili-pub/dist/index.js +5 -3
- package/plugins/publishings/bilibili-pub/dist/profile-check.js +3 -1
- package/plugins/publishings/cnblogs-pub/dist/index.js +5 -3
- package/plugins/publishings/cnblogs-pub/dist/profile-check.js +3 -1
- package/plugins/publishings/csdn-pub/dist/index.js +5 -3
- package/plugins/publishings/csdn-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/emdash-pub/dist/index.js +2 -2
- package/plugins/publishings/infoq-pub/dist/index.js +5 -3
- package/plugins/publishings/infoq-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/jike-pub/dist/index.js +5 -3
- package/plugins/publishings/jike-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/juejin-pub/dist/index.js +5 -3
- package/plugins/publishings/juejin-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/linkedin-pub/dist/index.js +5 -3
- package/plugins/publishings/linkedin-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/medium-pub/dist/index.js +2 -2
- package/plugins/publishings/podcast-pub/dist/index.js +147 -4
- package/plugins/publishings/podcast-pub/src/index.ts +71 -2
- package/plugins/publishings/podcast-pub/src/map.ts +3 -0
- package/plugins/publishings/podcast-pub/src/transcript.ts +195 -0
- package/plugins/publishings/qiita-pub/dist/index.js +2 -2
- package/plugins/publishings/shipinhao-pub/dist/index.js +5 -3
- package/plugins/publishings/shipinhao-pub/dist/profile-check.js +3 -1
- package/plugins/publishings/sspai-pub/dist/index.js +5 -3
- package/plugins/publishings/sspai-pub/dist/profile-check.js +3 -1
- package/plugins/publishings/substack-pub/dist/index.js +5 -3
- package/plugins/publishings/substack-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/surfdash-pub/dist/index.js +2 -2
- package/plugins/publishings/threads-pub/dist/index.js +2 -2
- package/plugins/publishings/wechatmp-pub/dist/index.js +52 -33
- package/plugins/publishings/wechatmp-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/wechatmp-pub/src/flow.ts +70 -33
- package/plugins/publishings/weibo-pub/dist/index.js +5 -3
- package/plugins/publishings/weibo-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/x-pub/dist/index.js +5 -3
- package/plugins/publishings/x-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/xhs-pub/dist/index.js +5 -3
- package/plugins/publishings/xhs-pub/dist/profile-check.js +5 -3
- package/plugins/publishings/xiaoyuzhou-pub/dist/index.js +5 -3
- package/plugins/publishings/xiaoyuzhou-pub/dist/profile-check.js +3 -1
- package/plugins/publishings/zenn-pub/dist/index.js +2 -2
- package/plugins/kk/scripts/daily-voice-style.zh.md +0 -70
|
@@ -20370,10 +20370,12 @@ function sha256Hex(value) {
|
|
|
20370
20370
|
var DEFAULT_BOT_PROFILE_ROOT = join3(homedir3(), ".config", "kk", "browser-profiles");
|
|
20371
20371
|
class BotError extends Error {
|
|
20372
20372
|
code;
|
|
20373
|
-
|
|
20373
|
+
details;
|
|
20374
|
+
constructor(code, message, details = {}) {
|
|
20374
20375
|
super(message);
|
|
20375
20376
|
this.name = "BotError";
|
|
20376
20377
|
this.code = code;
|
|
20378
|
+
this.details = details;
|
|
20377
20379
|
}
|
|
20378
20380
|
}
|
|
20379
20381
|
// ../../packages/publish-harness/src/index.ts
|
|
@@ -20919,11 +20921,11 @@ var PluginManifestSchemaBase = looseObject({
|
|
|
20919
20921
|
});
|
|
20920
20922
|
var PluginManifestSchema = PluginManifestSchemaBase.superRefine((manifest, ctx) => {
|
|
20921
20923
|
if (manifest.browserSession !== undefined) {
|
|
20922
|
-
if (manifest.kind !== "publish") {
|
|
20924
|
+
if (manifest.kind !== "publish" && manifest.kind !== "ingestion") {
|
|
20923
20925
|
ctx.addIssue({
|
|
20924
20926
|
code: "custom",
|
|
20925
20927
|
path: ["browserSession"],
|
|
20926
|
-
message: `browserSession requires kind "publish", not "${manifest.kind}"`
|
|
20928
|
+
message: `browserSession requires kind "publish" or "ingestion", not "${manifest.kind}"`
|
|
20927
20929
|
});
|
|
20928
20930
|
}
|
|
20929
20931
|
if (manifest.check === undefined) {
|
|
@@ -20073,11 +20073,11 @@ var PluginManifestSchemaBase = looseObject({
|
|
|
20073
20073
|
});
|
|
20074
20074
|
var PluginManifestSchema = PluginManifestSchemaBase.superRefine((manifest, ctx) => {
|
|
20075
20075
|
if (manifest.browserSession !== undefined) {
|
|
20076
|
-
if (manifest.kind !== "publish") {
|
|
20076
|
+
if (manifest.kind !== "publish" && manifest.kind !== "ingestion") {
|
|
20077
20077
|
ctx.addIssue({
|
|
20078
20078
|
code: "custom",
|
|
20079
20079
|
path: ["browserSession"],
|
|
20080
|
-
message: `browserSession requires kind "publish", not "${manifest.kind}"`
|
|
20080
|
+
message: `browserSession requires kind "publish" or "ingestion", not "${manifest.kind}"`
|
|
20081
20081
|
});
|
|
20082
20082
|
}
|
|
20083
20083
|
if (manifest.check === undefined) {
|
|
@@ -20707,10 +20707,12 @@ function sha256Hex(value) {
|
|
|
20707
20707
|
var DEFAULT_BOT_PROFILE_ROOT = join4(homedir4(), ".config", "kk", "browser-profiles");
|
|
20708
20708
|
class BotError extends Error {
|
|
20709
20709
|
code;
|
|
20710
|
-
|
|
20710
|
+
details;
|
|
20711
|
+
constructor(code, message, details = {}) {
|
|
20711
20712
|
super(message);
|
|
20712
20713
|
this.name = "BotError";
|
|
20713
20714
|
this.code = code;
|
|
20715
|
+
this.details = details;
|
|
20714
20716
|
}
|
|
20715
20717
|
}
|
|
20716
20718
|
// ../../packages/publish-harness/src/profile-dir.ts
|
|
@@ -20097,10 +20097,12 @@ function normalizeSessionIdentity(value) {
|
|
|
20097
20097
|
}
|
|
20098
20098
|
class BotError extends Error {
|
|
20099
20099
|
code;
|
|
20100
|
-
|
|
20100
|
+
details;
|
|
20101
|
+
constructor(code, message, details = {}) {
|
|
20101
20102
|
super(message);
|
|
20102
20103
|
this.name = "BotError";
|
|
20103
20104
|
this.code = code;
|
|
20105
|
+
this.details = details;
|
|
20104
20106
|
}
|
|
20105
20107
|
}
|
|
20106
20108
|
// ../../packages/publish-harness/src/index.ts
|
|
@@ -12226,11 +12226,11 @@ var PluginManifestSchemaBase = looseObject({
|
|
|
12226
12226
|
});
|
|
12227
12227
|
var PluginManifestSchema = PluginManifestSchemaBase.superRefine((manifest, ctx) => {
|
|
12228
12228
|
if (manifest.browserSession !== undefined) {
|
|
12229
|
-
if (manifest.kind !== "publish") {
|
|
12229
|
+
if (manifest.kind !== "publish" && manifest.kind !== "ingestion") {
|
|
12230
12230
|
ctx.addIssue({
|
|
12231
12231
|
code: "custom",
|
|
12232
12232
|
path: ["browserSession"],
|
|
12233
|
-
message: `browserSession requires kind "publish", not "${manifest.kind}"`
|
|
12233
|
+
message: `browserSession requires kind "publish" or "ingestion", not "${manifest.kind}"`
|
|
12234
12234
|
});
|
|
12235
12235
|
}
|
|
12236
12236
|
if (manifest.check === undefined) {
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# 每日AI乱炖 · 主持风格契约(zh)
|
|
2
|
-
|
|
3
|
-
`kk-daily-ai-voice` 的每一句口播都受这份契约约束(F613 R1;0189 R1 改定位;2026-10-08 改名)。
|
|
4
|
-
`script-write` 提示词与 `dailynews-gen` 的校验器读取同一份机器可读块,因此提示词与校验永远一致。
|
|
5
|
-
|
|
6
|
-
## 栏目定位
|
|
7
|
-
|
|
8
|
-
「每日AI乱炖」是「咸话咸说」下的 AI 技术分享栏目,完整名称「咸话咸说之每日AI乱炖」,副题
|
|
9
|
-
「工具、论文与实践随聊」。栏目名突出当天,不是把节目名当成说话人。口播是开发者视角的技术
|
|
10
|
-
分享,不是新闻通报:不播报时事,不以任何代称、绰号或「闲聊」包装政治、外交、军事、公共
|
|
11
|
-
政策争议或社会公共事件主线的内容——这类条目在选题/QC 阶段就应被排除(0189 R2)。身份与
|
|
12
|
-
经历必须真实:只讲真实做过的实测与实践。制作方式由栏目设置说明,口播、正文和 show notes
|
|
13
|
-
不要再附「文字由 AI 辅助整理,音频为 AI 合成配音」或「本期音频为 AI 合成配音」。
|
|
14
|
-
|
|
15
|
-
## 人设与语域
|
|
16
|
-
|
|
17
|
-
- 口语化普通话,第一人称「我」,像一位冷静、有依据的 AI 技术分享主播。
|
|
18
|
-
- 平实、克制、不炒作:不夸大单一消息的意义,不使用惊叹式渲染或营销话术。
|
|
19
|
-
- 面向普通听众说明「这件事为什么重要」或「怎么用得上」,而不是堆砌术语。
|
|
20
|
-
|
|
21
|
-
## 固定开场与收尾
|
|
22
|
-
|
|
23
|
-
开场问候与收尾致谢由 builder 固定输出,计划文本只填充两者之间的内容,节目身份永不漂移:
|
|
24
|
-
|
|
25
|
-
- 开场:`大家好,今天是<日期>。这里是由<主持人>为你带来的咸话咸说之每日AI乱炖。`
|
|
26
|
-
- 收尾:`感谢您的收听,我是<主持人>,祝您拥有充实高效的一天,我们下期节目不见不散!`
|
|
27
|
-
|
|
28
|
-
## 段落角色
|
|
29
|
-
|
|
30
|
-
- `intro`:开场导语,串起今天几个主题,接在固定问候之后,不超过 150 字。
|
|
31
|
-
- `lead`:一句话口语桥段,引出下一个主题的【标题】;只做铺垫,不得复述标题本身,不超过 80 字。
|
|
32
|
-
- `insight`:只基于这一条自身可核事实的点评(3–6 句),展开这一条自身的机制→意义→实用角度;不得挪用其他条目的话题,不超过 380 字。听众刚听完这一条的事实叙述,insight 是点评不是复读:不得复述正文已讲过的事实、数字或成串措辞(最多点到一两个关键词),深度来自角度和判断,不是把事实再讲一遍。时长契约:全片按 15–20 分钟口播设计,insight 应写到接近上限——宁可深挖这一条的角度,也不要浅尝辄止。字数按配音驱动折算:gemini ≈3.3 字/秒(正文约 4300–5800 字);Voicebox robin-news ≈6.3 字/秒(正文约 5700–7600 字,或增加条目数)。
|
|
33
|
-
- `outro`:简短收束语,接在固定致谢之前,不超过 150 字。
|
|
34
|
-
|
|
35
|
-
## 机器可读契约
|
|
36
|
-
|
|
37
|
-
`caps` 是各字段的字数上限;`banned` 是任何计划字段都不得出现的短语——包括旧模板的全部罐头
|
|
38
|
-
点评、旧模板的 首先/接着/最后 开头、0133 的研究脚手架标签与对冲语(校验规则
|
|
39
|
-
`banned:<短语>`),以及 0189 R4 退役的旧栏目名(「每日 AI 资讯」「AI科技漫谈」
|
|
40
|
-
「AI Daily Briefing」):任何路径都不得让旧新闻定位复活。
|
|
41
|
-
|
|
42
|
-
```json
|
|
43
|
-
{
|
|
44
|
-
"caps": { "intro": 150, "outro": 150, "lead": 80, "insight": 380 },
|
|
45
|
-
"banned": [
|
|
46
|
-
"在各种技术光环背后,正是这样专注而不知疲倦的底层攻坚者,为今天整个大模型生态奠定了最坚实的技术基石。",
|
|
47
|
-
"这其实释放了一个非常明确的信号:AI竞争的下半场,已经不再只是单纯拼模型参数,更是电力、能源和全栈工业基础设施的硬核较量。",
|
|
48
|
-
"真正被重新定义的,是硬件层承担的安全与算力责任:把能力做进硅片层更可靠、也更难绕过,但生态锁定的代价需要一起算进去。",
|
|
49
|
-
"我个人觉得,这次最大的看点是内容创作门槛的再次降低。不过正如团队提到的,如何平衡创作自由与防止低质内容泛滥,会是整个行业接下来最值得观察的关键考题。",
|
|
50
|
-
"这项进展反映出资本与产业界正在加速形成合力,后续实际业务场景的落地效果非常值得我们持续跟进。",
|
|
51
|
-
"这项新动态反映出技术演进正在进一步提速,对相关领域的实际影响也非常值得我们持续关注。",
|
|
52
|
-
"首先",
|
|
53
|
-
"接着",
|
|
54
|
-
"最后",
|
|
55
|
-
"可做角度",
|
|
56
|
-
"背景",
|
|
57
|
-
"潜在影响",
|
|
58
|
-
"读者宜另行核实",
|
|
59
|
-
"仍待验证",
|
|
60
|
-
"每日AI资讯",
|
|
61
|
-
"每日 AI 资讯",
|
|
62
|
-
"今日AI科技漫谈",
|
|
63
|
-
"AI科技漫谈",
|
|
64
|
-
"AI Daily Briefing",
|
|
65
|
-
"我是咸话咸说",
|
|
66
|
-
"音频为 AI 合成配音",
|
|
67
|
-
"The audio in this episode is AI-synthesized"
|
|
68
|
-
]
|
|
69
|
-
}
|
|
70
|
-
```
|