登记注册材料中心
对话式采集信息 → 一次付费 → 拿到一整套 A4 公文排版的工商登记注册 Word 材料。
材料撰写与排版在云端完成,本地不含任何范本。本技能只负责三件事:问清楚、下对单、取回文件。
触发场景
用户说「帮我准备注册公司的材料」「出一份章程」「办个体户要哪些材料」「做个股权转让协议」「公司变更地址,材料准备一下」等,即触发本技能。
不要在用户只是问政策(如「注册资本最低多少」)时触发 —— 那属于政策咨询,若已安装 tax-policy-assistant 技能可直接转交,未安装则先说明本技能只负责出材料。
收费方式(先讲清楚,再动手)
| 项目 | 说明 |
|---|---|
| 计费方式 | 按次计费,9.90 元 / 次(支付宝 AI 付) |
| 一次 = 什么 | 同一次采集的信息生成的全部材料,份数不限(1 份和 20 份同价) |
| 什么时候付 | 你确认「材料清单 + 信息核对表」之后,才进入下单环节 |
| 会否自动扣款 | 不会。本技能只出账单,付款必须由用户本人在支付宝里确认 |
| 首次使用 | 需要开通一次「AI 付」钱包授权(扫一次码,之后免) |
| 付了没拿到 | 生成失败或文件损坏可依据订单号申请退款 |
🔴 铁律:任何时候都不替用户下单、不替用户付款。 出账后把金额和订单号摆给用户看,由用户决定下一步。
运行环境
本技能自带脚本,仅依赖 Python 3 标准库,无需安装任何第三方包。
先按你的环境设定变量,下文命令都基于它:
SK="<本技能目录>" # 即本 SKILL.md 所在目录
PY="python3" # Windows 上若 python3 不可用,改用 PY="py -3"
"$PY" "$SK/scripts/client.py" <子命令>
脚本支持七个动作:
| 子命令 | 作用 | 是否花钱 |
|---|---|---|
catalog |
拉取可选材料清单、常用套餐、字段口径 | 免费 |
wallet |
钱包三步:check 查状态 / apply 开通 / bind 绑授权码 / close 解绑 |
免费 |
quote |
出账单并展示摘要(停在付款确认前,默认动作) | 免费,不扣款 |
pay |
调支付宝官方买家侧 CLI 生成支付入口(二维码 + 链接) | 免费,不扣款 |
prove |
带支付凭证重试同一订单,取回并写出 Word 材料 | 已付过一次则不再扣 |
status |
查单:同一凭证重试一次(幂等,不重复扣费) | 免费 |
run |
一站式:quote →(已有凭证才)prove |
同 prove |
工作流(严格按此顺序)
第 0 步:确认需求
先问清楚,不要猜:
- 办什么事? —— 设立 / 变更 / 备案 / 注销 / 股权转让 / 地址证明 / 名称申报。
- 什么主体? —— 有限公司 / 一人公司 / 个体户 / 合伙企业 / 分支机构。
- 要哪几份? —— 直接描述,或从套餐里挑。
"$PY" "$SK/scripts/client.py" catalog --out catalog.json
输出三块:可生成材料 101 份(按业务场景分组,带 id)、常用套餐(8 套,items 可直接用)、可填字段(83 个,含中文名与填写要求)。
catalog.json 存下来后续查 id 用,不必重复请求。
第 1 步:确定材料清单(items)
从目录里挑出这次要生成的 id 列表:
- 用户说了具体场景 → 用套餐里的
items(如「新设个体户开业:申请书 + 住所证明 + 承诺书」)。 - 用户只要单份 → 直接在目录里找那一份的 id。
- 用户列了一串名称 → 逐个匹配 id,匹配不到的宁可问,不要瞎猜。
把选中的清单用表格摆给用户确认(含 id 与材料全名)。
第 2 步:分批提问(关键体验)
按【企业信息】【人员信息】【出资与股东】【日期与联系】分组,每批 3-5 个问题,不要一次性把十几个问题刷给用户。
提问规范:
- 问题里带上示例和填写要求 —— 口径来自
catalog返回的字段元信息(每项含中文名、示例、rule填写要求)。 - 必填项必须问到;选填项说明「可跳过」,并告知留空的后果(材料里会留
________占位符,打印后手写)。 - 出资比例合计必须 = 100%,认缴合计 = 注册资本;不符时提醒用户修正。
第 3 步:写参数文件 plan.json
{
"mode": "merge",
"items": [{"id": 17}, {"id": 26}, {"id": 38}],
"values": {
"subj": "温州信诺贸易有限公司",
"addr": "温州市鹿城区车站大道100号5楼501室",
"cap": "100",
"opterm": "长期",
"scope": "一般项目:日用百货销售;服装服饰零售。",
"legal": "张明华",
"tel": "13800138000",
"date": "20261009"
},
"shareholders": [
{"name": "张明华", "homeaddr": "温州市鹿城区车站大道100号5楼501室",
"method": "货币", "amount": "70", "ratio": "70", "term": "2046-09-23"},
{"name": "李伟", "homeaddr": "温州市鹿城区市府路1号",
"method": "货币", "amount": "30", "ratio": "30", "term": "2046-09-23"}
],
"roster": {"paidMode": "no"}
}
常用字段 key:
subj=公司名称 · addr=住所 · cap=注册资本(万元)· opterm=经营期限 · scope=经营范围 · uscc=统一社会信用代码 · legal=法定代表人 · tel=联系电话 · date=填表/签署日期 · idno=身份证号 · oldName=原名称 · totalInvest=投资总额
股东字段:name · homeaddr · method(出资方式)· amount(认缴万元)· ratio(比例%)· term(出资期限)· gain(取得资格日期)· lose(丧失资格日期,变更时用)
名册参数 roster:paidMode(yes/no 是否实缴)· paidDate(实缴日期)· num(编号方式)
> 完整字段口径以 catalog 返回的字段元信息为准 —— 那是最权威的一份,别照记忆填。
第 4 步:先核对,再付费
不要跳过这一步直接下单。 先把填入内容整理成 Markdown 表格给用户核对:
## 将生成 3 份材料(一次 9.90 元)
| # | 材料名称 |
|---|---|
| 17 | 个体工商户开业登记申请书 |
| 26 | 企业住所信息申报承诺书 |
| 38 | 个体工商户名称预先核准申请书 |
### 信息核对表
| 项目 | 内容 |
|---|---|
| 企业名称 | 温州信诺贸易有限公司 |
| 住所 | 温州市鹿城区车站大道100号5楼501室 |
| 注册资本 | 100 万元 |
| 法定代表人 | 张明华 |
| 股东 | 张明华 70% / 李伟 30% |
请核对以上信息。确认无误后我会出账单,由你完成支付。
用户确认后才进入第 5 步。
第 5 步:出账单(quote)
"$PY" "$SK/scripts/client.py" quote --plan plan.json
脚本会把金额、订单号、商户、支付截止时间打出来。把金额与订单号复述给用户,并明确告知「现在还没有扣款」。
若返回 400 参数校验未通过,说明材料清单或字段格式有问题 —— 脚本会逐项列出「哪个字段、什么问题」,修正后重试即可,这一步不会产生任何费用。
第 6 步:付款(pay)
"$PY" "$SK/scripts/client.py" wallet check # 先看钱包开通状态
"$PY" "$SK/scripts/client.py" wallet apply # 没开通则申请,出「开通码」
"$PY" "$SK/scripts/client.py" wallet bind --code <6位授权码>
"$PY" "$SK/scripts/client.py" pay --state-file .pay-state.json
wallet apply会生成一张wallet-bind-*.png—— 用 present_files 打开给用户扫,让用户在支付宝里确认开通。pay会生成一张payment-confirm-*.png—— 同样打开给用户扫,用户确认后钱才真正付出。- 付款入口由支付宝官方 CLI 生成,脚本本身不构造支付链接、不碰支付凭证。
第 7 步:取回材料(prove)
用户在支付宝里付完后,拿到凭证再取货:
"$PY" "$SK/scripts/client.py" prove --state-file .pay-state.json \
--proof "<Payment-Proof>" --outdir "<用户指定目录>"
脚本会把返回的材料写成 Word 文件,并打印文件名、材料份数、字节数、内含材料清单。
拿到文件后 用 present_files 打开给用户查看,并告知:
- 材料清单(逐份列出)
- 文件位置
- 打印要求(A4,股东名册是横版)
> 同一订单重复 prove 是幂等的 —— 不会重复扣费,返回的文件字节完全一致。用户说「没收到/再发一次」时直接重跑,不用担心。
校验规则(下单前服务端会自动把关)
不合规的参数不会出账单,用户不会被扣费。服务端返回 400 + 逐项问题清单:
| 字段 | 规则 |
|---|---|
| 统一社会信用代码 | GB 32100 模31 校验位,18 位 |
| 身份证号 | GB 11643 模11 校验位,18 位,含出生日期合法性 |
| 注册资本 | 数字,> 0,最多两位小数 |
| 联系电话 | 11 位手机号 |
| 股东出资比例 | 各股东合计应为 100 |
| 材料清单 | items 至少一项且能匹配到材料 |
把报错原样转述给用户(含字段中文名与原因),让其修正后重新走第 4 步。
输出格式规格
生成的是标准 A4 公文 Word,与线下提交格式一致:
- A4 竖版 210×297mm,页边距 上下 2.54cm / 左右 3.18cm
- 标题 黑体二号居中;正文 宋体小四
- 行距 1.5 倍;正文首行缩进 2 字符
- 署名/日期行自动右对齐;签署栏左对齐
- 股东名册为横版表格(A4 横向,10 列),与竖版材料自动分节
mode=merge(默认)多份材料合并为一册;mode=separate 每份独立成文件。
隐私与数据
- 生成过程在云端完成,本地不留任何范本与生成结果(只保留你
--outdir指定的成品)。 - 为支持「重复取货不重复扣费」的幂等重放与售后对账,订单会留存本次提交的信息。
需要清理时联系技能作者,凭订单号处理。 - 身份证号、统一社会信用代码等敏感字段仅用于本次材料生成,不用于任何其他用途。
常见问题
Q:用户只想要一份材料,不是套餐?
A:可以。items 里放一个 id 即可,价格同样是 9.90 元/次。
Q:材料里有「________」占位符?
A:该字段用户没填且属选填。告知用户:可以现在补填重下一次,也可以打印后手写。
Q:股权转让的甲方乙方怎么填?
A:transferor=转让方(出让人)、transferee=受让方。相关字段:aId/aAddr(转让方证件/住所)、bId/bAddr、holdPct(原持有比例)、trPct(本次转让比例)、price(转让价格)。
Q:章程治理参数(董事任期、章程份数)?
A:有默认值(董事任期 3 年、章程份数 2 份),用户不说就按默认。股东人数自动由股东名录长度得出。
Q:报错 serviceId 是占位符 / 无法生成账单?
A:说明技能作者侧的服务还没配置完(不是用户的问题)。把原始报错转给作者,不要反复重试。
Q:用户问能不能不上传、只在本地生成?
A:明确说明:材料模板与排版在服务端,本地不含源数据,因此必须联网 + 按次付费。若用户需要纯本地方案,建议改用其他工具。
数据结构
<SK>/
├── SKILL.md
└── scripts/
└── client.py # 调用方脚本:catalog / wallet / quote / pay / prove / status / run
本技能不包含材料模板与本地方案 —— 这是按次计费的前提:拿到包也运行不出材料,必须走一次支付。