@optima-chat/optima-agent 0.9.8 → 0.9.9

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.
Files changed (171) hide show
  1. package/.claude/settings.local.json +166 -0
  2. package/.claude/skills/.kb-skills-managed.json +9 -9
  3. package/.claude/skills/ads/SKILL.md +244 -244
  4. package/.claude/skills/ads/template/campaign/CREATIVES.md +18 -18
  5. package/.claude/skills/ads/template/campaign/NOTES.md +10 -10
  6. package/.claude/skills/ads/template/campaign/STRATEGY.md +29 -29
  7. package/.claude/skills/ads/template/user/ADS.md +29 -29
  8. package/.claude/skills/ads/template/user/LEARNINGS.md +15 -15
  9. package/.claude/skills/ads/template/user/PROGRESS.md +20 -20
  10. package/.claude/skills/ads/template/user/README.md +25 -25
  11. package/.claude/skills/ads/template/user/assets/.gitignore +2 -2
  12. package/.claude/skills/bi/SKILL.md +131 -131
  13. package/.claude/skills/browser/SKILL.md +201 -201
  14. package/.claude/skills/channels/SKILL.md +188 -188
  15. package/.claude/skills/collection/SKILL.md +88 -88
  16. package/.claude/skills/douyin/SKILL.md +408 -408
  17. package/.claude/skills/ffmpeg/SKILL.md +164 -164
  18. package/.claude/skills/gen/SKILL.md +279 -279
  19. package/.claude/skills/growth/SKILL.md +90 -90
  20. package/.claude/skills/growth/template/ACCOUNTS.md +14 -14
  21. package/.claude/skills/growth/template/CALENDAR.md +7 -7
  22. package/.claude/skills/growth/template/COMMENTS.md +7 -7
  23. package/.claude/skills/growth/template/GROWTH.md +37 -37
  24. package/.claude/skills/growth/template/PROGRESS.md +4 -4
  25. package/.claude/skills/growth/template/README.md +20 -20
  26. package/.claude/skills/growth/template/TOPICS.md +7 -7
  27. package/.claude/skills/homepage/SKILL.md +177 -177
  28. package/.claude/skills/i18n/SKILL.md +517 -517
  29. package/.claude/skills/ingesting-sources/SKILL.md +94 -94
  30. package/.claude/skills/initializing-kb/SKILL.md +117 -117
  31. package/.claude/skills/instagram/SKILL.md +321 -321
  32. package/.claude/skills/inventory/SKILL.md +328 -328
  33. package/.claude/skills/kol-outreach/SKILL.md +232 -232
  34. package/.claude/skills/kol-outreach/template/campaign/CONFIG.md +60 -60
  35. package/.claude/skills/kol-outreach/template/campaign/KOLS.md +6 -6
  36. package/.claude/skills/kol-outreach/template/campaign/PROGRESS.md +3 -3
  37. package/.claude/skills/kol-outreach/template/campaign/TEMPLATES.md +88 -88
  38. package/.claude/skills/kol-outreach/template/merchant/BRAND.md +36 -36
  39. package/.claude/skills/kol-outreach/template/merchant/CAMPAIGNS.md +6 -6
  40. package/.claude/skills/kol-outreach/template/merchant/MERCHANT_LIMITS.md +16 -16
  41. package/.claude/skills/kol-outreach/template/merchant/PROGRESS.md +4 -4
  42. package/.claude/skills/kol-outreach/template/merchant/README.md +20 -20
  43. package/.claude/skills/linting-the-wiki/SKILL.md +68 -68
  44. package/.claude/skills/logistics/SKILL.md +180 -180
  45. package/.claude/skills/markdown-pdf/SKILL.md +72 -72
  46. package/.claude/skills/merchant/SKILL.md +110 -110
  47. package/.claude/skills/multigrid-poster/SKILL.md +192 -192
  48. package/.claude/skills/multigrid-poster/layouts/2x2.json +34 -34
  49. package/.claude/skills/multigrid-poster/layouts/3x3.json +43 -43
  50. package/.claude/skills/multigrid-poster/scripts/compose.py +116 -116
  51. package/.claude/skills/order/SKILL.md +452 -452
  52. package/.claude/skills/product/SKILL.md +379 -379
  53. package/.claude/skills/product-page/SKILL.md +106 -106
  54. package/.claude/skills/querying-the-wiki/SKILL.md +59 -59
  55. package/.claude/skills/reddit/SKILL.md +277 -277
  56. package/.claude/skills/review/SKILL.md +321 -321
  57. package/.claude/skills/scout/SKILL.md +575 -462
  58. package/.claude/skills/sentinel/SKILL.md +281 -281
  59. package/.claude/skills/shein/SKILL.md +246 -246
  60. package/.claude/skills/shipping/SKILL.md +200 -200
  61. package/.claude/skills/shop-content/SKILL.md +101 -101
  62. package/.claude/skills/shopify/SKILL.md +282 -282
  63. package/.claude/skills/skillify/SKILL.md +114 -114
  64. package/.claude/skills/taobao/SKILL.md +238 -238
  65. package/.claude/skills/tiktok/SKILL.md +381 -381
  66. package/.claude/skills/twitter/SKILL.md +302 -302
  67. package/.claude/skills/updating-related-pages/SKILL.md +65 -65
  68. package/.claude/skills/video-edit/SKILL.md +143 -143
  69. package/.claude/skills/video-gen/SKILL.md +548 -548
  70. package/.claude/skills/video-gen/templates/INDEX.md +78 -78
  71. package/.claude/skills/video-gen/templates/before-after-beauty.md +183 -183
  72. package/.claude/skills/video-gen/templates/drama-fmcg.md +183 -183
  73. package/.claude/skills/video-gen/templates/kol-reaction-food.md +193 -193
  74. package/.claude/skills/video-gen/templates/multi-point-apparel.md +185 -185
  75. package/.claude/skills/video-gen/templates/pain-solution-home.md +184 -184
  76. package/.claude/skills/video-gen/templates/pdp-360-showcase.md +189 -189
  77. package/.claude/skills/video-gen/templates/pdp-feature-highlight.md +182 -182
  78. package/.claude/skills/video-gen/templates/scene-digital.md +183 -183
  79. package/.claude/skills/wechat/SKILL.md +174 -174
  80. package/.claude/skills/xhs/SKILL.md +170 -170
  81. package/README.md +276 -276
  82. package/dist/bin/bi-cli.js +0 -0
  83. package/dist/bin/browser-cli.js +0 -0
  84. package/dist/bin/comfy.d.ts +3 -0
  85. package/dist/bin/comfy.d.ts.map +1 -0
  86. package/dist/bin/comfy.js +3 -0
  87. package/dist/bin/comfy.js.map +1 -0
  88. package/dist/bin/commerce.js +0 -0
  89. package/dist/bin/gen.js +0 -0
  90. package/dist/bin/google-ads.js +0 -0
  91. package/dist/bin/growth.d.ts +3 -0
  92. package/dist/bin/growth.d.ts.map +1 -0
  93. package/dist/bin/growth.js +3 -0
  94. package/dist/bin/growth.js.map +1 -0
  95. package/dist/bin/logistics.js +0 -0
  96. package/dist/bin/optima.js +26 -26
  97. package/dist/bin/scout.js +0 -0
  98. package/dist/bin/sentinel.js +0 -0
  99. package/dist/bin/serve.js +23 -23
  100. package/dist/bin/shopify.js +0 -0
  101. package/dist/src/agent.js +4 -4
  102. package/dist/src/hooks-loader.d.ts +6 -0
  103. package/dist/src/hooks-loader.d.ts.map +1 -0
  104. package/dist/src/hooks-loader.js +215 -0
  105. package/dist/src/hooks-loader.js.map +1 -0
  106. package/dist/src/system-prompt.d.ts.map +1 -1
  107. package/dist/src/system-prompt.js +173 -169
  108. package/dist/src/system-prompt.js.map +1 -1
  109. package/dist/src/tools/memory.js +10 -10
  110. package/dist/src/ui/App.d.ts +6 -0
  111. package/dist/src/ui/App.d.ts.map +1 -0
  112. package/dist/src/ui/App.js +164 -0
  113. package/dist/src/ui/App.js.map +1 -0
  114. package/dist/src/ui/components/Composer.d.ts +10 -0
  115. package/dist/src/ui/components/Composer.d.ts.map +1 -0
  116. package/dist/src/ui/components/Composer.js +13 -0
  117. package/dist/src/ui/components/Composer.js.map +1 -0
  118. package/dist/src/ui/components/Header.d.ts +7 -0
  119. package/dist/src/ui/components/Header.d.ts.map +1 -0
  120. package/dist/src/ui/components/Header.js +7 -0
  121. package/dist/src/ui/components/Header.js.map +1 -0
  122. package/dist/src/ui/components/Message.d.ts +12 -0
  123. package/dist/src/ui/components/Message.d.ts.map +1 -0
  124. package/dist/src/ui/components/Message.js +21 -0
  125. package/dist/src/ui/components/Message.js.map +1 -0
  126. package/dist/src/ui/components/MessageList.d.ts +9 -0
  127. package/dist/src/ui/components/MessageList.d.ts.map +1 -0
  128. package/dist/src/ui/components/MessageList.js +18 -0
  129. package/dist/src/ui/components/MessageList.js.map +1 -0
  130. package/dist/src/ui/components/Spinner.d.ts +6 -0
  131. package/dist/src/ui/components/Spinner.d.ts.map +1 -0
  132. package/dist/src/ui/components/Spinner.js +7 -0
  133. package/dist/src/ui/components/Spinner.js.map +1 -0
  134. package/dist/src/ui/components/StatusBar.d.ts +11 -0
  135. package/dist/src/ui/components/StatusBar.d.ts.map +1 -0
  136. package/dist/src/ui/components/StatusBar.js +7 -0
  137. package/dist/src/ui/components/StatusBar.js.map +1 -0
  138. package/dist/src/ui/components/index.d.ts +7 -0
  139. package/dist/src/ui/components/index.d.ts.map +1 -0
  140. package/dist/src/ui/components/index.js +7 -0
  141. package/dist/src/ui/components/index.js.map +1 -0
  142. package/dist/src/ui/headless.js +7 -7
  143. package/dist/src/validation/error-formatter.d.ts +21 -0
  144. package/dist/src/validation/error-formatter.d.ts.map +1 -0
  145. package/dist/src/validation/error-formatter.js +98 -0
  146. package/dist/src/validation/error-formatter.js.map +1 -0
  147. package/dist/src/validation/index.d.ts +10 -0
  148. package/dist/src/validation/index.d.ts.map +1 -0
  149. package/dist/src/validation/index.js +10 -0
  150. package/dist/src/validation/index.js.map +1 -0
  151. package/dist/src/validation/json-validator.d.ts +25 -0
  152. package/dist/src/validation/json-validator.d.ts.map +1 -0
  153. package/dist/src/validation/json-validator.js +173 -0
  154. package/dist/src/validation/json-validator.js.map +1 -0
  155. package/dist/src/validation/schema.d.ts +353 -0
  156. package/dist/src/validation/schema.d.ts.map +1 -0
  157. package/dist/src/validation/schema.js +57 -0
  158. package/dist/src/validation/schema.js.map +1 -0
  159. package/dist/src/validation/suggestions.d.ts +25 -0
  160. package/dist/src/validation/suggestions.d.ts.map +1 -0
  161. package/dist/src/validation/suggestions.js +144 -0
  162. package/dist/src/validation/suggestions.js.map +1 -0
  163. package/dist/src/validation/types.d.ts +40 -0
  164. package/dist/src/validation/types.d.ts.map +1 -0
  165. package/dist/src/validation/types.js +5 -0
  166. package/dist/src/validation/types.js.map +1 -0
  167. package/dist/src/validation/yaml-validator.d.ts +25 -0
  168. package/dist/src/validation/yaml-validator.d.ts.map +1 -0
  169. package/dist/src/validation/yaml-validator.js +177 -0
  170. package/dist/src/validation/yaml-validator.js.map +1 -0
  171. package/package.json +79 -79
@@ -1,180 +1,180 @@
1
- ---
2
- name: logistics
3
- description: "物流服务管理。使用场景:运单查询、运单取消、标签获取、物流追踪、运费报价、地址验证。当用户问物流服务、运单详情、追踪号查询、快递识别、运费查询时使用。"
4
- ---
5
-
6
- # 物流服务 (Logistics)
7
-
8
- > **注意**:此模块管理 optima-logistics 物流服务的底层能力。日常订单发货请使用 **order** skill(`commerce order ship`)。
9
-
10
- ## 典型场景
11
-
12
- | 用户说 | 命令 |
13
- |--------|------|
14
- | "查运单详情" / "运单 lo_xxx 的状态" | `logistics shipment get <id>` |
15
- | "取消运单" | `logistics shipment cancel <id>` |
16
- | "打印面单" / "下载标签" | `logistics shipment label <id>` |
17
- | "追踪物流" / "包裹到哪了"(用运单号) | `logistics tracking get <tracking-number>` |
18
- | "注册追踪号" | `logistics tracking register <tracking-number>` |
19
- | "识别快递公司" | `logistics tracking detect-courier <tracking-number>` |
20
- | "查运费" / "报价" | `logistics rates query` |
21
- | "验证地址" | `logistics address validate` |
22
-
23
- ## 不在此模块
24
-
25
- | 用户说 | 正确模块 |
26
- |--------|----------|
27
- | "订单发货" | **order** skill → `commerce order ship` |
28
- | "运费设置" / "运费模式" | **shipping** skill → `commerce shipping` |
29
- | "固定运费区域" | **shipping** skill → `commerce shipping-zone` |
30
-
31
- ---
32
-
33
- ## 运单管理
34
-
35
- ### 查看运单详情
36
- ```bash
37
- logistics shipment get <logistics-order-id>
38
-
39
- # 示例
40
- logistics shipment get lo_abc123def456
41
- ```
42
-
43
- ### 取消运单
44
- ```bash
45
- logistics shipment cancel <logistics-order-id>
46
- ```
47
-
48
- ### 获取运单标签
49
- ```bash
50
- logistics shipment label <logistics-order-id>
51
- ```
52
-
53
- 返回标签下载链接(PDF),用于打印贴在包裹上。
54
-
55
- ---
56
-
57
- ## 物流追踪
58
-
59
- ### 查询追踪信息
60
- ```bash
61
- logistics tracking get <tracking-number> [--courier <slug>]
62
-
63
- # 示例
64
- logistics tracking get SF1234567890
65
- logistics tracking get 1Z999AA10123456784 --courier ups
66
- ```
67
-
68
- 返回:当前状态、轨迹列表(checkpoints)、预计送达时间。
69
-
70
- ### 注册追踪号(推送通知)
71
- ```bash
72
- logistics tracking register <tracking-number> [--courier <slug>] [--logistics-order-id <id>]
73
- ```
74
-
75
- 注册后可通过 webhook 接收物流状态更新推送。
76
-
77
- ### 识别快递公司
78
- ```bash
79
- logistics tracking detect-courier <tracking-number>
80
-
81
- # 示例
82
- logistics tracking detect-courier SF1234567890
83
- # → sf-express
84
- ```
85
-
86
- ---
87
-
88
- ## 运费报价
89
-
90
- ### 查询运费
91
- ```bash
92
- logistics rates query \
93
- --origin '<JSON Address>' \
94
- --destination '<JSON Address>' \
95
- --items '<JSON ParcelItem[]>' \
96
- [--currency USD]
97
- ```
98
-
99
- Address JSON 格式:
100
- ```json
101
- {
102
- "name": "John",
103
- "street1": "123 Main St",
104
- "city": "New York",
105
- "state": "NY",
106
- "postalCode": "10001",
107
- "country": "US",
108
- "phone": "+1234567890"
109
- }
110
- ```
111
-
112
- ParcelItem JSON 格式:
113
- ```json
114
- [{
115
- "title": "T-Shirt",
116
- "quantity": 2,
117
- "price": 29.99,
118
- "currency": "USD",
119
- "weight": 300,
120
- "originCountry": "CN"
121
- }]
122
- ```
123
-
124
- ---
125
-
126
- ## 地址验证
127
-
128
- ```bash
129
- logistics address validate --address '<JSON Address>'
130
- ```
131
-
132
- ---
133
-
134
- ## 命令参考
135
-
136
- ### 运单管理
137
- - `logistics shipment get <id>` - 查看运单详情
138
- - `logistics shipment cancel <id>` - 取消运单
139
- - `logistics shipment label <id>` - 获取运单标签
140
-
141
- ### 物流追踪
142
- - `logistics tracking get <number>` - 查询追踪信息
143
- - `logistics tracking register <number>` - 注册追踪号
144
- - `logistics tracking detect-courier <number>` - 识别快递公司
145
-
146
- ### 运费
147
- - `logistics rates query` - 查询运费报价
148
-
149
- ### 地址
150
- - `logistics address validate` - 验证地址
151
-
152
- 所有命令支持 `--pretty` 参数输出人类可读格式。
153
-
154
- ### JD 走货限制知识
155
-
156
- **货物类型限制**(不同专线支持不同 cargo type):
157
- - 普货线:仅接 general
158
- - 带电线:接 battery + general
159
- - 服装线:接 clothing + general
160
- - 化妆品线:接 cosmetic
161
- - 系统会自动根据产品 cargo_type 过滤不可用专线
162
-
163
- **品牌限制**:部分国际品牌在 JD 禁运列表中,系统自动检查
164
-
165
- **PGA 管控**:部分商品(食品、药品等)受 PGA 管控,系统做关键词初筛
166
-
167
- **偏远邮编**:US 部分邮编为偏远无服务区域,JD 不提供服务
168
-
169
- ### AI 发货决策树
170
-
171
- ```
172
- 卖家说"发货" → 查 getRates
173
- ├── 有可用方案 → AskUserQuestion 展示方案让卖家选择
174
- ├── JD 无方案但有 EasyShip → 告知原因,建议使用其他物流或手动发货
175
- └── 全部无方案 → 告知原因 + 建议手动发货
176
- ```
177
-
178
- ## 不确定用什么命令?
179
-
180
- 运行 `logistics --help` 查看所有子命令。
1
+ ---
2
+ name: logistics
3
+ description: "物流服务管理。使用场景:运单查询、运单取消、标签获取、物流追踪、运费报价、地址验证。当用户问物流服务、运单详情、追踪号查询、快递识别、运费查询时使用。"
4
+ ---
5
+
6
+ # 物流服务 (Logistics)
7
+
8
+ > **注意**:此模块管理 optima-logistics 物流服务的底层能力。日常订单发货请使用 **order** skill(`commerce order ship`)。
9
+
10
+ ## 典型场景
11
+
12
+ | 用户说 | 命令 |
13
+ |--------|------|
14
+ | "查运单详情" / "运单 lo_xxx 的状态" | `logistics shipment get <id>` |
15
+ | "取消运单" | `logistics shipment cancel <id>` |
16
+ | "打印面单" / "下载标签" | `logistics shipment label <id>` |
17
+ | "追踪物流" / "包裹到哪了"(用运单号) | `logistics tracking get <tracking-number>` |
18
+ | "注册追踪号" | `logistics tracking register <tracking-number>` |
19
+ | "识别快递公司" | `logistics tracking detect-courier <tracking-number>` |
20
+ | "查运费" / "报价" | `logistics rates query` |
21
+ | "验证地址" | `logistics address validate` |
22
+
23
+ ## 不在此模块
24
+
25
+ | 用户说 | 正确模块 |
26
+ |--------|----------|
27
+ | "订单发货" | **order** skill → `commerce order ship` |
28
+ | "运费设置" / "运费模式" | **shipping** skill → `commerce shipping` |
29
+ | "固定运费区域" | **shipping** skill → `commerce shipping-zone` |
30
+
31
+ ---
32
+
33
+ ## 运单管理
34
+
35
+ ### 查看运单详情
36
+ ```bash
37
+ logistics shipment get <logistics-order-id>
38
+
39
+ # 示例
40
+ logistics shipment get lo_abc123def456
41
+ ```
42
+
43
+ ### 取消运单
44
+ ```bash
45
+ logistics shipment cancel <logistics-order-id>
46
+ ```
47
+
48
+ ### 获取运单标签
49
+ ```bash
50
+ logistics shipment label <logistics-order-id>
51
+ ```
52
+
53
+ 返回标签下载链接(PDF),用于打印贴在包裹上。
54
+
55
+ ---
56
+
57
+ ## 物流追踪
58
+
59
+ ### 查询追踪信息
60
+ ```bash
61
+ logistics tracking get <tracking-number> [--courier <slug>]
62
+
63
+ # 示例
64
+ logistics tracking get SF1234567890
65
+ logistics tracking get 1Z999AA10123456784 --courier ups
66
+ ```
67
+
68
+ 返回:当前状态、轨迹列表(checkpoints)、预计送达时间。
69
+
70
+ ### 注册追踪号(推送通知)
71
+ ```bash
72
+ logistics tracking register <tracking-number> [--courier <slug>] [--logistics-order-id <id>]
73
+ ```
74
+
75
+ 注册后可通过 webhook 接收物流状态更新推送。
76
+
77
+ ### 识别快递公司
78
+ ```bash
79
+ logistics tracking detect-courier <tracking-number>
80
+
81
+ # 示例
82
+ logistics tracking detect-courier SF1234567890
83
+ # → sf-express
84
+ ```
85
+
86
+ ---
87
+
88
+ ## 运费报价
89
+
90
+ ### 查询运费
91
+ ```bash
92
+ logistics rates query \
93
+ --origin '<JSON Address>' \
94
+ --destination '<JSON Address>' \
95
+ --items '<JSON ParcelItem[]>' \
96
+ [--currency USD]
97
+ ```
98
+
99
+ Address JSON 格式:
100
+ ```json
101
+ {
102
+ "name": "John",
103
+ "street1": "123 Main St",
104
+ "city": "New York",
105
+ "state": "NY",
106
+ "postalCode": "10001",
107
+ "country": "US",
108
+ "phone": "+1234567890"
109
+ }
110
+ ```
111
+
112
+ ParcelItem JSON 格式:
113
+ ```json
114
+ [{
115
+ "title": "T-Shirt",
116
+ "quantity": 2,
117
+ "price": 29.99,
118
+ "currency": "USD",
119
+ "weight": 300,
120
+ "originCountry": "CN"
121
+ }]
122
+ ```
123
+
124
+ ---
125
+
126
+ ## 地址验证
127
+
128
+ ```bash
129
+ logistics address validate --address '<JSON Address>'
130
+ ```
131
+
132
+ ---
133
+
134
+ ## 命令参考
135
+
136
+ ### 运单管理
137
+ - `logistics shipment get <id>` - 查看运单详情
138
+ - `logistics shipment cancel <id>` - 取消运单
139
+ - `logistics shipment label <id>` - 获取运单标签
140
+
141
+ ### 物流追踪
142
+ - `logistics tracking get <number>` - 查询追踪信息
143
+ - `logistics tracking register <number>` - 注册追踪号
144
+ - `logistics tracking detect-courier <number>` - 识别快递公司
145
+
146
+ ### 运费
147
+ - `logistics rates query` - 查询运费报价
148
+
149
+ ### 地址
150
+ - `logistics address validate` - 验证地址
151
+
152
+ 所有命令支持 `--pretty` 参数输出人类可读格式。
153
+
154
+ ### JD 走货限制知识
155
+
156
+ **货物类型限制**(不同专线支持不同 cargo type):
157
+ - 普货线:仅接 general
158
+ - 带电线:接 battery + general
159
+ - 服装线:接 clothing + general
160
+ - 化妆品线:接 cosmetic
161
+ - 系统会自动根据产品 cargo_type 过滤不可用专线
162
+
163
+ **品牌限制**:部分国际品牌在 JD 禁运列表中,系统自动检查
164
+
165
+ **PGA 管控**:部分商品(食品、药品等)受 PGA 管控,系统做关键词初筛
166
+
167
+ **偏远邮编**:US 部分邮编为偏远无服务区域,JD 不提供服务
168
+
169
+ ### AI 发货决策树
170
+
171
+ ```
172
+ 卖家说"发货" → 查 getRates
173
+ ├── 有可用方案 → AskUserQuestion 展示方案让卖家选择
174
+ ├── JD 无方案但有 EasyShip → 告知原因,建议使用其他物流或手动发货
175
+ └── 全部无方案 → 告知原因 + 建议手动发货
176
+ ```
177
+
178
+ ## 不确定用什么命令?
179
+
180
+ 运行 `logistics --help` 查看所有子命令。
@@ -1,72 +1,72 @@
1
- ---
2
- name: markdown-pdf
3
- description: "Markdown to PDF conversion. Use when user needs to: export documents (导出成PDF/生成PDF/转换成PDF), create reports (保存为PDF), save as PDF (Export to PDF)."
4
- ---
5
-
6
- # Markdown → PDF 转换
7
-
8
- ## 标准命令格式
9
-
10
- ```bash
11
- md-to-pdf <input.md> \
12
- --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
13
- --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
14
- ```
15
-
16
- **关键点**:
17
- - 输出文件默认生成为 `<input>.pdf`(与输入同名,在同一目录)
18
- - 支持 glob 模式批量处理:`md-to-pdf ./**/*.md`
19
- - `--launch-options` 中的参数**必须包含**(Docker 容器要求)
20
-
21
- ## 常见场景
22
-
23
- ### 单个文档转换
24
-
25
- ```bash
26
- md-to-pdf report.md \
27
- --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
28
- --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
29
-
30
- # 输出:report.pdf(同目录)
31
- ```
32
-
33
- ### 指定输出路径(使用 stdin/stdout)
34
-
35
- ```bash
36
- cat document.md | md-to-pdf \
37
- --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
38
- --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}' \
39
- > /home/aiuser/project/final.pdf
40
- ```
41
-
42
- ### 批量转换(使用 glob)
43
-
44
- ```bash
45
- # 转换当前目录所有 Markdown 文件
46
- md-to-pdf *.md \
47
- --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
48
- --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
49
-
50
- # 递归转换所有子目录的 Markdown 文件
51
- md-to-pdf ./**/*.md \
52
- --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
53
- --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
54
- ```
55
-
56
- ## 参数选项
57
-
58
- ### --pdf-options 常用配置
59
-
60
- | 参数 | 可选值 | 说明 |
61
- |------|--------|------|
62
- | format | A4, Letter, A3, Legal | 纸张大小 |
63
- | margin | "20mm" 或 {"top":"20mm",...} | 页边距(支持 CSS 简写或对象) |
64
- | printBackground | true/false | 打印背景色(推荐 true) |
65
- | landscape | true/false | 横向/纵向 |
66
-
67
- ## 重要提示
68
-
69
- - ⚠️ **必须使用** `--no-sandbox` 等参数(Docker 环境要求)
70
- - ✅ 已安装中文字体(fonts-noto-cjk),支持完美渲染中文
71
- - ✅ 已安装 Emoji 字体(fonts-noto-color-emoji)
72
- - 📝 支持完整 Markdown 语法(表格、代码块、Emoji)
1
+ ---
2
+ name: markdown-pdf
3
+ description: "Markdown to PDF conversion. Use when user needs to: export documents (导出成PDF/生成PDF/转换成PDF), create reports (保存为PDF), save as PDF (Export to PDF)."
4
+ ---
5
+
6
+ # Markdown → PDF 转换
7
+
8
+ ## 标准命令格式
9
+
10
+ ```bash
11
+ md-to-pdf <input.md> \
12
+ --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
13
+ --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
14
+ ```
15
+
16
+ **关键点**:
17
+ - 输出文件默认生成为 `<input>.pdf`(与输入同名,在同一目录)
18
+ - 支持 glob 模式批量处理:`md-to-pdf ./**/*.md`
19
+ - `--launch-options` 中的参数**必须包含**(Docker 容器要求)
20
+
21
+ ## 常见场景
22
+
23
+ ### 单个文档转换
24
+
25
+ ```bash
26
+ md-to-pdf report.md \
27
+ --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
28
+ --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
29
+
30
+ # 输出:report.pdf(同目录)
31
+ ```
32
+
33
+ ### 指定输出路径(使用 stdin/stdout)
34
+
35
+ ```bash
36
+ cat document.md | md-to-pdf \
37
+ --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
38
+ --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}' \
39
+ > /home/aiuser/project/final.pdf
40
+ ```
41
+
42
+ ### 批量转换(使用 glob)
43
+
44
+ ```bash
45
+ # 转换当前目录所有 Markdown 文件
46
+ md-to-pdf *.md \
47
+ --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
48
+ --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
49
+
50
+ # 递归转换所有子目录的 Markdown 文件
51
+ md-to-pdf ./**/*.md \
52
+ --launch-options '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-dev-shm-usage"]}' \
53
+ --pdf-options '{"format":"A4","margin":"20mm","printBackground":true}'
54
+ ```
55
+
56
+ ## 参数选项
57
+
58
+ ### --pdf-options 常用配置
59
+
60
+ | 参数 | 可选值 | 说明 |
61
+ |------|--------|------|
62
+ | format | A4, Letter, A3, Legal | 纸张大小 |
63
+ | margin | "20mm" 或 {"top":"20mm",...} | 页边距(支持 CSS 简写或对象) |
64
+ | printBackground | true/false | 打印背景色(推荐 true) |
65
+ | landscape | true/false | 横向/纵向 |
66
+
67
+ ## 重要提示
68
+
69
+ - ⚠️ **必须使用** `--no-sandbox` 等参数(Docker 环境要求)
70
+ - ✅ 已安装中文字体(fonts-noto-cjk),支持完美渲染中文
71
+ - ✅ 已安装 Emoji 字体(fonts-noto-color-emoji)
72
+ - 📝 支持完整 Markdown 语法(表格、代码块、Emoji)