{"id":28666277,"url":"https://github.com/finishy1995/voixa","last_synced_at":"2025-08-27T14:16:26.684Z","repository":{"id":149714578,"uuid":"101972506","full_name":"finishy1995/voixa","owner":"finishy1995","description":"Voixa project. Amazon Alexa Demo","archived":false,"fork":false,"pushed_at":"2017-09-29T06:15:57.000Z","size":8156,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-13T14:14:26.768Z","etag":null,"topics":["alexa","alexa-skill","amazon-alexa-demo","cloudformation-template","cognito","cralwer","lambda","serverless"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/finishy1995.png","metadata":{"files":{"readme":"readme-cn.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-08-31T07:28:37.000Z","updated_at":"2019-04-15T08:49:00.000Z","dependencies_parsed_at":"2023-04-25T15:02:45.456Z","dependency_job_id":null,"html_url":"https://github.com/finishy1995/voixa","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/finishy1995/voixa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finishy1995%2Fvoixa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finishy1995%2Fvoixa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finishy1995%2Fvoixa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finishy1995%2Fvoixa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/finishy1995","download_url":"https://codeload.github.com/finishy1995/voixa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/finishy1995%2Fvoixa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272339472,"owners_count":24917178,"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","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["alexa","alexa-skill","amazon-alexa-demo","cloudformation-template","cognito","cralwer","lambda","serverless"],"created_at":"2025-06-13T14:14:20.582Z","updated_at":"2025-08-27T14:16:26.676Z","avatar_url":"https://github.com/finishy1995.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Voixa  [Amazon Alexa Demo]\n\n\n## 目录\n\n- [简介](#简介)\n- [特别感谢](#特别感谢)\n- [项目架构](#项目架构)\n- [版本信息](#版本信息)\n    - [v0.8](#v0.8)\n    - [v0.9](#v0.9)\n- [更新计划](#更新计划)\n- [项目部署](#项目部署)\n\n\n## [简介](id:简介)\n\n\n**特别提醒: 本如果有任何疑问和建议，请联系邮箱：*[david.wang@finishy.cn](mailto:david.wang@finishy.cn)*。**\n\nVoixa是一个Amazon Alexa的示例项目。在本示例项目中，考虑到资讯爆炸的情况，我们想要利用Alexa自动播报真正感兴趣的话题。利用Serverless无服务器架构，实现了订阅指定网站的指定关键词（例：网站 AWS，关键词 大数据），利用Alexa自动播报相关资讯的简讯。\n\n本演示仅用于试验和参考用途，如果您想在云端开发自己的应用，请登录AWS官网查看详细信息。 [English](https://github.com/finishy1995/voixa)\n\n\n## [特别感谢](id:特别感谢)\n\n**Big Five Wolves**\n1. ***@Bob Zhang***\n2. ***@Nick Jiang***\n3. ***@Haipeng Qi***\n4. ***@Andrew Ren***\n5. ***@David Wang***\n\n**@Jason Xue**\n\n\n## [项目架构](id:项目架构)\n\n采用如下架构搭建数据采集架构：\n\n![数据采集架构](./Data_Collect.jpeg)\n\n采用如下架构实现Alexa播报新闻：\n\n![新闻播报架构](./Alexa_Skill.jpeg)\n\n\n## [版本信息](id:版本信息)\n\n### [v0.8](id:v0.8)\n\n包测试版本，这些版本功能有残缺或者存在一定的Bug，慎用。\n\n- v0.8.1\n    - Demo 源代码\n    - Demo 架构\n    - 基本 AWS CloudFormation\n- v0.8.2\n    - 修复已知 Bug\n    - 完善 AWS CloudFormation\n    - 基本安装脚本\n- v0.8.3\n    - 修复前端 Bug\n    - 静态页面上传\n    - Cognito 自动配置\n\n### [v0.9](id:v0.9)\n\n内部测试版本，这些版本功能满足最低搭建要求，不保证所有操作系统和安装条件通过。\n\n- v0.9.1\n    - 安装脚本自动化\n    - 修复 AWS CloudFormation 权限不足的 Bug\n    - 重写 Readme\n    \n-v0.9.2\n    - 修复 S3 文件名包含 “,” 的 bug\n    - 限制可选择的 region 为 [us-east-1, eu-west-1]\n    - 修复 S3 调用 API 创建存储桶可能造成的 bug\n    \n\n## [更新计划](id:更新计划)\n\n- [x] 编写启动脚本，结合 AWS CloudFormation 自动部署\n- [x] Readme 详细部署步骤\n- [x] 加入 Cognito 提高安全性\n- [x] 添加项目架构图\n- [x] Readme 中英文\n- [ ] 支持更多的操作系统运行脚本\n- [ ] 添加更多的网站和内容组合\n- [ ] 完善静态网站功能和页面效果\n- [ ] 添加App，支持 Android \u0026 IOS\n\n\n## [项目部署](id:项目部署)\n\n**提醒: 以下步骤在具备 aws-cli 和 Mac 系统下测试通过，其他情况下如有问题，请提交问题，谢谢！**\n\n### 前提条件\n\n您需要具有 AWS 全球区账号，并具备 Admin 权限 （事实上并不需要这么大的权限，后续会降低权限要求）。\n\n### 安装 aws-cli\n\n如果您已经安装好了 aws-cli，可以跳过此步骤\n\n```sh\nsudo pip install awscli\n```\n\n更多的安装方法，请参考 [aws-cli链接](https://github.com/aws/aws-cli)\n\n### 配置 aws-cli\n\n如果您已经配置好了 aws-cli，可以跳过此步骤\n\n```sh\naws configure --profile ${your_profile_name}\n```\n\n配置遇到了问题？请参考 [aws-cli链接](https://github.com/aws/aws-cli)\n\n### 安装 Voixa\n\n```sh\nwget --no-check-certificate https://raw.githubusercontent.com/finishy1995/voixa/master/install.sh \u0026\u0026 chmod u+x install.sh \u0026\u0026 ./install.sh\n```\n### 配置 Alexa\n\n在 [Amazon Developer 网站](https://developer.amazon.com/) 上配置自己的 Alexa Skill。您可以参考如下配置信息。\n\n**Skill Information**\n\n![Skill Information](./img/Skill_Information.jpeg)\n\n**Interaction Model**\n\n![Interaction Model](./img/Interaction_Model.jpeg)\n\n- Intent Schema\n```Json\n{\n    \"intents\": [\n        {\n            \"intent\": \"AMAZON.ResumeIntent\"\n        },\n        {\n            \"intent\": \"AMAZON.PauseIntent\"\n        },\n        {\n            \"slots\": [\n                {\n                    \"name\": \"blog\",\n                    \"type\": \"LIST_OF_BLOG\"\n                }\n            ],\n            \"intent\": \"MyBlogIsIntent\"\n        },\n        {\n            \"intent\": \"WhatsMyBlogIntent\"\n        },\n        {\n            \"intent\": \"AMAZON.HelpIntent\"\n        }\n    ]\n}\n```\n- Sample Utterances\n```\nMyBlogIsIntent my favorite blog is {blog}\nWhatsMyBlogIntent what's my favorite blog\nWhatsMyBlogIntent what is my favorite blog\nWhatsMyBlogIntent what's my blog\nWhatsMyBlogIntent what is my blog\nWhatsMyBlogIntent my blog\nWhatsMyBlogIntent my favorite blog\nWhatsMyBlogIntent get my blog\nWhatsMyBlogIntent get my favorite blog\nWhatsMyBlogIntent give me my favorite blog\nWhatsMyBlogIntent give me my blog\nWhatsMyBlogIntent what my blog is\nWhatsMyBlogIntent what my favorite blog is\nWhatsMyBlogIntent yes\nWhatsMyBlogIntent yup\nWhatsMyBlogIntent sure\nWhatsMyBlogIntent yes pleaseBlog\n```\n\n**Configuration**\n\n![Configuration](./img/Configuration.jpeg)\n\nLambda Arn 可以在 AWS CloudFormation 的 Outputs 中获取。\n\n**Test**\n\n![Test](./img/Test.jpeg)\n\n\"Service Simulator\" 在本项目中不应该被填入。\n\n**Publishing Information**\n\n![Publishing Information](./img/Publishing_Information1.jpeg)\n![Publishing Information](./img/Publishing_Information2.jpeg)\n\n**Privacy \u0026 Compliance**\n\n![Privacy \u0026 Compliance](./img/Privacy_Compliance.jpeg)\n\n### 自定义网站订阅\n\n打开 AWS CloudFormation 的 Outputs 中提供的静态网址，配置自己的订阅信息。\n\n### Alexa Simulator\n\n您可以用 Echo／Echo dot 测试这个项目，也可以使用模拟网站 [echosim](https://echosim.io/welcome)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinishy1995%2Fvoixa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffinishy1995%2Fvoixa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffinishy1995%2Fvoixa/lists"}