{"id":13600733,"url":"https://github.com/babyname/fate","last_synced_at":"2025-04-11T11:46:38.794Z","repository":{"id":38830502,"uuid":"105125456","full_name":"babyname/fate","owner":"babyname","description":"Fate is a modern science chinese name create tool. ","archived":false,"fork":false,"pushed_at":"2024-06-27T18:32:13.000Z","size":65964,"stargazers_count":2364,"open_issues_count":5,"forks_count":464,"subscribers_count":63,"default_branch":"main","last_synced_at":"2025-04-03T11:07:17.420Z","etag":null,"topics":["baby","child","create","fate","make","name"],"latest_commit_sha":null,"homepage":"https://github.com/babyname/fate","language":"Go","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/babyname.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-28T08:54:22.000Z","updated_at":"2025-04-02T07:57:50.000Z","dependencies_parsed_at":"2023-02-17T19:15:31.754Z","dependency_job_id":"b5d64a39-a645-4381-a94e-3900a670da8d","html_url":"https://github.com/babyname/fate","commit_stats":{"total_commits":795,"total_committers":7,"mean_commits":"113.57142857142857","dds":0.03647798742138364,"last_synced_commit":"d4258116a5d9f2711bab27b8e957938f29407636"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babyname%2Ffate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babyname%2Ffate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babyname%2Ffate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babyname%2Ffate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/babyname","download_url":"https://codeload.github.com/babyname/fate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248388158,"owners_count":21095351,"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":["baby","child","create","fate","make","name"],"created_at":"2024-08-01T18:00:47.436Z","updated_at":"2025-04-11T11:46:38.772Z","avatar_url":"https://github.com/babyname.png","language":"Go","readme":"# 命运起名(Fate)\n\n![FATE](docs/fate.png)\n\n![Go](https://github.com/babyname/fate/workflows/Go/badge.svg)\n[![GoDoc](https://godoc.org/github.com/babyname/fate?status.svg)](http://godoc.org/github.com/babyname/fate)\n[![license](https://img.shields.io/github/license/babyname/fate.svg)](https://github.com/babyname/fate/blob/master/LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/babyname/fate)](https://goreportcard.com/report/github.com/babyname/fate)\n\n## 现代科学取名工具(A modern science chinese name create tool)\n\nGithub上第一个开源的中文取名项目(The first chinese name create tool in `github`)\n\n## 目录\n\n[TOR]\n\n### 简介\n\n本程序适用于单个姓或双个姓, 起2个名的情况. （如：独孤**, 李张**, 张**, 王**）  \n一个好名字伴随人的一生, FATE让你取一个好名字.\n\n### 关于版本\n\n特定版本会单独出release,以后每次提交都会生成二进制文件的pre_release提供下载.  \n最新版使用Sqlite3数据库,不在需要导入数据库文件了. 直接下载下面的Sqlite3数据库到本地就能使用.\n\n【[v3.5.5下载](https://github.com/babyname/fate/releases/tag/v3.5.5)】\n【[Sqlite3数据库](https://github.com/babyname/fate/releases/download/v3.5.4/fate_sqlite3_database.zip)】\n\n【[最新自编译版本](https://github.com/babyname/fate/releases/tag/auto_build)】\n【[旧版SQL数据库文件:20200331](https://github.com/babyname/fate/releases/download/v3.5.1/fate_db_200331.7z)】\n\n### 使用方法\n\n1. 编写运行go代码,接口调用生成姓名\n\n    ```go\n    // 使用前请导入database的数据（测试字库已基本完善, 保险起见生成姓名后可以去一些测名网站验证下）\n    // 加载配置（具体参数参考example/create_a_name）\n    cfg := config.Default()\n    // 生日：\n    born := chronos.New(\"2020/01/23 11:31\")\n    // 姓氏：\n    lastName := \"张\"\n    // 第一参数：姓氏\n    // 第二参数：生日 \n    f := fate.NewFate(lastName, born.Solar().Time(), fate.ConfigOption(cfg))\n    \n    e := f.MakeName(context.Background())\n    if e != nil {\n      t.Fatal(e)\n    }\n\n    ```\n\n2. 使用预编译二进制文件生成姓名\n\n    ```shell\n    #没有安装go环境的请下载master下的zoneinfo文件和fate二进制文件放一起\n    #生成配置文件, 可修改数据库, 及一些基本参数\n    fate.exe init\n    #输出姓名\n    fate.exe name -l 张 -b \"2020/02/06 15:04\"\n    ```\n\n3. ~~针对没有安装Go环境的用户,使用二进制文件在运行前务必把zoneinfo.zip下载并和二进制文件放在一起(不要解压),不然会报错.~~\n   ~~[zoneinfo文件](https://github.com/babyname/fate/blob/master/zoneinfo.zip)~~\n   最新编译的版本使用了Go新版编译, 已经不再需要手动下载`zoneinfo.zip`文件了.\n\n### 常见问题\n\n1. 报错: count total error:The system cannot find the path specified\n\n    ```docs\n    zoneinfo缺失导致的时间转换失败问题(一般发生在windows环境下),\n    下载上面的zoneinfo文件并放到执行文件相同的目录下即可解决.\n    最新版会检查根目录,已无需重新init.\n    地址:https://github.com/babyname/fate/blob/master/zoneinfo.zip\n    ```\n\n2. 如何导入数据(Mysql)\n\n    ```docs\n    //链接到mysql数据库\n    mysql -u用户名 -p密码\n    //创建数据库\n    CREATE schema `fate` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;\n    //使用fate数据库\n    use fate;\n    //导入数据库文件\n    source /path/to/sql/file;\n    PS:建议使用Navicat等工具导入,导入速度较快\n    ```\n\n3. 数据库配置, 替换config.json中相关部分\n    - MYSQL配置:\n        - host填写mysql数据库的地址\n        - user填写mysql数据库的用户名\n        - pwd填写mysql数据库的密码\n        - name填写mysql数据库的库名\n\n   ```json\n    \"database\": {\n      \"host\": \"127.0.0.1\",\n      \"port\": \"3306\",\n      \"user\": \"root\",\n      \"pwd\": \"111111\",\n      \"name\": \"fate\",\n      \"max_idle_con\": 0,\n      \"max_open_con\": 0,\n      \"driver\": \"mysql\",\n      \"file\": \"\",\n      \"dsn\": \"\",\n      \"show_sql\": false,\n      \"show_exec_time\": false\n    },   \n   ```\n\n    - SQLITE3配置:\n        - name填写本地sqlite的数据库名字, 放在fate同一目录下\n\n   ```json\n    \"database\": {\n      \"name\": \"fate\",\n      \"driver\": \"sqlite3\",\n    },\n   ```\n\n## 版本计划\n\n第一版:\n大部分是手动工作,现已废弃\n\n第二版:\n可自动生成名字字符 + 手工筛选\n\n第三版(开发中):\n\n1. 添加API接口查询(后期可能需要一些WEB方面的工作, 如果有兴趣的可以报名).\n2. 完善精简字典库, 并迁移到EntORM.\n3. 更完善的查询规则定义.\n\n第四版(计划中):\n优化算法,调整接口,数据库,完善文档以及修复一些bug.\n\n第七版(计划中):\n通过AI,大数据匹配算法,取出更好更佳的名字.\n\n### 关于FATE\n\nFATE使用了以下算法,查询字典库自动生成匹配规则的名字.\n按照每种算法的准确度,使用程度也有高有低,不会一概而否,也不会偏向单独某种算法.\n不会按照个人喜好做出选择.\n\n- 周易卦象\n- 大衍之数\n- 三才五格\n- 喜用神（平衡用神）\n- 生肖用字\n- 八字吉凶\n\n目前Fate以六大派为基准综合计算生成名字:\n\n- 笔划派: 认为笔划全吉, 人生就大吉. 准确度12.5 %\n- 三才派: 完全不管笔划吉凶, 只认为天地人三才五行相生, 人生就大吉. 准确度56.6 %.\n- 补八字: 完全不管笔划吉凶, 只认为名字补到先天八字命盘欠缺, 人生就大吉. 其实准确度非常低.\n- 卦象派: 完全不管笔划吉凶, 只认为名字求出卦象漂亮, 人生就大吉. 准确度40.26 %.\n- 天运派: 完全不管笔划吉凶, 只认为名字不要被出生年天运五行所剋, 人生就大吉. 准确度25.32 %.\n- 生肖派: 完全不管笔划吉凶, 只认为生肖用对字形, 人生就大吉. 准确度27.55 %.\n\n目前使用到的一些库:\n\n- 八字计算(用于计算生辰): \u003chttps://github.com/godcong/chronos\u003e\n- 字典数据(一个爬虫工具填充字典数据库): \u003chttps://github.com/godcong/excavator\u003e\n  如果谁有更好用的可以告诉我.\n\n### 资料查询\n\n1. 全国及各省重名查询网址汇总\n\n   网友提供：`https://zhuanlan.zhihu.com/p/89654568`(**请谨慎访问非本站点地址**)\n   [本仓库地址](./docs/chinese_name_query.md)\n\n## 一些废话\n\n在过去的几年中虽然Fate经过了好几个版本的改进, 但是仍然有许多不足之处.\n包括生成的名字太多不容易筛选,\n有些用户遇到了一些和Go相关的问题,\n一些用户不知道如何导入数据库等.\n这些问题都只能慢慢想办法去解决.\n\n还有些用户因为字典库生成的名字中有些字的寓意不好, 你可以手动删掉你不喜欢字, 却来恶意中伤作者.\n我想说的是这个字也不是我造的, 你如果有问题可以去找造那个字的人.\n如果觉得这个工具不好你可以不用.\n\n最近一年中因为作者个人原因导致Fate更新缓慢, 在这里向大家道个歉.\n大家也知道现在国内的IT环境, 毕竟我也要生活, 生活所迫没有太多时间放在业余的项目上.\n我只能尽量抽出时间来完善Fate的规则和代码.\n在这里同样要感谢支持我的朋友们, 大家的出发点我相信是一样的.\n用这个工具目的都是为了给孩子取一个好名字.","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabyname%2Ffate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbabyname%2Ffate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabyname%2Ffate/lists"}