{"id":13607216,"url":"https://github.com/kwp-lab/vika-faq-engine","last_synced_at":"2025-07-12T18:36:16.134Z","repository":{"id":45983709,"uuid":"430409921","full_name":"kwp-lab/vika-faq-engine","owner":"kwp-lab","description":"企业微信客服话术库-维格表版","archived":false,"fork":false,"pushed_at":"2022-12-29T06:09:02.000Z","size":626,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T05:05:05.843Z","etag":null,"topics":["expressjs","qcloud-scf","serverless","vikadata","wecom","weixin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kwp-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-21T15:49:32.000Z","updated_at":"2024-06-17T12:27:55.000Z","dependencies_parsed_at":"2023-01-31T08:15:42.213Z","dependency_job_id":null,"html_url":"https://github.com/kwp-lab/vika-faq-engine","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwp-lab%2Fvika-faq-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwp-lab%2Fvika-faq-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwp-lab%2Fvika-faq-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwp-lab%2Fvika-faq-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kwp-lab","download_url":"https://codeload.github.com/kwp-lab/vika-faq-engine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154999,"owners_count":21056542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","qcloud-scf","serverless","vikadata","wecom","weixin"],"created_at":"2024-08-01T19:01:16.611Z","updated_at":"2025-04-10T03:50:36.985Z","avatar_url":"https://github.com/kwp-lab.png","language":"JavaScript","funding_links":[],"categories":["🎯开源 API 项目/插件"],"sub_categories":["第三方开源"],"readme":"# vika-faq-engine\n（企业微信话术库-维格表版）\n\n微信社群运营少不了使用企业微信的各项能力，本工程基于企业微信自建应用的形式进行构建。\n可以在企业微信聊天附件栏或聊天工具栏快速调起话术库/素材库页面（H5），点击任意话术（消息卡片）即可发送给外部联系人或者群聊，支持外部单聊、外部群聊、班级群各种会话窗口。\n\n\n## 🎨 idea起源\n\n最初，我只是想模仿搜索引擎的样式，做一款基于维格表的轻量级FAQ搜索页，因此诞生了 ```vika-faq-engine``` 这个有点草率的名字。但随着不断的开发迭代，发现它的适用场景越来越多，就决定把它升级成企业微信专用的“话术库/素材库”\n\n在体验了企业微信自带的快捷回复功能和市面上一些付费的SCRM，发现有以下的一些问题：\n\n\u003e 企业微信自带的聊天工具功能简陋，无法发送图片、H5卡片\n\u003e 当拥有大量话术时，无法根据关键词进行搜索\n\u003e 没有知识库体系，客服团队没法协同梳理一个知识库，话术编辑麻烦\n\u003e 话术、素材难以自定义分类\n\n因此，我在构思工程搭建思路的时候，就围绕这些痛点进行优化，断断续续地花了几个月的闲余时光，终于做出来了，它就是名字 low low 的“企业微信话术库-维格表版”\n\n它实现了如下功能：\n\n- [x] 轻量级搜索引擎，支持多个关键词组合查询，命中词语会以红色高亮显示\n- [x] 快捷回复页，支持置顶 3 个素材/话术分类，高频素材快捷发送\n- [x] 素材分类动态实时刷新，在维格表拖动视图顺序即可变更客户端 H5 页面的置顶分类\n- [x] 支持一键部署，CLI一个命令即可完成整个工程的云端部署\n- [x] 多终端支持，企业微信 PC 端和手机 APP 端都可以使用\n\n\u003cbr/\u003e\n\n\n## 💡 如何使用\n\n跟着下方操作说明，快速将工程部署到腾讯云，然后在企业微信进行体验。\n\n**前期准备**\n- 注册一个维格表帐号（[前往](https://vika.cn)）\n- 将维格表模板《企业微信客服话术库》另存到自己的空间站（[前往下载](https://vika.cn/share/shrRgZqX5mMKm4MQmE3lR/fodR4R7ZPGvky)）\n- 注册一个腾讯云帐号（[前往](https://cloud.tencent.com/)）\n- 在企业微信里创建一个自建应用（往下阅读有教程）\n\n\n### 1. 搭建环境\n\n本工程使用 nodejs 作为 JavaScript 运行时，请参考官网提前安装，此处不细说。→[《如何安装 Node.js》](http://nodejs.cn/learn/how-to-install-nodejs)\n\n完成下方三步操作，即可完成本地开发环境的搭建：\n\n\n**（1）安装开发环境**\n```bash\n# 安装 Serverless Framework\nnpm install -g serverless\n\n# 下载工程代码至本地\ngit clone xxxxxx\n\ncd xxxxx/src\n\n# 使用 npm 安装工程的依赖库\nnpm install\n\n```\n\n\u003cbr/\u003e\n\n**（2）编辑 ```config_init.js``` 文件，填写必要的执行时参数**\n\n此文件用于配置 nodejs 运行时的参数。\n请根据文件里的备注说明填写参数，填写完毕后，将 ```config_init.js``` 重命名为 ```config.js```\n\n\u003cbr/\u003e\n\n**（3）将自建应用的参数，填写到维格表《自建应用配置》**\n\n如果你完成了上文的前提准备第二点，另存到自己的空间站后，会看到一个表《自建应用配置》，请将企业微信自建应用的 `appSecret` 和企业的 `corpid` 填写到该表的字段内\n\n![自建应用配置表示意图](docs/screenshots/chrome_GLZqIRlkQG.png)\n\n此文件用于配置 nodejs 运行时的参数。\n请根据文件里的备注说明填写参数，填写完毕后，将 ```config_init.js``` 重命名为 ```config.js```\n\n\u003cbr/\u003e\n\n**（4）本地启动**\n\n```bash\nnpm run dev\n```\n\n至此，本地环境就已经搭建完毕了，你可以通过浏览器查看页面实时效果。修改任何 js、html 文件都会实时刷新（使用 nodemon 来监听代码文件的变化并重启服务，使用 browser-sync 来实时刷新浏览器页面。）\n\n在浏览器模式下，你可以体验如下功能：\n\n- 访问话术库首页（\"/\"）, 输入关键字进行话术搜索\n- 访问“快捷回复”页面（\"/quickreply\"）, 查看不同分类下的10条置顶话术\n\n无法体验的功能：\n\n- 一键将话术（文本、H5卡片）发送到企业微信群\n\n\u003cbr/\u003e\n\n### 2. 创建自建应用\n\n前往企业微信管理后台，按照教程 [创建与配置企业微信自建应用](docs/how-to-create-wecom-app.md) 的操作步骤执行。\n\n\u003cbr/\u003e\n\n### 3. 部署\n\n为了能完整体验所有功能，并在实际业务当中使用，我们需要将代码部署到云端。\n使用  ```Serverless Framework``` 的 cli 命令，一键部署到腾讯云。\n\n```bash\n# 进入工程根目录\ncd path://to/your/project/src\n\n# 执行部署\nserverless deploy\n\n# 或者使用如下缩写\nsls deploy\n```\n\n\u003cbr/\u003e\n\n## 本工程的依赖项\n\n- **[vika维格表](https://vika.cn)**\n一款“可视化数据库”，免费易上手，不用开发就可以充当话术库的管理后台。以前搭建后台系统，需要先数据库建表，然后再做管理界面和帐号管理。现在只需要在维格表上创建好必要的几个表格，即可完成整套“管理后台”的构建，管理员访问维格表就等同于访问“话术库管理后台”，再通过API打通与前端界面的数据传输，一个前后端分离的话术库系统就搭建完毕了。\n\n\n- **[Express 4](http://expressjs.com)**\n基于 Node.js 平台，快速、开放、极简的 Web 开发框架。懂的都懂，不解释。\n\n\n- **[腾讯云函数（SCF）](https://cloud.tencent.com/product/scf)**\n为开发者提供无服务器执行环境，足够玩耍的免费额度，按调用次数收费。将工程代码通过cli可以直接部署，超灵活的开发调试体验。\n\n- **[腾讯云 API 网关](https://cloud.tencent.com/product/apigw)**\n通过 API 网关，将网络请求转发到云函数进行处理。免费获得4级域名，加上云函数就可以轻量快捷地提供服务端能力，两者配合简直是开发者搭建小工具的神器。\n\n- **[jQuery](https://jquery.com/)**\njQuery 是一个快速、简洁的 JavaScript 框架，是继 Prototype 之后又一个优秀的 JavaScript 代码库\n\n- **[Bootstrap 4](https://getbootstrap.com/)**\nBootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS/HTML 框架。\n\n\u003cbr/\u003e\n\n## 相关教程\n\n[《创建与配置企业微信自建应用》](docs/how-to-create-wecom-app.md)\n\n[《vika企业微信话术库的工作原理》](docs/how-does-this-function-work.md)\n\n[《如何设置可信域名》](docs/how-to-verify-domain.md)\n\n\u003cbr/\u003e\n\n## 更新日志\n2021年11月17日\n- 【新增】readme.md 文档的补充完善\n- 【新增】补充相关教程\n\n2021年11月13日\n- 【新增】快捷回复页，支持置顶三个素材标签\n- 【新增】升级维格表表结构，支持“H5页面”类型的素材录入并在企业微信端显示\n- 【新增】在维格表追加新的表“自建应用配置”，用于记录企业微信自建应用的配置参数\n- 【新增】index.html 和 quickreply.html 页面优化，集成企业微信JS-SDK\n- 【新增】支持从企业微信工具栏和附件栏一键分享“文本”和“H5页面”这两种类型的素材到会话中\n\n2021年4月7日\n- 【新增】关键词支持从“问题”和“答案”这两个字段同时检索\n\n\u003cbr/\u003e\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkwp-lab%2Fvika-faq-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkwp-lab%2Fvika-faq-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkwp-lab%2Fvika-faq-engine/lists"}