@panda-agent/panda-cli 0.1.54
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/README.md +192 -0
- package/bin/pandacli.mjs +85 -0
- package/bundled-preset-commands/README.md +3 -0
- package/bundled-preset-commands/init.md +78 -0
- package/bundled-preset-skills/.gitkeep +0 -0
- package/bundled-preset-skills/README.md +17 -0
- package/bundled-preset-skills/docx/.skill-metadata.yaml +208 -0
- package/bundled-preset-skills/docx/LICENSE.txt +30 -0
- package/bundled-preset-skills/docx/SKILL.md +663 -0
- package/bundled-preset-skills/docx/scripts/__init__.py +1 -0
- package/bundled-preset-skills/docx/scripts/accept_changes.py +206 -0
- package/bundled-preset-skills/docx/scripts/comment.py +442 -0
- package/bundled-preset-skills/docx/scripts/office/helpers/__init__.py +1 -0
- package/bundled-preset-skills/docx/scripts/office/helpers/merge_runs.py +190 -0
- package/bundled-preset-skills/docx/scripts/office/helpers/simplify_redlines.py +185 -0
- package/bundled-preset-skills/docx/scripts/office/pack.py +167 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bundled-preset-skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bundled-preset-skills/docx/scripts/office/soffice.py +194 -0
- package/bundled-preset-skills/docx/scripts/office/unpack.py +145 -0
- package/bundled-preset-skills/docx/scripts/office/validate.py +114 -0
- package/bundled-preset-skills/docx/scripts/office/validators/__init__.py +16 -0
- package/bundled-preset-skills/docx/scripts/office/validators/base.py +733 -0
- package/bundled-preset-skills/docx/scripts/office/validators/docx.py +354 -0
- package/bundled-preset-skills/docx/scripts/office/validators/pptx.py +230 -0
- package/bundled-preset-skills/docx/scripts/office/validators/redlining.py +212 -0
- package/bundled-preset-skills/docx/scripts/templates/comments.xml +3 -0
- package/bundled-preset-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/bundled-preset-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/bundled-preset-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/bundled-preset-skills/docx/scripts/templates/people.xml +3 -0
- package/bundled-preset-skills/frontend-design/LICENSE.txt +177 -0
- package/bundled-preset-skills/frontend-design/SKILL.md +42 -0
- package/bundled-preset-skills/pdf/.skill-metadata.yaml +273 -0
- package/bundled-preset-skills/pdf/LICENSE.txt +30 -0
- package/bundled-preset-skills/pdf/SKILL.md +324 -0
- package/bundled-preset-skills/pdf/advanced-reference.md +609 -0
- package/bundled-preset-skills/pdf/form-filling-guide.md +318 -0
- package/bundled-preset-skills/pdf/forms.md +294 -0
- package/bundled-preset-skills/pdf/reference.md +612 -0
- package/bundled-preset-skills/pdf/scripts/check_bounding_boxes.py +198 -0
- package/bundled-preset-skills/pdf/scripts/check_fillable_fields.py +64 -0
- package/bundled-preset-skills/pdf/scripts/convert_pdf_to_images.py +102 -0
- package/bundled-preset-skills/pdf/scripts/create_validation_image.py +125 -0
- package/bundled-preset-skills/pdf/scripts/extract_form_field_info.py +220 -0
- package/bundled-preset-skills/pdf/scripts/extract_form_structure.py +202 -0
- package/bundled-preset-skills/pdf/scripts/fill_fillable_fields.py +205 -0
- package/bundled-preset-skills/pdf/scripts/fill_pdf_form_with_annotations.py +193 -0
- package/bundled-preset-skills/pptx-generator/SKILL.md +204 -0
- package/bundled-preset-skills/pptx-generator/assets/styles/business.json +8 -0
- package/bundled-preset-skills/pptx-generator/assets/styles/minimal.json +8 -0
- package/bundled-preset-skills/pptx-generator/assets/styles/modern.json +8 -0
- package/bundled-preset-skills/pptx-generator/assets/templates/ppt_data_template.json +40 -0
- package/bundled-preset-skills/pptx-generator/references/collaboration_guide.md +381 -0
- package/bundled-preset-skills/pptx-generator/references/json_format_spec.md +215 -0
- package/bundled-preset-skills/pptx-generator/references/layout_guide.md +290 -0
- package/bundled-preset-skills/pptx-generator/scripts/json_validator.py +194 -0
- package/bundled-preset-skills/pptx-generator/scripts/pptx_builder.py +340 -0
- package/bundled-preset-skills/pptx-generator/scripts/pptx_validator.py +162 -0
- package/bundled-preset-skills/skill-creator/LICENSE.txt +202 -0
- package/bundled-preset-skills/skill-creator/SKILL.md +479 -0
- package/bundled-preset-skills/skill-creator/agents/analyzer.md +274 -0
- package/bundled-preset-skills/skill-creator/agents/comparator.md +202 -0
- package/bundled-preset-skills/skill-creator/agents/grader.md +223 -0
- package/bundled-preset-skills/skill-creator/assets/eval_review.html +146 -0
- package/bundled-preset-skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/bundled-preset-skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/bundled-preset-skills/skill-creator/references/schemas.md +430 -0
- package/bundled-preset-skills/skill-creator/scripts/__init__.py +0 -0
- package/bundled-preset-skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/bundled-preset-skills/skill-creator/scripts/generate_report.py +326 -0
- package/bundled-preset-skills/skill-creator/scripts/improve_description.py +248 -0
- package/bundled-preset-skills/skill-creator/scripts/package_skill.py +136 -0
- package/bundled-preset-skills/skill-creator/scripts/quick_validate.py +103 -0
- package/bundled-preset-skills/skill-creator/scripts/run_eval.py +310 -0
- package/bundled-preset-skills/skill-creator/scripts/run_loop.py +332 -0
- package/bundled-preset-skills/skill-creator/scripts/utils.py +47 -0
- package/bundled-preset-skills/update-config/SKILL.md +71 -0
- package/bundled-preset-skills/xlsx/.skill-metadata.yaml +185 -0
- package/bundled-preset-skills/xlsx/LICENSE.txt +30 -0
- package/bundled-preset-skills/xlsx/SKILL.md +233 -0
- package/bundled-preset-skills/xlsx/scripts/office/helpers/__init__.py +1 -0
- package/bundled-preset-skills/xlsx/scripts/office/helpers/merge_runs.py +226 -0
- package/bundled-preset-skills/xlsx/scripts/office/helpers/simplify_redlines.py +198 -0
- package/bundled-preset-skills/xlsx/scripts/office/pack.py +162 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bundled-preset-skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bundled-preset-skills/xlsx/scripts/office/soffice.py +185 -0
- package/bundled-preset-skills/xlsx/scripts/office/unpack.py +146 -0
- package/bundled-preset-skills/xlsx/scripts/office/validate.py +108 -0
- package/bundled-preset-skills/xlsx/scripts/office/validators/__init__.py +13 -0
- package/bundled-preset-skills/xlsx/scripts/office/validators/base.py +800 -0
- package/bundled-preset-skills/xlsx/scripts/office/validators/docx.py +383 -0
- package/bundled-preset-skills/xlsx/scripts/office/validators/pptx.py +250 -0
- package/bundled-preset-skills/xlsx/scripts/office/validators/redlining.py +229 -0
- package/bundled-preset-skills/xlsx/scripts/recalc.py +296 -0
- package/dist/panda-cli-ink.bundle.mjs +1 -0
- package/package.json +149 -0
- package/scripts/dedupe-react-for-cli.mjs +29 -0
- package/vendor/panda-ink/dist/devtools-CY9bUfXJ.js +9 -0
- package/vendor/panda-ink/dist/index.js +8603 -0
- package/vendor/panda-ink/package.json +56 -0
package/README.md
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# 智能化办公 - Dify 独立前端
|
|
2
|
+
|
|
3
|
+
基于 Next.js 15 和 Dify 后端 API 的独立前端应用,提供类似 NotebookLM 的三栏布局界面。
|
|
4
|
+
|
|
5
|
+
## 项目结构
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
src/
|
|
9
|
+
├── app/ # Next.js App Router
|
|
10
|
+
│ ├── (auth)/ # 认证相关页面
|
|
11
|
+
│ │ ├── signin/ # 登录页
|
|
12
|
+
│ │ └── signup/ # 注册页
|
|
13
|
+
│ ├── (main)/ # 主应用布局(三栏)
|
|
14
|
+
│ │ ├── layout.tsx # 三栏布局
|
|
15
|
+
│ │ ├── page.tsx # 首页(聊天)
|
|
16
|
+
│ │ ├── conversations/ # 会话管理
|
|
17
|
+
│ │ ├── datasets/ # 知识库管理
|
|
18
|
+
│ │ └── notebooks/ # 笔记管理
|
|
19
|
+
│ ├── layout.tsx # 根布局
|
|
20
|
+
│ ├── providers.tsx # React Query Provider
|
|
21
|
+
│ └── globals.css # 全局样式
|
|
22
|
+
├── components/
|
|
23
|
+
│ ├── ui/ # 基础 UI 组件
|
|
24
|
+
│ │ ├── button.tsx
|
|
25
|
+
│ │ └── input.tsx
|
|
26
|
+
│ ├── layout/ # 布局组件
|
|
27
|
+
│ │ ├── top-nav.tsx # 顶部导航
|
|
28
|
+
│ │ ├── left-sidebar.tsx # 左栏(来源)
|
|
29
|
+
│ │ ├── right-sidebar.tsx# 右栏(Studio)
|
|
30
|
+
│ │ └── status-bar.tsx # 底部状态栏
|
|
31
|
+
│ ├── chat/ # 聊天组件
|
|
32
|
+
│ │ ├── chat-area.tsx
|
|
33
|
+
│ │ ├── message-list.tsx
|
|
34
|
+
│ │ ├── message-item.tsx
|
|
35
|
+
│ │ └── chat-input.tsx
|
|
36
|
+
│ ├── sources/ # 来源管理组件(待实现)
|
|
37
|
+
│ └── studio/ # Studio 工具组件(待实现)
|
|
38
|
+
├── services/
|
|
39
|
+
│ └── dify-client.ts # Dify API 客户端
|
|
40
|
+
├── stores/
|
|
41
|
+
│ ├── auth-store.ts # 认证状态 (Zustand)
|
|
42
|
+
│ └── chat-store.ts # 聊天状态 (Zustand)
|
|
43
|
+
├── hooks/
|
|
44
|
+
│ └── use-chat.ts # 聊天 Hook
|
|
45
|
+
├── lib/
|
|
46
|
+
│ └── utils.ts # 工具函数
|
|
47
|
+
└── types/
|
|
48
|
+
└── index.ts # TypeScript 类型定义
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 已完成功能
|
|
52
|
+
|
|
53
|
+
### 阶段 1: 基础架构 ✅
|
|
54
|
+
- [x] Next.js 15 项目初始化
|
|
55
|
+
- [x] Tailwind CSS 4 + 暗色主题支持
|
|
56
|
+
- [x] Zustand 状态管理
|
|
57
|
+
- [x] TanStack Query 数据缓存
|
|
58
|
+
- [x] TypeScript 类型定义
|
|
59
|
+
- [x] Dify API 客户端封装
|
|
60
|
+
|
|
61
|
+
### 阶段 2: 认证系统
|
|
62
|
+
- [x] 登录页面
|
|
63
|
+
- [ ] 注册页面
|
|
64
|
+
- [ ] 密码找回
|
|
65
|
+
- [ ] OAuth 登录
|
|
66
|
+
|
|
67
|
+
### 阶段 3: 三栏布局 ✅
|
|
68
|
+
- [x] 主布局(响应式)
|
|
69
|
+
- [x] 顶部导航栏
|
|
70
|
+
- [x] 左侧边栏(来源管理)
|
|
71
|
+
- [x] 右侧边栏(Studio 工具)
|
|
72
|
+
- [x] 底部状态栏
|
|
73
|
+
|
|
74
|
+
### 阶段 4: 聊天功能 🟡
|
|
75
|
+
- [x] 聊天区域组件
|
|
76
|
+
- [x] 消息列表
|
|
77
|
+
- [x] 消息项(支持引用)
|
|
78
|
+
- [x] 聊天输入框(支持文件拖放)
|
|
79
|
+
- [x] 流式响应处理
|
|
80
|
+
- [ ] 会话管理(创建/删除/重命名)
|
|
81
|
+
- [ ] 会话历史加载
|
|
82
|
+
|
|
83
|
+
## 待实现功能
|
|
84
|
+
|
|
85
|
+
### 阶段 5: 来源管理
|
|
86
|
+
- [ ] 知识库列表和选择
|
|
87
|
+
- [ ] 文件上传组件
|
|
88
|
+
- [ ] 网站链接添加
|
|
89
|
+
- [ ] 来源状态监控
|
|
90
|
+
|
|
91
|
+
### 阶段 6: 笔记功能
|
|
92
|
+
- [ ] 笔记数据库设计
|
|
93
|
+
- [ ] 笔记 API 服务
|
|
94
|
+
- [ ] 笔记编辑器
|
|
95
|
+
- [ ] 笔记与会话关联
|
|
96
|
+
|
|
97
|
+
### 阶段 7: Studio 工具
|
|
98
|
+
- [ ] 音频概览(TTS)
|
|
99
|
+
- [ ] 报告生成
|
|
100
|
+
- [ ] 思维导图
|
|
101
|
+
- [ ] 闪卡/测验
|
|
102
|
+
|
|
103
|
+
### 阶段 8: 优化
|
|
104
|
+
- [ ] 性能优化(长会话渲染、截断策略等)
|
|
105
|
+
- [ ] 错误边界
|
|
106
|
+
- [ ] 加载状态优化
|
|
107
|
+
- [ ] 端到端测试
|
|
108
|
+
|
|
109
|
+
## 开发指南
|
|
110
|
+
|
|
111
|
+
### 环境配置
|
|
112
|
+
|
|
113
|
+
1. 复制 `.env.local.example` 到 `.env.local`
|
|
114
|
+
2. 配置 Dify 后端 API 地址:
|
|
115
|
+
```bash
|
|
116
|
+
NEXT_PUBLIC_DIFY_API_URL=http://localhost:5001
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 启动开发服务器
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
npm run dev
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
访问 http://localhost:3000
|
|
126
|
+
|
|
127
|
+
### 构建生产版本
|
|
128
|
+
```bash
|
|
129
|
+
npm run build
|
|
130
|
+
npm start
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## API 集成
|
|
134
|
+
|
|
135
|
+
### Dify API 端点
|
|
136
|
+
|
|
137
|
+
- **认证**: `/console/api/login`, `/console/api/register`
|
|
138
|
+
- **聊天**: `/v1/chat-messages` (支持流式)
|
|
139
|
+
- **会话**: `/v1/conversations`
|
|
140
|
+
- **知识库**: `/console/api/datasets`
|
|
141
|
+
|
|
142
|
+
### 添加新的 API 调用
|
|
143
|
+
|
|
144
|
+
在 `src/services/dify-client.ts` 中添加新方法:
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
async myNewMethod(params: MyParams): Promise<ApiResponse<MyResult>> {
|
|
148
|
+
return this.fetch('/endpoint', {
|
|
149
|
+
method: 'POST',
|
|
150
|
+
body: JSON.stringify(params),
|
|
151
|
+
})
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## 状态管理
|
|
156
|
+
|
|
157
|
+
### Auth Store
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
import { useAuthStore } from '@/stores/auth-store'
|
|
161
|
+
|
|
162
|
+
const { user, login, logout } = useAuthStore()
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Chat Store
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
import { useChatStore } from '@/stores/chat-store'
|
|
169
|
+
|
|
170
|
+
const { messages, addMessage, updateMessage } = useChatStore()
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## 技术栈
|
|
174
|
+
|
|
175
|
+
- **框架**: Next.js 15 (App Router)
|
|
176
|
+
- **语言**: TypeScript 5
|
|
177
|
+
- **样式**: Tailwind CSS 4
|
|
178
|
+
- **状态管理**: Zustand 5
|
|
179
|
+
- **数据获取**: TanStack Query 5
|
|
180
|
+
- **图标**: Lucide React
|
|
181
|
+
- **UI 组件**: 自研(基于 Shadcn/ui 设计)
|
|
182
|
+
|
|
183
|
+
## 下一步
|
|
184
|
+
|
|
185
|
+
1. **完成认证流程** - 注册、密码找回
|
|
186
|
+
2. **实现会话管理** - 加载历史会话、创建新会话
|
|
187
|
+
3. **集成知识库** - 来源选择、文件上传
|
|
188
|
+
4. **完善 Studio 工具** - 音频概览、报告生成
|
|
189
|
+
|
|
190
|
+
## License
|
|
191
|
+
|
|
192
|
+
MIT
|
package/bin/pandacli.mjs
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* 全局/本地安装后的入口:工作目录始终为调用方 shell 的 cwd(默认 spawn 即 process.cwd())。
|
|
4
|
+
* 先 dedupe(仅 vscode monorepo 时删本包内 react)再启动 bundle。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { spawnSync } from 'node:child_process';
|
|
8
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
9
|
+
import { dirname, join } from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
|
|
12
|
+
// 修改进程标题,防止 `pkill node` / `killall node` 误杀
|
|
13
|
+
process.title = 'panda-cli';
|
|
14
|
+
|
|
15
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
const pkgRoot = join(here, '..');
|
|
17
|
+
const dedupe = join(pkgRoot, 'scripts', 'dedupe-react-for-cli.mjs');
|
|
18
|
+
const bundle = join(pkgRoot, 'dist', 'panda-cli-ink.bundle.mjs');
|
|
19
|
+
|
|
20
|
+
function parseNodeMajor(version) {
|
|
21
|
+
const match = /^v?(\d+)/.exec(version ?? '');
|
|
22
|
+
return match ? Number(match[1]) : 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function parseEnginesNodeMajor(spec) {
|
|
26
|
+
const match = />=\s*(\d+)/.exec(spec ?? '');
|
|
27
|
+
return match ? Number(match[1]) : 22;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function readRequiredNodeMajor() {
|
|
31
|
+
const pkgPath = join(pkgRoot, 'package.json');
|
|
32
|
+
try {
|
|
33
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
34
|
+
return parseEnginesNodeMajor(pkg.engines?.node);
|
|
35
|
+
} catch {
|
|
36
|
+
return 22;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function assertNodeVersion() {
|
|
41
|
+
const requiredMajor = readRequiredNodeMajor();
|
|
42
|
+
const currentMajor = parseNodeMajor(process.version);
|
|
43
|
+
if (currentMajor < requiredMajor) {
|
|
44
|
+
console.error(
|
|
45
|
+
`[pandacli] 需要 Node.js >= ${requiredMajor}(package.json engines),当前为 ${process.version}。\n` +
|
|
46
|
+
`请安装 Node ${requiredMajor} LTS 或更高版本: https://nodejs.org/\n` +
|
|
47
|
+
'安装后请重新打开终端,执行 node -v 确认版本后再运行 panda。',
|
|
48
|
+
);
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
assertNodeVersion();
|
|
54
|
+
|
|
55
|
+
if (!existsSync(bundle)) {
|
|
56
|
+
console.error(
|
|
57
|
+
'[pandacli] 缺少 dist/panda-cli-ink.bundle.mjs。请在 panda-cli 目录执行: npm run vendor:panda-ink && npm run build,或重新安装/打包容器。',
|
|
58
|
+
);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const dedupeResult = spawnSync(process.execPath, [dedupe], {
|
|
63
|
+
stdio: 'inherit',
|
|
64
|
+
cwd: pkgRoot,
|
|
65
|
+
env: process.env,
|
|
66
|
+
});
|
|
67
|
+
if (dedupeResult.status !== 0) {
|
|
68
|
+
process.exit(dedupeResult.status === null ? 1 : dedupeResult.status);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const run = spawnSync(
|
|
72
|
+
process.execPath,
|
|
73
|
+
[
|
|
74
|
+
'--max-old-space-size=16384',
|
|
75
|
+
'--disable-warning=ExperimentalWarning', // node:sqlite 实验性 API
|
|
76
|
+
bundle,
|
|
77
|
+
...process.argv.slice(2),
|
|
78
|
+
],
|
|
79
|
+
{
|
|
80
|
+
stdio: 'inherit',
|
|
81
|
+
cwd: process.cwd(),
|
|
82
|
+
env: process.env,
|
|
83
|
+
},
|
|
84
|
+
);
|
|
85
|
+
process.exit(run.status ?? (run.signal ? 1 : 0));
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Initialize Panda project context
|
|
2
|
+
|
|
3
|
+
Set up minimal **CLAUDE.md** (and optionally **CLAUDE.local.md**, **skills**, **hooks**) for this repo. These files load into every Panda session — keep them concise: only include what the model would get wrong without them.
|
|
4
|
+
|
|
5
|
+
## Phase 1: Ask what to set up
|
|
6
|
+
|
|
7
|
+
Use **ask_question** to learn what the user wants:
|
|
8
|
+
|
|
9
|
+
- **Which instruction files?** Options: "Project CLAUDE.md" | "Personal CLAUDE.local.md" | "Both"
|
|
10
|
+
- **Skills and hooks?** Options: "Skills + hooks" | "Skills only" | "Hooks only" | "Neither, just CLAUDE.md"
|
|
11
|
+
|
|
12
|
+
## Phase 2: Survey the codebase
|
|
13
|
+
|
|
14
|
+
Launch a **Task** subagent with `subagent_type: Explore` to read: manifest files (package.json, Cargo.toml, pyproject.toml, go.mod, etc.), README, Makefile, CI config, existing CLAUDE.md / AGENTS.md, `.panda/`, `.cursor/rules`, `.github/copilot-instructions.md`.
|
|
15
|
+
|
|
16
|
+
Detect: build/test/lint commands, languages, monorepo layout, formatters, existing `.panda/skills/` and `.panda/rules/`.
|
|
17
|
+
|
|
18
|
+
## Phase 3: Gap fill + proposal
|
|
19
|
+
|
|
20
|
+
Use **ask_question** for team practices and personal preferences the code cannot answer.
|
|
21
|
+
|
|
22
|
+
Synthesize a proposal (hook | skill | CLAUDE.md note), **filtered by Phase 1 choice**. Use each option's **preview** field (Markdown) to show the full proposal — keep previews compact (one line per item).
|
|
23
|
+
|
|
24
|
+
## Phase 4: Write CLAUDE.md (if chosen)
|
|
25
|
+
|
|
26
|
+
Write minimal `CLAUDE.md` at project root. Prefix:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
# CLAUDE.md
|
|
30
|
+
|
|
31
|
+
This file provides guidance to Panda when working with code in this repository.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Include only: non-obvious commands, style rules that differ from defaults, test quirks, env setup, gotchas. Exclude file trees and generic advice. If CLAUDE.md exists: propose diffs, do not overwrite silently.
|
|
35
|
+
|
|
36
|
+
Suggest `.panda/rules/*.md` for large projects (unconditional rules) or scoped rules with frontmatter:
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
---
|
|
40
|
+
paths:
|
|
41
|
+
- "src/**/*.ts"
|
|
42
|
+
---
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Phase 5: Write CLAUDE.local.md (if chosen)
|
|
46
|
+
|
|
47
|
+
Write `CLAUDE.local.md`, add `CLAUDE.local.md` to `.gitignore`. Personal sandbox URLs, role, communication preferences only.
|
|
48
|
+
|
|
49
|
+
## Phase 6: Create skills (if chosen)
|
|
50
|
+
|
|
51
|
+
Create `.panda/skills/<name>/SKILL.md` (or `.claude/skills/` for Claude-compat):
|
|
52
|
+
|
|
53
|
+
```yaml
|
|
54
|
+
---
|
|
55
|
+
name: <skill-name>
|
|
56
|
+
description: <when to use>
|
|
57
|
+
---
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Side-effect skills (deploy, etc.): add `disable-model-invocation: true` in frontmatter if supported.
|
|
61
|
+
|
|
62
|
+
## Phase 7: Hooks + environment (if chosen)
|
|
63
|
+
|
|
64
|
+
Write hooks to `.panda/settings.json` (team) or `.panda/settings.local.json` (personal).
|
|
65
|
+
|
|
66
|
+
Before first hook: invoke **use_skill** with `update-config` and args `[hooks-only] <one-line summary>`.
|
|
67
|
+
|
|
68
|
+
**Live proof (Phase 7)**: after writing `.panda/settings.json`, run one matching tool (e.g. save a file for `Write|Edit` PostToolUse) in the **same session** and verify the hook command executed. Hook scripts should read `tool_input.file_path` from stdin JSON (`jq -r '.tool_input.file_path'`) or use env `$FILE_PATH`.
|
|
69
|
+
|
|
70
|
+
Examples:
|
|
71
|
+
- Format on edit: `PostToolUse` matcher `Write|Edit`
|
|
72
|
+
- Before review: `Stop` event
|
|
73
|
+
|
|
74
|
+
Check `which gh`; offer lint setup if missing.
|
|
75
|
+
|
|
76
|
+
## Phase 8: Summary
|
|
77
|
+
|
|
78
|
+
Recap files written. Recommend: `/skill-creator`, `/skills`, MCP setup, verification subagent.
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Preset skills (SSOT)
|
|
2
|
+
|
|
3
|
+
Place one skill per subdirectory. Each subdirectory must contain `SKILL.md`.
|
|
4
|
+
|
|
5
|
+
Example:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
panda-resources/skills/
|
|
9
|
+
my-skill/
|
|
10
|
+
SKILL.md
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Release builds embed this tree as `bundled-preset-skills/` in CLI / Desktop / IDE packages, then seed into `~/.panda/skills` on first run (skip if `SKILL.md` already exists for that skill name).
|
|
14
|
+
|
|
15
|
+
- CLI: `sync-preset-skills.mjs` → `panda-cli/bundled-preset-skills/` (gitignored) before `npm pack`
|
|
16
|
+
- Desktop: `electron-builder` reads SSOT directly into `Resources/bundled-preset-skills/`
|
|
17
|
+
- IDE: gulp merges into `Resources/bundled-preset-skills/`
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
examples:
|
|
2
|
+
- id: create-official-document
|
|
3
|
+
title:
|
|
4
|
+
zh: 撰写公司公文
|
|
5
|
+
en: Create Official Document (公文)
|
|
6
|
+
description:
|
|
7
|
+
zh: 按公司公文规范生成通知、请示等正式文书
|
|
8
|
+
en: Generate formal official documents per company 公文 standards
|
|
9
|
+
prompt:
|
|
10
|
+
zh: |-
|
|
11
|
+
请帮我起草一份公司公文(.docx),要求如下:
|
|
12
|
+
|
|
13
|
+
文种:{{通知 / 请示 / 报告 等}}
|
|
14
|
+
标题:{{公文标题}}
|
|
15
|
+
主送单位:{{主送单位名称}}
|
|
16
|
+
正文要点:
|
|
17
|
+
{{列出正文主要内容或提纲}}
|
|
18
|
+
|
|
19
|
+
格式须符合公司公文规范:
|
|
20
|
+
- 正文仿宋_GB2312 三号,段首左空二字,回行顶格
|
|
21
|
+
- 结构层次:一、(黑体);(一)(楷体);1.(仿宋);(1)(仿宋),不超过四层
|
|
22
|
+
- 数字、年份不在行中断开
|
|
23
|
+
- 坚持实事求是、准确规范、精简高效、安全保密
|
|
24
|
+
|
|
25
|
+
请生成完整文稿。
|
|
26
|
+
en: |-
|
|
27
|
+
Please draft a company official document (.docx) with:
|
|
28
|
+
|
|
29
|
+
Type: {{notice / request / report, etc.}}
|
|
30
|
+
Title: {{document title}}
|
|
31
|
+
Primary recipient: {{recipient}}
|
|
32
|
+
Body outline: {{key points}}
|
|
33
|
+
|
|
34
|
+
Format per company 公文 rules: FangSong_GB2312 size 3 body; 2-char first-line indent; structure levels 一、/(一)/1./(1) with Heiti/KaiTi/FangSong fonts; no line breaks inside numbers or years.
|
|
35
|
+
|
|
36
|
+
Generate the full document.
|
|
37
|
+
- id: create-document
|
|
38
|
+
title:
|
|
39
|
+
zh: 创建新文档
|
|
40
|
+
en: Create New Document
|
|
41
|
+
description:
|
|
42
|
+
zh: 创建一个新的 Word 文档,包含指定的内容和格式
|
|
43
|
+
en: Create a new Word document with specified content and formatting
|
|
44
|
+
prompt:
|
|
45
|
+
zh: |-
|
|
46
|
+
请帮我创建一个专业的 Word 文档,要求如下:
|
|
47
|
+
|
|
48
|
+
标题:{{项目报告标题}}
|
|
49
|
+
内容结构:
|
|
50
|
+
1. 项目概述(200字左右)
|
|
51
|
+
2. 主要成果(要点列出)
|
|
52
|
+
3. 数据分析(包含图表说明)
|
|
53
|
+
4. 结论与建议
|
|
54
|
+
|
|
55
|
+
格式要求:
|
|
56
|
+
- 使用正式的商务文档样式
|
|
57
|
+
- 标题使用加粗格式
|
|
58
|
+
- 正文使用 12 号字体
|
|
59
|
+
- 添加页眉页脚
|
|
60
|
+
- 生成目录
|
|
61
|
+
|
|
62
|
+
请根据以上要求生成文档。
|
|
63
|
+
en: |-
|
|
64
|
+
Please help me create a professional Word document with the following requirements:
|
|
65
|
+
|
|
66
|
+
Title: {{Project Report Title}}
|
|
67
|
+
Content structure:
|
|
68
|
+
1. Project Overview (about 200 words)
|
|
69
|
+
2. Key Achievements (bullet points)
|
|
70
|
+
3. Data Analysis (including chart descriptions)
|
|
71
|
+
4. Conclusion and Recommendations
|
|
72
|
+
|
|
73
|
+
Formatting requirements:
|
|
74
|
+
- Use formal business document style
|
|
75
|
+
- Headers in bold format
|
|
76
|
+
- Body text in 12-point font
|
|
77
|
+
- Add headers and footers
|
|
78
|
+
- Generate table of contents
|
|
79
|
+
|
|
80
|
+
Please generate the document according to the above requirements.
|
|
81
|
+
- id: extract-content
|
|
82
|
+
title:
|
|
83
|
+
zh: 提取文档内容
|
|
84
|
+
en: Extract Document Content
|
|
85
|
+
description:
|
|
86
|
+
zh: 从 Word 文档中提取纯文本内容或特定结构化信息
|
|
87
|
+
en: Extract plain text content or specific structured information from Word documents
|
|
88
|
+
prompt:
|
|
89
|
+
zh: |-
|
|
90
|
+
请帮我分析这个 Word 文档并提取以下信息:
|
|
91
|
+
|
|
92
|
+
文档路径:{{文档文件路径}}
|
|
93
|
+
|
|
94
|
+
需要提取的内容:
|
|
95
|
+
1. 完整的纯文本内容
|
|
96
|
+
2. 所有标题和子标题
|
|
97
|
+
3. 表格数据(如果有)
|
|
98
|
+
4. 图片描述和位置信息
|
|
99
|
+
5. 文档的总体结构分析
|
|
100
|
+
|
|
101
|
+
输出格式:JSON 格式,便于后续处理。
|
|
102
|
+
en: |-
|
|
103
|
+
Please help me analyze this Word document and extract the following information:
|
|
104
|
+
|
|
105
|
+
Document path: {{Document file path}}
|
|
106
|
+
|
|
107
|
+
Content to extract:
|
|
108
|
+
1. Complete plain text content
|
|
109
|
+
2. All headings and subheadings
|
|
110
|
+
3. Table data (if any)
|
|
111
|
+
4. Image descriptions and position information
|
|
112
|
+
5. Overall document structure analysis
|
|
113
|
+
|
|
114
|
+
Output format: JSON format for easy subsequent processing.
|
|
115
|
+
- id: convert-format
|
|
116
|
+
title:
|
|
117
|
+
zh: 格式转换
|
|
118
|
+
en: Format Conversion
|
|
119
|
+
description:
|
|
120
|
+
zh: 将 Word 文档转换为其他格式或调整文档格式
|
|
121
|
+
en: Convert Word documents to other formats or adjust document formatting
|
|
122
|
+
prompt:
|
|
123
|
+
zh: |-
|
|
124
|
+
我需要转换和优化这个 Word 文档:
|
|
125
|
+
|
|
126
|
+
源文档:{{源文档路径}}
|
|
127
|
+
目标格式:{{目标格式,如 PDF、HTML 等}}
|
|
128
|
+
|
|
129
|
+
转换要求:
|
|
130
|
+
1. 保持原有的格式和布局
|
|
131
|
+
2. 优化字体和段落间距
|
|
132
|
+
3. 确保图片清晰度
|
|
133
|
+
4. 添加水印(可选)
|
|
134
|
+
5. 设置页面边距和纸张大小
|
|
135
|
+
|
|
136
|
+
如果是转换为 PDF,请确保:
|
|
137
|
+
- 所有链接可点击
|
|
138
|
+
- 书签结构完整
|
|
139
|
+
- 文件大小适中
|
|
140
|
+
|
|
141
|
+
请处理并提供转换后的文件。
|
|
142
|
+
en: |-
|
|
143
|
+
I need to convert and optimize this Word document:
|
|
144
|
+
|
|
145
|
+
Source document: {{Source document path}}
|
|
146
|
+
Target format: {{Target format, such as PDF, HTML, etc.}}
|
|
147
|
+
|
|
148
|
+
Conversion requirements:
|
|
149
|
+
1. Maintain original formatting and layout
|
|
150
|
+
2. Optimize fonts and paragraph spacing
|
|
151
|
+
3. Ensure image clarity
|
|
152
|
+
4. Add watermark (optional)
|
|
153
|
+
5. Set page margins and paper size
|
|
154
|
+
|
|
155
|
+
If converting to PDF, please ensure:
|
|
156
|
+
- All links are clickable
|
|
157
|
+
- Bookmark structure is complete
|
|
158
|
+
- File size is appropriate
|
|
159
|
+
|
|
160
|
+
Please process and provide the converted file.
|
|
161
|
+
- id: template-fill
|
|
162
|
+
title:
|
|
163
|
+
zh: 模板填充
|
|
164
|
+
en: Template Filling
|
|
165
|
+
description:
|
|
166
|
+
zh: 使用数据自动填充 Word 模板文档
|
|
167
|
+
en: Automatically fill Word template documents with data
|
|
168
|
+
prompt:
|
|
169
|
+
zh: |-
|
|
170
|
+
请帮我使用以下数据填充 Word 模板:
|
|
171
|
+
|
|
172
|
+
模板文件:{{模板文件路径}}
|
|
173
|
+
数据来源:{{JSON数据或表格数据}}
|
|
174
|
+
|
|
175
|
+
需要替换的占位符:
|
|
176
|
+
- {{姓名}} -> 实际姓名
|
|
177
|
+
- {{日期}} -> 当前日期
|
|
178
|
+
- {{项目名称}} -> 项目名称
|
|
179
|
+
- {{金额}} -> 数值金额
|
|
180
|
+
- {{部门}} -> 部门名称
|
|
181
|
+
|
|
182
|
+
特殊要求:
|
|
183
|
+
1. 保持模板原有格式
|
|
184
|
+
2. 自动计算合计金额(如果有)
|
|
185
|
+
3. 根据数据动态调整表格行数
|
|
186
|
+
4. 添加适当的条件格式
|
|
187
|
+
|
|
188
|
+
请生成填充完成的文档。
|
|
189
|
+
en: |-
|
|
190
|
+
Please help me fill the Word template with the following data:
|
|
191
|
+
|
|
192
|
+
Template file: {{Template file path}}
|
|
193
|
+
Data source: {{JSON data or table data}}
|
|
194
|
+
|
|
195
|
+
Placeholders to replace:
|
|
196
|
+
- {{Name}} -> Actual name
|
|
197
|
+
- {{Date}} -> Current date
|
|
198
|
+
- {{Project Name}} -> Project name
|
|
199
|
+
- {{Amount}} -> Numeric amount
|
|
200
|
+
- {{Department}} -> Department name
|
|
201
|
+
|
|
202
|
+
Special requirements:
|
|
203
|
+
1. Maintain original template formatting
|
|
204
|
+
2. Automatically calculate total amounts (if any)
|
|
205
|
+
3. Dynamically adjust table rows based on data
|
|
206
|
+
4. Add appropriate conditional formatting
|
|
207
|
+
|
|
208
|
+
Please generate the completed filled document.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
© 2025 Anthropic, PBC. All rights reserved.
|
|
2
|
+
|
|
3
|
+
LICENSE: Use of these materials (including all code, prompts, assets, files,
|
|
4
|
+
and other components of this Skill) is governed by your agreement with
|
|
5
|
+
Anthropic regarding use of Anthropic's services. If no separate agreement
|
|
6
|
+
exists, use is governed by Anthropic's Consumer Terms of Service or
|
|
7
|
+
Commercial Terms of Service, as applicable:
|
|
8
|
+
https://www.anthropic.com/legal/consumer-terms
|
|
9
|
+
https://www.anthropic.com/legal/commercial-terms
|
|
10
|
+
Your applicable agreement is referred to as the "Agreement." "Services" are
|
|
11
|
+
as defined in the Agreement.
|
|
12
|
+
|
|
13
|
+
ADDITIONAL RESTRICTIONS: Notwithstanding anything in the Agreement to the
|
|
14
|
+
contrary, users may not:
|
|
15
|
+
|
|
16
|
+
- Extract these materials from the Services or retain copies of these
|
|
17
|
+
materials outside the Services
|
|
18
|
+
- Reproduce or copy these materials, except for temporary copies created
|
|
19
|
+
automatically during authorized use of the Services
|
|
20
|
+
- Create derivative works based on these materials
|
|
21
|
+
- Distribute, sublicense, or transfer these materials to any third party
|
|
22
|
+
- Make, offer to sell, sell, or import any inventions embodied in these
|
|
23
|
+
materials
|
|
24
|
+
- Reverse engineer, decompile, or disassemble these materials
|
|
25
|
+
|
|
26
|
+
The receipt, viewing, or possession of these materials does not convey or
|
|
27
|
+
imply any license or right beyond those expressly granted above.
|
|
28
|
+
|
|
29
|
+
Anthropic retains all right, title, and interest in these materials,
|
|
30
|
+
including all copyrights, patents, and other intellectual property rights.
|