政策与解答 · 运营录入手册
照着做就能把政策/解答发到前台。不需要懂代码,也不需要碰数据库。
noindex,不会被搜索引擎收录)。入口地址末尾那串随机路径
是后台专用的,不要发到群里、不要写进对外文档。
一、入口在哪
打开浏览器,输入下面这个地址(建议直接收藏):
https://www.daoshui.com/ops-7ae49bf87366e77962ec5ab4/policy也可以从后台首页点导航里的「政策与解答」进去。打开后如果要求登录,就用后台账号登录 —— 和审核服务商、看订单是同一套账号。
登录后页面顶部标题是「政策与解答 · 运营后台」,下面分几块:
- 今日速递(最上面)—— 每天采集进来的待审条目,在这里核对后一键发布(见第三节)
- ① 政策 / 法规速递 —— 一条一条手工录入正式文件(前台对应「政策」栏)
- ② 常见解答(QA) —— 放用户常问问题的解答(前台对应「常见解答」栏)
二、发一条政策(逐步操作)
第 1 步:选来源
「官方来源 sourceKey」下拉里选这条政策出自哪个机关。来源清单以生产库
policy_sources 实表为准(2026-11-11 实测 10 行,数量会随登记增减,
不要在本手册里写死)。种子文件另登记了「人力资源和社会保障部(mohrss)」,
但该源实测整站反爬、已停用(enabled=false)、且未在生产插入,
生产下拉里不会有它 —— 本次也不会在生产执行种子 SQL,所以生产表不会因此多一行。
省事 选对机关就行,不用自己填网址。新增来源请走种子 SQL 并走部署流程, 先确认列表页可达(见第三节哪些源真能采到),不要在手册里记「共几个来源」。
第 2 步:填标题和来源链接
| 字段 | 怎么填 |
|---|---|
| 标题(必填) | 照抄政策原文标题。别自己改写成「XX政策解读」 |
| 来源链接(必填) | 粘贴 gov.cn 上的原文网址。同一个链接只能录一条,重复会被拒 |
第 3 步:填「发布必填项」
这三项不填就不能发布(能存成「待审」,但发不出去):
| 字段 | 怎么填 |
|---|---|
| 发文机关 | 如「国家税务总局」 |
| 发布日期 | 选日期,就是文件上盖的那个日期 |
| 来源链接 | 第 2 步已填,会一起校验 |
第 4 步:可选字段(有就填,没有就留空)
- 文号 —— 如「财税〔2026〕1号」
- 生效日期 —— 文件写明哪天开始执行
- 摘要 —— 一句话说清这条政策讲了啥
写了会被系统直接拒。原因:这三个词会让读者以为是我们平台在替官方下结论,属误导。 想表达政策的意思,就直接陈述文件内容,别加这类帽子。
第 5 步:保存 → 发布
- 点「保存」。此时状态是「待审」。
- 在下方「政策列表」里找到这条,状态列显示「待审」。
- 点这一行的「发布」按钮。
- 状态变成「已发布」,前台立刻能看到。
系统不区分「谁审谁发」,同一个账号点「发布」就是审核通过 + 上线。 如果你需要「一人录、另一人审」,告诉我,我再加审核流。
改错了怎么办
| 情况 | 做法 |
|---|---|
| 还没发布 | 列表里点「编辑」直接改 |
| 已经发布了 | 先点「撤回」回到「已通过」,这时才能编辑;改完再点「发布」 |
| 整条不要了 | 点「删除」(硬删除,不可恢复,慎用) |
系统会拦住「直接编辑已发布政策」,必须先撤回 —— 这是为了防止读者正在看的政策被悄悄改掉。
三、每日自动采集与一键发布
除了上面「一条一条手工录」,政策还有一条每天走一遍的流程。记住一句话:
采集是自动的,发布永远是人工点一下 —— 后台里没有任何「自动发布 / 定时发布」开关,
所有采集条目恒为 pending_review。
2026-11-11 生产实测:哪些源真能采到
生产端已用真实 parseList 逐页实测(不是看页面字节数,也不是读
<meta> 年份)。按 2026-11-11 当天实测,能采到条目的只有财政部(mof)
与国家医疗保障局(nhsa)两个源,其余源一律「留空 + 记日志 + 人工补录」,绝不拿旧文件凑数。
下面所有条数、日期都是当天实测快照,会随源站改版变化,日常以采集日志和「今日速递」面板
实际显示的候选为准,不要拿这一节的数字当固定值。
| 源 | 2026-11-11 实测(快照,会随源站改版变化) |
|---|---|
| 财政部 mof 能采 |
https://www.mof.gov.cn/zhengwuxinxi/zhengcefabu/:2026-11-11 实测 16 条,
日期全命中,当时最新 2026-11-11;覆盖财税,含「财政部 税务总局」联合发文。 |
| 国家医疗保障局 nhsa 能采 |
https://www.nhsa.gov.cn/col/col104/index.html:2026-11-11 实测 36 条真实规范文件
(列表开头几条是栏目导航,会被过滤掉);覆盖医保 / 社保基金,当时最新 2026-09-15。 |
抓不到、按硬规则「留空 + 日志 + 人工补录」的源(逐个原因):
- 国家税务总局:原「最新文件」栏目停更在 2021-06-29;法规库与主站列表页 均为 JS 框架,正则抽不到链接。
- 市场监管总局(工商):全站列表页走 JS/AJAX,首页全是新闻稿,抽不到规范文件。
- 人社部(养老 / 失业 / 工伤 / 劳动关系):整站反爬,连首页都返回
EO_Bot_SsidJS 挑战页。 - 中国政府网「最新政策」
gov.cn/zhengce/zuixin/:JS 空壳;页面里的 「2026-11-10」只是<meta>的页面生成时间, 不是政策发布日期,不能据此判定当天有新文件。 - 人大网 npc:空壳页,法律库已迁至 SPA 站点,服务端没有可解析的列表。
- 财税:能自动采。
- 社保:只覆盖医保侧(nhsa);养老 / 失业 / 工伤抓不到。
- 工商:抓不到。
已知采集器限制(避免误判)
- 标题含新闻稿 / 大赛 / 征集 / 答记者问时可能被抽进待审,靠人工审核拦下,别直接发布。
- 畸形日期(如
2026-02-00、2026-9-15)会被置空; 发布日期不全的条目在发布时被合规校验拦下。 - 所有采集条目恒为
pending_review,绝不自动发布;没有「采集完就上线」的代码路径。
每天的顺序
- 08:05 自动采集。服务器定时任务去各官方源列表页抓当天的新文件, 抓到的条目全部进「待审」(state=pending_review,按入库时间算「今日」), 不会直接出现在前台。
- 进后台核对。打开「政策与解答」后台,最上面是「今日速递」面板, 点「刷新候选」能看到:日期、今日待审 N 条、可发布 M 条、被拦 K 条。
- 展开候选清单逐条看。清单里列出标题 / 来源 / 发布日期 / 合规预检 / 拦下原因。 「可发布」的默认勾选,可用「全选 / 全不选」调整;被拦下的不能勾选,右侧写明具体原因。
- 点「发布今日速递」。先弹确认框(将发布几条、拦下几条、超出 15 条留待审), 确认后才真正发布。发布后网站「政策速递」页自动可见(只取 state=published), 不用改网站、不用发版;但小程序「新规速递」目前仍是示例数据, 需要另一次小程序发版才切换,别以为发了就全端可见。
数量口径(5–15 条)
| 情况 | 怎么处理 |
|---|---|
| 数量不固定 | 热点多就多、少就少。保持 5–15 条是目标区间,不是强制凑数; 以实际采到且合规通过的条数为准。 |
| 不足 5 条 | 有几条发几条,照实发,不硬凑、不拿旧数据补。按 2026-11-11 实测, 目前只有财税、医保侧能采到,偏少是常态;面板会明确提示今日仅 N 条、少于目标 5 条并让去看采集日志, 按上面「哪些源抓不到」的清单判断要不要人工补录,别自己编内容补数。 |
| 超过 15 条 | 一次最多发 15 条(按发布日期从新到旧),超出的留在待审,次日再发。 |
| 0 条 | 「发布今日速递」按钮禁用,面板说明今日暂无待审候选;不会写入任何行。 |
「被拦下」的原因怎么看
候选清单每行都有「合规预检」和「拦下原因」两列,被拦条目显示具体原因。常见原因:
- 征求意见稿 / 草案 —— 不得作为「已生效法规」发布,系统一律拦下。
- 发文机关 / 原文链接 / 发布日期不全 —— 含畸形日期被置空的采集条目,补齐后再发。
- 原文链接不在官方白名单 —— 链接域名必须在采集器内置的官方源白名单内 (gov.cn 官方域名及其子域),二手转载站、聚合站一律不收。
- 示例 / 演示数据 —— 标题带【示例】或带 demo 标记的条目根本不进候选,绝不公网发布。
- 摘要含官方背书词 —— 「官方解读 / 官方推荐 / 权威解读」被库层约束拦下。
服务端在真正发布前会重新按同一套规则查一遍、校验一遍,不采信页面传过来的状态, 所以页面显示「可发布」也不代表一定能发;单条发布失败不影响其他条,会记在返回结果里。
- 任一官方源抓取失败 → 留空 + 记日志 + 人工补录,绝不拿缓存旧文件冒充新规。
- 征求意见稿不得作为已生效法规发布。
- 示例 / 演示条目不得公网发布。
- 绝不自动发布:没有自动 / 定时发布开关,每天必须人工在后台点一下。
关于审核人:后台是单管理员账号,不区分「谁审谁发」, 审核人(reviewer)固定记为 admin,不按登录人分别记录。
四、发一条解答(QA)
结构一样,但简单得多:
| 字段 | 说明 |
|---|---|
| 问题(必填) | 用户实际会怎么问,就怎么写。如「小规模纳税人季度申报要报哪些表?」 |
| 答案(必填) | 解答正文,可以分点,换行分开就行 |
| 分类 | 可选,如「发票」「申报」「注册」 |
「演示条目」是什么
- 第一次试用、想看排版效果时,可以勾上,随便填点内容。
- 勾了「演示条目」的,点发布会直接被拒,提示你改成非演示。
- 前台永远不展示演示条目。
- 正式要发的,千万别勾这个框。
五、发完怎么核对
- 打开 https://www.daoshui.com/policy.html
- 确认刚发的内容出现在列表里
- 点开看详情,检查标题、机关、日期、链接对不对
- 顺手试试「撤回」—— 前台会立刻消失,这也是验证撤回生效的办法(验完记得再发回去)
六、常见报错对号入座
| 报错 | 原因与处理 |
|---|---|
| 该来源链接已存在一条政策(指纹冲突) | 这条链接之前录过了。去列表里找到它,直接编辑那一条,不要重复新建。 |
| 发布条件不满足 / 发布机关、原文链接、发布日期不全 | 发布前合规校验或库层护栏拦下了:三个必填项(发文机关、发布日期、来源链接)漏了哪个就补哪个, 链接还要在已登记的官方源白名单内。「咨询类」= 征求意见稿,按硬规则一律不得作为已生效法规发布,不会放开。 |
| 摘要不得含官方解读/官方推荐/权威解读 | 把摘要里这几个词删掉,改成直接陈述。例: 错「官方解读:小规模纳税人免征增值税」 对「小规模纳税人月销售额 10 万元以下免征增值税」 |
| 请先登录 | 登录态过期了。刷新页面重新登录。 |
| 列表是空的 | 生产库里已经有政策了(2026-11-10 人工录入并发布 5 条),正常情况下列表不会是空的。 如果真的空了,多半是登录态或读取出问题,刷新重试;别以为「本来就没数据」而重复录入。 |
七、第一批建议录什么
2026-11-11 更新:生产库已有 5 条人工录入并已发布的政策, 且每日采集 + 一键发布已上线。下面是补录 / 选题建议,不是从零起步;别把这 5 条重复录一遍。
政策(3~5 条)
- 最近一期小规模纳税人增值税减免政策
- 最近一期小型微利企业所得税优惠
- 个人所得税经营所得汇算清缴的公告
- 电子发票全面数字化相关公告
解答(5~8 条) —— 挑用户电话里问得最多的:
- 小规模纳税人季度申报要报哪些表
- 零申报能不能一直报
- 公司刚注册没业务要不要记账报税
- 发票丢了怎么处理
- 一般纳税人能不能转小规模
- 税务异常了怎么解除
gov.cn / chinatax.gov.cn 原文抄,不要凭印象写。
摘要不确定就留空 —— 空着不违规,写错才麻烦。
八、合规三条红线(务必遵守)
- 来源必须是官方。只录 gov.cn、chinatax.gov.cn 等机关官网发布的原文,链接要能打开。
- 摘要不替官方下结论。不用「官方解读」「官方推荐」「权威解读」,改成平实陈述。
- 演示条目绝不发布。带「演示」标签的内容永远只在内网自测用。
九、违禁词拦截(2026-11-10 起生效)
用户能自己写字的地方,现在都会在提交时过一遍违禁词检查,命中就退回让他改。 涉及的位置:需求大厅(发布需求、接单说明)、咨询工单、服务商机构介绍、服务商与客户对话、 活动文案、组织成员显示名。
词表在服务器的 /opt/ds/server/data/content-guard-words.json, 按涉黄 / 涉政 / 暴力 / 违法 / 诈骗 / 辱骂分了 6 组。改完保存即生效,不用重启服务。
加词注意两条:
- 别加单个字。「色」会连带拦掉「颜色」「特色」,「枪」会拦「水枪」「枪手」。
- 别加会在法规标题里正常出现的基础词。比如「洗钱」——「反洗钱申报」是人行对企业的法定要求, 按词面拦会把正常咨询也挡住。系统已做了合规语境豁免(旁边出现「许可/备案/法规/责任」等词时放行), 但词表里放词仍然要挑「指向非法行为的词组」,例如「帮你洗钱」而不是「洗钱」。
政策 / 解答后台不做拦截,只在日志里提示,不阻断保存 —— 因为《禁毒法》《枪支管理法》《海关法》这些法规标题本身就含敏感词,拦了运营就录不进法规。
十、公众号推送使用说明(2026-11-12 新增)
平台往公众号推东西有两条完全不同的路,别混:
| 方式 | 谁触发 | 说明 |
|---|---|---|
| 订阅消息 (政策速递) |
每天 8:12 自动 | 只发给主动点过「允许」的用户,一条消息对应一次授权,发完即失效。 |
| 群发图文 (平台通知) |
你手动点 | 发给全部粉丝。需认证服务号,且每月有次数上限,后台卡着配额,超了发不出去。 |
一次性订阅最容易踩的坑:一次授权只能收一条。 用户点一次「允许」,你就只能给他发一条政策速递;想再发,他得再点一次。 同一个人授权三次,就是三条,不会累积成「以后天天都能发」。 所以「政策速递」做成每天只发一条摘要,不是一天推十条——推十条的结果是 第二条起全部失败,用户还觉得你在骚扰。
用户侧的授权动作长这样:
- 用户在我们页面点「订阅政策速递」,服务端返回一个微信授权链接
(
/api/mp/subscribe/url生成,形如mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=…&scene=…&template_id=…)。 - 用户在微信里点「允许」,微信把 openid、scene、action 回跳到
/api/mp/subscribe/callback。 - 服务端把这条授权写进
mp_subscriptions表(同一 openid + 模板只留一行), 然后 302 回政策页,页面上会带?sub=ok或?sub=cancel。 - 每天 8:12 定时任务把「最近 24 小时新发布」的政策摘要发给这些授权用户, 发成功一条就删掉一条授权。
要配的 4 个环境变量(在 /etc/ds-mp.env,
改完要 systemctl restart ds-mp 才生效):
| 变量 | 必填 | 作用 |
|---|---|---|
MP_TMPL_POLICY | 必填 | 一次性订阅模板 ID。在微信后台「订阅通知 → 一次性订阅」里申请,模板内容类型选「通知类」。 |
MP_SUB_SCENE | 建议填 | 授权场景值,缺省 policy。必须与生成授权链接时用的值一致,否则发送报 47003。 |
MP_SITE_BASE | 选填 | 回跳与消息落地页的站点前缀,缺省 https://www.daoshui.com。 |
MP_APPID / MP_APPSECRET | 已有 | 公众号的,和之前绑定用的是同一对,不用另配。 |
定时任务(服务器 crontab 一行):
12 8 * * * cd /opt/ds/server && set -a && . /etc/ds-mp.env && set +a && node policy-pusher.js --run >> /var/log/ds/policy-push.log 2>&1
cron 不继承 systemd 的环境变量,少了 set -a && . /etc/ds-mp.env && set +a
这段,脚本会直接报「缺少 DS_DB_URL」退出。这条命令一个字都别省。
上线前先预演一次(不真发):
cd /opt/ds/server && set -a && . /etc/ds-mp.env && set +a && node policy-pusher.js --dry-run
它会真的去查库、查授权,把「会发给谁、scene 是什么、正文长什么样」打出来, 只是不调微信接口、不删授权。模板字段写错、scene 对不上,这一步就能看出来。
群发图文怎么发:运营后台首页有「群发图文(手动)」卡片, 填标题、摘要、正文、封面图地址,点发送。发之前系统会查本月已用次数,超限直接拦下并告诉你 还剩几次。这条路只用于平台自己的通知(比如规则调整、系统维护),不要拿它发政策速递, 也不要发促销。
报错对号入座:
| 错误码 | 含义与处理 |
|---|---|
| 43101 | 用户未授权,或这次授权已经被用掉了。属于正常现象(一次性订阅就是这样), 脚本会自动把这条授权清掉,不用管。 |
| 47003 | 参数不合规:scene 与授权时不一致、标题超过 15 字、正文超过 200 字,
或模板字段名不对。检查 MP_SUB_SCENE 和模板。 |
| 40003 | openid 非法。多半是测试时手填了假 openid。 |
| 45009 | 接口调用超限。群发次数用完了,等下月,或分摊到不同天。 |
| 48003 | 接口无权限——公众号不是认证服务号,群发走不通。 |
| 模板未配置,跳过本次推送 | 不是错误,是 MP_TMPL_POLICY 还没填。
填上模板 ID、重启服务,第二天就会自动发。 |
合规底线:只给点过「允许」的人发订阅消息, 不买名单、不群发营销、不一天推多条。一次授权只发一条,这条守住,投诉就少。
如有疑问,或需要新增来源机关,联系我补充。客服热线 400-606-4598(工作日 9:00 - 18:00)。