Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ feat: support display model list #1916

Merged
merged 39 commits into from
Apr 10, 2024
Merged

✨ feat: support display model list #1916

merged 39 commits into from
Apr 10, 2024

Conversation

arvinxx
Copy link
Contributor

@arvinxx arvinxx commented Apr 7, 2024

💻 变更类型 | Change Type

  • ✨ feat
  • 🐛 fix
  • ♻️ refactor
  • 💄 style
  • 🔨 chore
  • ⚡️ perf
  • 📝 docs

🔀 变更说明 | Description of Change

Model List

image image image image

重构优化

针对 model provider 部分,优化一版代码,提升代码精炼度与可维护性。

  • 重构 modelCard 使用 visible 而不是 hidden
  • 重构 AgentRuntime 实例实现,抽象一个 openai-compatible 工厂方法
  • 迁移 openAI key 到 openai
  • 优化 locale 组织,修正部分语种翻译问题 fix [Bug] WebRTC Russian localization #1942

Azure 重构支持

image

数据迁移

  • 迁移 client customModelNamecustomModelCards : 由于 customModelName 无法完整表达 enabledModelscustomModelCards 的意义,从用户调整的复杂度上来说,将 customModelName 迁移为 customModelCards 更为合适。

    • 配置迁移
    • DB 迁移
  • 迁移 server CUSTOM_MODELmodelCards 09228e3

    • CUSTOM_MODELS -> OPENAI_MODEL_LIST
    • OLLAMA_CUSTOM_MODELS -> OLLAMA_MODEL_MODELS
    • OPENROUTER_CUSTOM_MODELS -> OPENROUTER_MODEL_MODELS
    • 兼容 CUSTOM_MODELSOLLAMA_CUSTOM_MODELSOPENROUTER_CUSTOM_MODELS,并提示即将在 1.0 删除

远端模型列表拉取

OpenAI.Model.List.mp4
image image

📝 补充信息 | Additional Information

refs:

Copy link

vercel bot commented Apr 7, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
lobe-chat-community ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 10, 2024 8:10pm

@lobehubbot
Copy link
Member

👍 @arvinxx

Thank you for raising your pull request and contributing to our Community
Please make sure you have followed our contributing guidelines. We will review it as soon as possible.
If you encounter any problems, please feel free to connect with us.
非常感谢您提出拉取请求并为我们的社区做出贡献,请确保您已经遵循了我们的贡献指南,我们会尽快审查它。
如果您遇到任何问题,请随时与我们联系。

@bincooo
Copy link

bincooo commented Apr 8, 2024

太感谢了🙏

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Thank you so much 🙏

@arvinxx arvinxx merged commit 0895dd2 into main Apr 10, 2024
10 checks passed
@arvinxx arvinxx deleted the feat/model-selectors branch April 10, 2024 20:15
@lobehubbot
Copy link
Member

❤️ Great PR @arvinxx ❤️

The growth of project is inseparable from user feedback and contribution, thanks for your contribution! If you are interesting with the lobehub developer community, please join our discord and then dm @arvinxx or @canisminor1990. They will invite you to our private developer channel. We are talking about the lobe-chat development or sharing ai newsletter around the world.
项目的成长离不开用户反馈和贡献,感谢您的贡献! 如果您对 LobeHub 开发者社区感兴趣,请加入我们的 discord,然后私信 @arvinxx@canisminor1990。他们会邀请您加入我们的私密开发者频道。我们将会讨论关于 Lobe Chat 的开发,分享和讨论全球范围内的 AI 消息。

github-actions bot pushed a commit that referenced this pull request Apr 10, 2024
## [Version 0.147.0](v0.146.2...v0.147.0)
<sup>Released on **2024-04-10**</sup>

#### ♻ Code Refactoring

- **misc**: Add db migration, add migrations from v3 to v4, clean openai azure code, refactor agent runtime with openai compatible factory, refactor api key form locale, refactor openAI to openai and azure, refactor the hidden to enabled, refactor the key, refactor the model config selector, refactor the route auth as a middleware, refactor the server config to migrate model provider env, refactor the server config to migrate model provider env, rename the key to enabledModels.

#### ✨ Features

- **misc**: Refactor to support azure openai provider, support  close openai, support display model list, support model config modal, support model list with model providers, support open router auto model list, support openai model fetcher, support update model config, support user config model.

#### 🐛 Bug Fixes

- **misc**: Fix db migration, fix db migration.

#### 💄 Styles

- **misc**: Fix i18n of model list fetcher, improve detail design, improve logo style, update locale.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add db migration ([6ceb818](6ceb818))
* **misc**: Add migrations from v3 to v4 ([199ded2](199ded2))
* **misc**: Clean openai azure code ([be4bcca](be4bcca))
* **misc**: Refactor agent runtime with openai compatible factory ([89adf9d](89adf9d))
* **misc**: Refactor api key form locale ([a069169](a069169))
* **misc**: Refactor openAI to openai and azure ([2190a95](2190a95))
* **misc**: Refactor the hidden to enabled ([78a1aac](78a1aac))
* **misc**: Refactor the key ([d5c82f6](d5c82f6))
* **misc**: Refactor the model config selector ([d865ca1](d865ca1))
* **misc**: Refactor the route auth as a middleware ([ef5ee2a](ef5ee2a))
* **misc**: Refactor the server config to migrate model provider env ([e4f110e](e4f110e))
* **misc**: Refactor the server config to migrate model provider env ([c398063](c398063))
* **misc**: Rename the key to enabledModels ([ebfa0aa](ebfa0aa))

#### What's improved

* **misc**: Refactor to support azure openai provider ([d737afe](d737afe))
* **misc**: Support  close openai ([1ff1aef](1ff1aef))
* **misc**: Support display model list ([e59635f](e59635f))
* **misc**: Support model config modal ([62d6bb7](62d6bb7))
* **misc**: Support model list with model providers, closes [#1916](#1916) ([0895dd2](0895dd2))
* **misc**: Support open router auto model list ([1ba90d3](1ba90d3))
* **misc**: Support openai model fetcher ([56032e6](56032e6))
* **misc**: Support update model config ([e8ed847](e8ed847))
* **misc**: Support user config model ([72fd873](72fd873))

#### What's fixed

* **misc**: Fix db migration ([4e75074](4e75074))
* **misc**: Fix db migration ([571b6dd](571b6dd))

#### Styles

* **misc**: Fix i18n of model list fetcher ([67ed8c2](67ed8c2))
* **misc**: Improve detail design ([adcce07](adcce07))
* **misc**: Improve logo style ([c5826ce](c5826ce))
* **misc**: Update locale ([021bf91](021bf91))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
@lobehubbot
Copy link
Member

🎉 This PR is included in version 0.147.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

github-actions bot pushed a commit to bentwnghk/lobe-chat that referenced this pull request Apr 10, 2024
## [Version&nbsp;1.27.0](v1.26.1...v1.27.0)
<sup>Released on **2024-04-10**</sup>

#### ♻ Code Refactoring

- **misc**: Add db migration, add migrations from v3 to v4, clean openai azure code, refactor agent runtime with openai compatible factory, refactor api key form locale, refactor openAI to openai and azure, refactor the hidden to enabled, refactor the key, refactor the model config selector, refactor the route auth as a middleware, refactor the server config to migrate model provider env, refactor the server config to migrate model provider env, rename the key to enabledModels.

#### ✨ Features

- **misc**: Refactor to support azure openai provider, support  close openai, support display model list, support model config modal, support model list with model providers, support open router auto model list, support openai model fetcher, support update model config, support user config model.

#### 🐛 Bug Fixes

- **misc**: Fix db migration, fix db migration, rename, rename.

#### 💄 Styles

- **misc**: Fix i18n of model list fetcher, improve detail design, improve logo style, update locale.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add db migration ([6ceb818](6ceb818))
* **misc**: Add migrations from v3 to v4 ([199ded2](199ded2))
* **misc**: Clean openai azure code ([be4bcca](be4bcca))
* **misc**: Refactor agent runtime with openai compatible factory ([89adf9d](89adf9d))
* **misc**: Refactor api key form locale ([a069169](a069169))
* **misc**: Refactor openAI to openai and azure ([2190a95](2190a95))
* **misc**: Refactor the hidden to enabled ([78a1aac](78a1aac))
* **misc**: Refactor the key ([d5c82f6](d5c82f6))
* **misc**: Refactor the model config selector ([d865ca1](d865ca1))
* **misc**: Refactor the route auth as a middleware ([ef5ee2a](ef5ee2a))
* **misc**: Refactor the server config to migrate model provider env ([e4f110e](e4f110e))
* **misc**: Refactor the server config to migrate model provider env ([c398063](c398063))
* **misc**: Rename the key to enabledModels ([ebfa0aa](ebfa0aa))

#### What's improved

* **misc**: Refactor to support azure openai provider ([d737afe](d737afe))
* **misc**: Support  close openai ([1ff1aef](1ff1aef))
* **misc**: Support display model list ([e59635f](e59635f))
* **misc**: Support model config modal ([62d6bb7](62d6bb7))
* **misc**: Support model list with model providers, closes [lobehub#1916](https://github.com/bentwnghk/lobe-chat/issues/1916) ([0895dd2](0895dd2))
* **misc**: Support open router auto model list ([1ba90d3](1ba90d3))
* **misc**: Support openai model fetcher ([56032e6](56032e6))
* **misc**: Support update model config ([e8ed847](e8ed847))
* **misc**: Support user config model ([72fd873](72fd873))

#### What's fixed

* **misc**: Fix db migration ([4e75074](4e75074))
* **misc**: Fix db migration ([571b6dd](571b6dd))
* **misc**: Rename ([9b93a7c](9b93a7c))
* **misc**: Rename ([951bffa](951bffa))

#### Styles

* **misc**: Fix i18n of model list fetcher ([67ed8c2](67ed8c2))
* **misc**: Improve detail design ([adcce07](adcce07))
* **misc**: Improve logo style ([c5826ce](c5826ce))
* **misc**: Update locale ([021bf91](021bf91))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
Yanyutin753 pushed a commit to Yanyutin753/lobe-chat that referenced this pull request Apr 10, 2024
Yanyutin753 pushed a commit to Yanyutin753/lobe-chat that referenced this pull request Apr 10, 2024
<sup>Released on **2024-04-10**</sup>

- **misc**: Add db migration, add migrations from v3 to v4, clean openai azure code, refactor agent runtime with openai compatible factory, refactor api key form locale, refactor openAI to openai and azure, refactor the hidden to enabled, refactor the key, refactor the model config selector, refactor the route auth as a middleware, refactor the server config to migrate model provider env, refactor the server config to migrate model provider env, rename the key to enabledModels.

- **misc**: Refactor to support azure openai provider, support  close openai, support display model list, support model config modal, support model list with model providers, support open router auto model list, support openai model fetcher, support update model config, support user config model.

- **misc**: Fix db migration, fix db migration.

- **misc**: Fix i18n of model list fetcher, improve detail design, improve logo style, update locale.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

* **misc**: Add db migration ([6ceb818](lobehub@6ceb818))
* **misc**: Add migrations from v3 to v4 ([199ded2](lobehub@199ded2))
* **misc**: Clean openai azure code ([be4bcca](lobehub@be4bcca))
* **misc**: Refactor agent runtime with openai compatible factory ([89adf9d](lobehub@89adf9d))
* **misc**: Refactor api key form locale ([a069169](lobehub@a069169))
* **misc**: Refactor openAI to openai and azure ([2190a95](lobehub@2190a95))
* **misc**: Refactor the hidden to enabled ([78a1aac](lobehub@78a1aac))
* **misc**: Refactor the key ([d5c82f6](lobehub@d5c82f6))
* **misc**: Refactor the model config selector ([d865ca1](lobehub@d865ca1))
* **misc**: Refactor the route auth as a middleware ([ef5ee2a](lobehub@ef5ee2a))
* **misc**: Refactor the server config to migrate model provider env ([e4f110e](lobehub@e4f110e))
* **misc**: Refactor the server config to migrate model provider env ([c398063](lobehub@c398063))
* **misc**: Rename the key to enabledModels ([ebfa0aa](lobehub@ebfa0aa))

* **misc**: Refactor to support azure openai provider ([d737afe](lobehub@d737afe))
* **misc**: Support  close openai ([1ff1aef](lobehub@1ff1aef))
* **misc**: Support display model list ([e59635f](lobehub@e59635f))
* **misc**: Support model config modal ([62d6bb7](lobehub@62d6bb7))
* **misc**: Support model list with model providers, closes [lobehub#1916](lobehub#1916) ([0895dd2](lobehub@0895dd2))
* **misc**: Support open router auto model list ([1ba90d3](lobehub@1ba90d3))
* **misc**: Support openai model fetcher ([56032e6](lobehub@56032e6))
* **misc**: Support update model config ([e8ed847](lobehub@e8ed847))
* **misc**: Support user config model ([72fd873](lobehub@72fd873))

* **misc**: Fix db migration ([4e75074](lobehub@4e75074))
* **misc**: Fix db migration ([571b6dd](lobehub@571b6dd))

* **misc**: Fix i18n of model list fetcher ([67ed8c2](lobehub@67ed8c2))
* **misc**: Improve detail design ([adcce07](lobehub@adcce07))
* **misc**: Improve logo style ([c5826ce](lobehub@c5826ce))
* **misc**: Update locale ([021bf91](lobehub@021bf91))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
@BrandonStudio
Copy link
Contributor

现在的文件上传是什么样的?

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


What does file uploading look like now?

@arvinxx
Copy link
Contributor Author

arvinxx commented Apr 11, 2024

现在的文件上传是什么样的?

还是之前的hack方案

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


What does file upload look like now?

It’s still the same hack plan as before

@BrandonStudio
Copy link
Contributor

LLM设置里添加的自定义模型好像没法显示在会话里

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


It seems that the custom model added in the LLM settings cannot be displayed in the session.

jjcruise pushed a commit to jjcruise/lobe-chat that referenced this pull request Apr 11, 2024
## [Version&nbsp;0.147.0](lobehub/lobe-chat@v0.146.2...v0.147.0)
<sup>Released on **2024-04-10**</sup>

#### ♻ Code Refactoring

- **misc**: Add db migration, add migrations from v3 to v4, clean openai azure code, refactor agent runtime with openai compatible factory, refactor api key form locale, refactor openAI to openai and azure, refactor the hidden to enabled, refactor the key, refactor the model config selector, refactor the route auth as a middleware, refactor the server config to migrate model provider env, refactor the server config to migrate model provider env, rename the key to enabledModels.

#### ✨ Features

- **misc**: Refactor to support azure openai provider, support  close openai, support display model list, support model config modal, support model list with model providers, support open router auto model list, support openai model fetcher, support update model config, support user config model.

#### 🐛 Bug Fixes

- **misc**: Fix db migration, fix db migration.

#### 💄 Styles

- **misc**: Fix i18n of model list fetcher, improve detail design, improve logo style, update locale.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add db migration ([6ceb818](lobehub@6ceb818))
* **misc**: Add migrations from v3 to v4 ([199ded2](lobehub@199ded2))
* **misc**: Clean openai azure code ([be4bcca](lobehub@be4bcca))
* **misc**: Refactor agent runtime with openai compatible factory ([89adf9d](lobehub@89adf9d))
* **misc**: Refactor api key form locale ([a069169](lobehub@a069169))
* **misc**: Refactor openAI to openai and azure ([2190a95](lobehub@2190a95))
* **misc**: Refactor the hidden to enabled ([78a1aac](lobehub@78a1aac))
* **misc**: Refactor the key ([d5c82f6](lobehub@d5c82f6))
* **misc**: Refactor the model config selector ([d865ca1](lobehub@d865ca1))
* **misc**: Refactor the route auth as a middleware ([ef5ee2a](lobehub@ef5ee2a))
* **misc**: Refactor the server config to migrate model provider env ([e4f110e](lobehub@e4f110e))
* **misc**: Refactor the server config to migrate model provider env ([c398063](lobehub@c398063))
* **misc**: Rename the key to enabledModels ([ebfa0aa](lobehub@ebfa0aa))

#### What's improved

* **misc**: Refactor to support azure openai provider ([d737afe](lobehub@d737afe))
* **misc**: Support  close openai ([1ff1aef](lobehub@1ff1aef))
* **misc**: Support display model list ([e59635f](lobehub@e59635f))
* **misc**: Support model config modal ([62d6bb7](lobehub@62d6bb7))
* **misc**: Support model list with model providers, closes [lobehub#1916](lobehub#1916) ([0895dd2](lobehub@0895dd2))
* **misc**: Support open router auto model list ([1ba90d3](lobehub@1ba90d3))
* **misc**: Support openai model fetcher ([56032e6](lobehub@56032e6))
* **misc**: Support update model config ([e8ed847](lobehub@e8ed847))
* **misc**: Support user config model ([72fd873](lobehub@72fd873))

#### What's fixed

* **misc**: Fix db migration ([4e75074](lobehub@4e75074))
* **misc**: Fix db migration ([571b6dd](lobehub@571b6dd))

#### Styles

* **misc**: Fix i18n of model list fetcher ([67ed8c2](lobehub@67ed8c2))
* **misc**: Improve detail design ([adcce07](lobehub@adcce07))
* **misc**: Improve logo style ([c5826ce](lobehub@c5826ce))
* **misc**: Update locale ([021bf91](lobehub@021bf91))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
@CaesarC
Copy link

CaesarC commented Apr 12, 2024

建议其他模型上也加上xxx_MODEL_LIST

比如:ANTHROPIC_MODEL_LIST

GOOGLE_MODEL_LIST

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


It is recommended to add xxx_MODEL_LIST to other models

@arvinxx
Copy link
Contributor Author

arvinxx commented Apr 12, 2024

@CaesarC 有确实需求的话开 Issue 出来,虽然现在架构上是支持了,但是没需求的话没必要开。我觉得像 ANTHROPIC / Google 这种没几个模型的其实没有加的必要

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@CaesarC If there is a real need, open an issue. Although the architecture supports it now, there is no need to open an issue if there is no need. I think there is no need to add models like ANTHROPIC / Google which don’t have many models.

@arvinxx arvinxx mentioned this pull request Apr 30, 2024
TheNameIsNigel pushed a commit to TheNameIsNigel/lobe-chat that referenced this pull request May 15, 2024
## [Version&nbsp;0.147.0](lobehub/lobe-chat@v0.146.2...v0.147.0)
<sup>Released on **2024-04-10**</sup>

#### ♻ Code Refactoring

- **misc**: Add db migration, add migrations from v3 to v4, clean openai azure code, refactor agent runtime with openai compatible factory, refactor api key form locale, refactor openAI to openai and azure, refactor the hidden to enabled, refactor the key, refactor the model config selector, refactor the route auth as a middleware, refactor the server config to migrate model provider env, refactor the server config to migrate model provider env, rename the key to enabledModels.

#### ✨ Features

- **misc**: Refactor to support azure openai provider, support  close openai, support display model list, support model config modal, support model list with model providers, support open router auto model list, support openai model fetcher, support update model config, support user config model.

#### 🐛 Bug Fixes

- **misc**: Fix db migration, fix db migration.

#### 💄 Styles

- **misc**: Fix i18n of model list fetcher, improve detail design, improve logo style, update locale.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add db migration ([6ceb818](lobehub@6ceb818))
* **misc**: Add migrations from v3 to v4 ([199ded2](lobehub@199ded2))
* **misc**: Clean openai azure code ([be4bcca](lobehub@be4bcca))
* **misc**: Refactor agent runtime with openai compatible factory ([89adf9d](lobehub@89adf9d))
* **misc**: Refactor api key form locale ([a069169](lobehub@a069169))
* **misc**: Refactor openAI to openai and azure ([2190a95](lobehub@2190a95))
* **misc**: Refactor the hidden to enabled ([78a1aac](lobehub@78a1aac))
* **misc**: Refactor the key ([d5c82f6](lobehub@d5c82f6))
* **misc**: Refactor the model config selector ([d865ca1](lobehub@d865ca1))
* **misc**: Refactor the route auth as a middleware ([ef5ee2a](lobehub@ef5ee2a))
* **misc**: Refactor the server config to migrate model provider env ([e4f110e](lobehub@e4f110e))
* **misc**: Refactor the server config to migrate model provider env ([c398063](lobehub@c398063))
* **misc**: Rename the key to enabledModels ([ebfa0aa](lobehub@ebfa0aa))

#### What's improved

* **misc**: Refactor to support azure openai provider ([d737afe](lobehub@d737afe))
* **misc**: Support  close openai ([1ff1aef](lobehub@1ff1aef))
* **misc**: Support display model list ([e59635f](lobehub@e59635f))
* **misc**: Support model config modal ([62d6bb7](lobehub@62d6bb7))
* **misc**: Support model list with model providers, closes [lobehub#1916](lobehub#1916) ([0895dd2](lobehub@0895dd2))
* **misc**: Support open router auto model list ([1ba90d3](lobehub@1ba90d3))
* **misc**: Support openai model fetcher ([56032e6](lobehub@56032e6))
* **misc**: Support update model config ([e8ed847](lobehub@e8ed847))
* **misc**: Support user config model ([72fd873](lobehub@72fd873))

#### What's fixed

* **misc**: Fix db migration ([4e75074](lobehub@4e75074))
* **misc**: Fix db migration ([571b6dd](lobehub@571b6dd))

#### Styles

* **misc**: Fix i18n of model list fetcher ([67ed8c2](lobehub@67ed8c2))
* **misc**: Improve detail design ([adcce07](lobehub@adcce07))
* **misc**: Improve logo style ([c5826ce](lobehub@c5826ce))
* **misc**: Update locale ([021bf91](lobehub@021bf91))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment