Initial commit: GovAI 政务AI平台

This commit is contained in:
freedakgmail
2026-06-15 23:48:37 +08:00
commit 0f490f72a9
245 changed files with 51669 additions and 0 deletions
+316
View File
@@ -0,0 +1,316 @@
# 应用类型标准规范
本文档定义了政智通平台各类型应用的数据格式、UI模式和配置标准。新增应用时必须按照对应类型的标准配置。
---
## 一、对话型 (chatbot)
**UI 模式:** 左侧对话历史列表 + 中间对话区域 + 底部输入框
**适用场景:** 政策问答、法规咨询、通用问答类应用
### 数据库字段标准
| 字段 | 必填 | 说明 |
|------|------|------|
| `dify_app_type` | ✅ | 值为 `chatbot` |
| `welcome_message` | ✅ | 首次进入时的欢迎语,如"您好!我是XXX助手。" |
| `suggested_prompts` | ✅ | JSON数组,3-4条推荐提问,显示为可点击按钮 |
| `app_config.system_prompt` | ✅ | 系统提示词,定义AI角色和回答风格 |
| `app_config.model` | 可选 | 模型名称,默认 `qwen-plus` |
| `app_config.temperature` | 可选 | 温度参数,问答类建议 0.2-0.4 |
| `app_config.max_tokens` | 可选 | 最大输出token数 |
### 示例配置
```json
{
"app_config": {
"system_prompt": "你是一个政策法规智能问答助手,熟悉中国各级政府的法律法规和政策文件。请准确、严谨地回答用户的政策法规相关问题。",
"model": "qwen-plus",
"temperature": 0.3,
"max_tokens": 4000
},
"welcome_message": "您好!我是政策法规智能问答助手。您可以向我咨询各类法律法规和政策条款。",
"suggested_prompts": [
"最新的行政处罚法有哪些变化?",
"营商环境优化相关政策有哪些?",
"政府信息公开条例的适用范围?"
]
}
```
### UI 截图要素
- 顶部:应用图标 + 应用名称 + 描述 + 右侧类型标签"对话型"
- 左侧:`+ 新对话` 按钮 + 对话历史列表
- 中间:欢迎消息气泡 + 推荐提问按钮
- 底部:输入框 + 发送按钮
---
## 二、公文写作型 (chatbot + DOC_WRITER_SLUGS)
**UI 模式:** 公文类型卡片网格 + 底部输入框
**适用场景:** 公文拟稿、公文写作助手
**触发条件:** `slug` 必须加入前端 `DOC_WRITER_SLUGS` 集合
### 数据库字段标准
| 字段 | 必填 | 说明 |
|------|------|------|
| `dify_app_type` | ✅ | 值为 `chatbot` |
| `slug` | ✅ | 必须注册到前端 `DOC_WRITER_SLUGS`,如 `official-doc-writer``fagai-doc-writer` |
| `app_config.system_prompt` | ✅ | 包含《党政机关公文格式》(GB/T 9704) 相关指引 |
| `welcome_message` | ✅ | 如"您好!我是公文写作助手" |
| `suggested_prompts` | ✅ | 公文写作相关的推荐提问 |
### 前端注册
`apps/web/src/app/(portal)/chat/[appId]/page.tsx` 中:
```typescript
const DOC_WRITER_SLUGS = new Set(["official-doc-writer", "fagai-doc-writer"]);
```
### 示例配置
```json
{
"app_config": {
"system_prompt": "你是一个专业的公文写作助手,精通《党政机关公文格式》国家标准(GB/T 9704)。请按照规范格式帮助用户拟稿各类公文。"
},
"welcome_message": "您好!我是公文写作助手。我可以帮您拟稿各类公文,并确保格式符合标准。",
"suggested_prompts": [
"帮我起草一份工作通知",
"拟一份关于年度总结的报告"
]
}
```
### UI 截图要素
- 顶部:应用图标 + 名称 + 描述 + 右侧"公文写作"标签
- 左侧:`+ 新建公文` 按钮 + 历史记录
- 中间:**选择公文类型**标题 + 12种公文类型卡片网格(通知、请示、报告、批复、函、通报、意见、决定、会议纪要、公告、科技项目申报通知、科技奖励通报)
- 底部:输入框 + 发送按钮
---
## 三、工作流型 (workflow)
**UI 模式:** 步骤进度条 + 分步表单 + 上一步/下一步按钮
**适用场景:** 按步骤收集信息后生成报告/方案的应用
### 数据库字段标准
| 字段 | 必填 | 说明 |
|------|------|------|
| `dify_app_type` | ✅ | 值为 `workflow` |
| `app_config.app_type` | ✅ | 值为 `workflow` |
| `app_config.steps` | ✅ | JSON数组,定义每个步骤的表单字段 |
| `app_config.system_prompt` | ✅ | 系统提示词 |
| `welcome_message` | 可选 | 步骤开始前的提示语 |
### steps 字段格式
每个step包含:
```json
{
"key": "字段标识",
"label": "步骤标题",
"type": "text | textarea | select",
"description": "步骤描述(可选)",
"placeholder": "输入提示",
"required": true,
"options": ["选项1", "选项2"] // type为select时必填
}
```
### 示例配置
```json
{
"app_config": {
"system_prompt": "你是项目可行性研究专家。请根据用户提供的项目信息,生成专业规范的可行性分析内容。",
"model": "qwen-plus",
"temperature": 0.3,
"max_tokens": 6000,
"app_type": "workflow",
"steps": [
{
"key": "project_name",
"label": "项目名称",
"type": "text",
"placeholder": "如:XX产业园基础设施建设项目",
"required": true
},
{
"key": "project_type",
"label": "项目类型",
"type": "select",
"options": ["基础设施", "产业发展", "社会事业", "生态环保", "科技创新"],
"required": true
},
{
"key": "background",
"label": "项目背景",
"type": "textarea",
"placeholder": "项目建设的背景、必要性、政策依据等",
"required": true
}
]
}
}
```
### UI 截图要素
- 顶部:返回按钮 + 应用图标 + 名称 + 描述 + 右侧"工作流"标签
- 步骤条:圆形标记 + 步骤名称 + 箭头连接
- 表单区域:步骤标题 + 输入控件(文本框/选择器/多行文本)
- 底部:上一步/下一步按钮
---
## 四、补全型 (completion)
**UI 模式:** 左侧输入区 + 右侧输出区
**适用场景:** 文本处理、摘要提取、翻译等单次输入输出型应用
### 数据库字段标准
| 字段 | 必填 | 说明 |
|------|------|------|
| `dify_app_type` | ✅ | 值为 `completion` |
| `app_config.input_label` | ✅ | 输入区域标题,如"文件内容" |
| `app_config.output_label` | ✅ | 输出区域标题,如"核心摘要" |
| `app_config.input_placeholder` | ✅ | 输入框占位文本 |
| `app_config.system_prompt` | ✅ | 系统提示词 |
### 示例配置
```json
{
"app_config": {
"input_label": "文件内容",
"output_label": "核心摘要",
"system_prompt": "你是一个政务文件分析专家。请对提供的文件进行分析,输出包含:一句话概要、核心要点、关键数据摘录、政策影响分析、行动建议。",
"input_placeholder": "粘贴需要提取摘要的文件内容..."
}
}
```
### UI 截图要素
- 顶部:应用名称 + 描述 + 右侧类型标签"补全型"
- 左侧:输入标签 + 大文本输入框
- 右侧:输出标签 + 结果展示区域
- 底部:提交按钮
---
## 五、智能体型 (agent)
**UI 模式:** 类似chatbot,但带有工具调用能力展示
**适用场景:** 需要调用多个工具进行综合分析的应用
### 数据库字段标准
| 字段 | 必填 | 说明 |
|------|------|------|
| `dify_app_type` | ✅ | 值为 `agent` |
| `app_config.tools` | ✅ | 可用工具列表,如 `["数据检索", "趋势分析", "报告生成"]` |
| `app_config.system_prompt` | ✅ | 包含工具调用说明的系统提示词 |
| `welcome_message` | ✅ | 说明具备的能力 |
| `suggested_prompts` | ✅ | 推荐提问 |
### 示例配置
```json
{
"app_config": {
"tools": ["数据检索", "趋势分析", "对比分析", "报告生成"],
"system_prompt": "你是一个综合研判智能体,服务于政府部门的数据分析和决策支持。你具备以下工具能力:1.数据检索 2.趋势分析 3.对比分析 4.报告生成。"
},
"welcome_message": "您好!我是综合研判智能助手。我具备数据检索、趋势分析、对比分析和报告生成等能力。",
"suggested_prompts": [
"分析本季度经济运行数据",
"对比去年同期各项指标变化"
]
}
```
### UI 截图要素
- 顶部:应用图标 + 名称 + 描述 + 右侧"智能体"标签
- 左侧:`+ 新对话` 按钮 + 对话历史
- 中间:欢迎消息(含能力说明)+ 推荐提问 + 工具调用标记展示
- 底部:输入框 + 发送按钮
---
## 六、PPT生成型 (ppt_generator)
**UI 模式:** 文件上传/文本输入 + PPT预览
**适用场景:** 将文档/文本内容转换为PPT
### 数据库字段标准
| 字段 | 必填 | 说明 |
|------|------|------|
| `dify_app_type` | ✅ | 值为 `ppt_generator` |
| `app_config.app_type` | ✅ | 值为 `ppt_generator` |
| `app_config.default_config` | ✅ | PPT默认配置(风格、格式、页数等) |
| `welcome_message` | ✅ | 说明支持的输入方式 |
### 示例配置
```json
{
"app_config": {
"app_type": "ppt_generator",
"system_prompt": "你是一个专业的演示文稿设计专家。",
"default_config": {
"style": "general",
"format": "ppt169",
"page_count": 10,
"with_images": true
}
},
"welcome_message": "您好!我是智能PPT生成助手。请上传源文件或粘贴文本内容,我将为您生成专业的PowerPoint演示文稿。"
}
```
---
## 通用规范
### 分类图标与颜色
所有机构的相同类型分类应使用统一的图标和颜色,在 `apps/web/src/lib/category-config.ts` 中配置:
| 分类类型 | 图标 | 颜色 |
|---------|------|------|
| 公文写作 | `FileSignature` | `bg-blue-100 text-blue-800` |
| 政策解读 | `Scale` | `bg-indigo-100 text-indigo-800` |
| 数据分析 | `BarChartBig` | `bg-emerald-100 text-emerald-700` |
| 便民服务 | `HeadphonesIcon` | `bg-amber-100 text-amber-700` |
| 组织人事 | `UserCog` | `bg-sky-100 text-sky-700` |
| 招商引资 | `TrendingUp` | `bg-violet-100 text-violet-700` |
| 翻译外事 | `Languages` | `bg-teal-100 text-teal-700` |
| 综合应用 | `LayoutGrid` | `bg-gray-100 text-gray-700` |
### 命名规范
- 新机构分类slug格式:`{机构缩写}-{功能}`,如 `fagai-writing``gongan-policy`
- 应用名统一使用"XX助手"或"XX生成"格式
- 同类应用跨机构使用相同名称(如所有公文写作应用都叫"公文写作助手")
### 详情页 long_description 格式
使用 Markdown 格式,推荐结构:
```markdown
## 功能介绍
简要描述功能:
- 功能点1
- 功能点2
- 功能点3
## 使用方法
使用说明文字。
```