写作与公文
需要创建交互式文档表单、问卷或引导式文档生成时使用…
在 docassemble 中创建多步骤、条件化、可生成文档的表单和问卷。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要创建交互式文档表单、问卷或引导式文档特定
解决思路
- 用 docassemble 平台创建智能文档表单和引导式访谈,使问卷能根据回答生成文档。
- 描述你需要的表单或文档。
- 指定条件逻辑需求。
- 创建 docassemble interview YAML。
- 在 YAML 中用 metadata 设置 title 和 short title,例如 title: Client Intake Form、short title: Intake。
- 用 --- 分隔 interview 中的不同问题块或区块。
- 用 question 写问题正文,用 fields 定义字段列表,例如 - First Name: first_name、- Last Name: last_name。
- 用 field 定义单个选择题字段,例如 field: service_type,并用 choices 列出选项 Contract Review、Document Drafting、Consultation。
- 用 mandatory: True 标记最终或必须完成的页面。
- 用 subquestion 添加补充说明或总结内容。
- 在 question 或 subquestion 中用 ${ first_name }、${ service_type } 等模板变量引用用户答案。
- 用 if 按条件显示问题,例如 if: client_type == "Business" 时显示 company_name 和 EIN 字段。
- 用 if 按另一条件显示问题,例如 if: client_type == "Individual" 时显示 birthdate 字段。
- 将非必填字段设为 required: False,例如 EIN: ein 后加 required: False。
- 将日期字段设为 datatype: date,例如 Birthdate: birthdate 后加 datatype: date。
- 文本字段直接写名称和变量,例如 - Name: name。
- 电子邮件字段用 datatype: email,例如 - Email: email 后加 datatype: email。
- 整数字段用 datatype: integer,例如 - Age: age 后加 datatype: integer。
- 货币字段用 datatype: currency,例如 - Amount: amount 后加 datatype: currency。
- 日期字段用 datatype: date,例如 - Start Date: start_date 后加 datatype: date。
- 是/否字段用 datatype: yesno,例如 - Agree to terms?: agrees 后加 datatype: yesno。
- 多选字段用 choices,例如 - Color: color 下列出 Red、Blue、Green。
- 复选框字段用 datatype: checkboxes,并用 choices 列出 Option A、Option B。
- 文件上传字段用 datatype: file,例如 - Upload document: document 后加 datatype: file。
- 用 attachment 生成文档,并设置 name、filename、content。
- 在 attachment.content 中用 Markdown 写文档内容,并用 ${ client_name }、${ service_description }、${ currency(amount) }、${ today() } 等模板变量插值。
- 用 objects 定义对象,例如 objects: - client: Individual。
- 在字段中引用对象属性,例如 client.name.first、client.name.last、client.email、client.phone。
- 根据 matter_type 显示条件分支,例如 if: matter_type == "contract" 时显示 Contract Details。
- 在合同详情分支中定义 contract_type 选择 Employment、Service Agreement、NDA,并定义 other_party、contract_value;contract_value 使用 datatype: currency。
- 在欢迎/介绍页用 subquestion 显示说明,并用 continue button field: intro_screen 控制继续按钮。
- 在最终 mandatory: True 页面用 subquestion 输出总结,例如 Name、Email、Matter,并说明会在 24 小时内联系。
- 参考 docassemble Documentation 和 GitHub Repository 获取更多实现细节。
适用边界 · 注意事项
- 需要使用 docassemble 环境;如果不使用 docassemble 或无法部署/运行 docassemble interview,则不适用。
- 只需要静态文档、无交互、无条件分支时,不适用。
- 必须直接使用 Word/Office 模板填充、不能引入 docassemble 平台时,不适用。