-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Docs: Add developing_bot.md #1029
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
base: main
Are you sure you want to change the base?
Conversation
|
Warning Rate limit exceeded@limitx0 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 40 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (10)
WalkthroughThis update revises documentation across multiple language-specific README files to update the link for contributing new AI bots, directing users to a local CONTRIBUTION.md file. Additionally, CONTRIBUTION.md receives an extensive new section detailing advanced bot development topics, including UI configuration, settings components, core method patterns, availability checks, custom icons, and internationalization. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant CONTRIBUTION.md
participant Repo
participant UI
Developer->>CONTRIBUTION.md: Reads advanced bot development topics
Developer->>Repo: Implements bot with settings, icons, i18n, etc.
Repo->>UI: Loads bot configuration and settings
UI->>Developer: Displays and manages bot according to new guidelines
Possibly related PRs
Suggested reviewers
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (8)
doc/developing_bot.md (3)
58-58: Remove stray backslash causing rendering issues.Line 58 contains a lone backslash (
\), which appears unintended and may break formatting in Markdown. Please remove it to ensure clean rendering.
4-5: Consider updating the Quick Start link.The "Quick Start" link still points to
CONTRIBUTION.md. Since this document serves as the main bot development guide, you may want to link directly to a relevant anchor in this file (or clarify the intended relationship between this doc and CONTRIBUTION.md).
1-311: Add a table of contents for easier navigation.This file is extensive and spans multiple topics. Adding a TOC at the top (e.g., manual Markdown links or a generated
[TOC]) would greatly improve usability for contributors.🧰 Tools
🪛 LanguageTool
[uncategorized] ~52-~52: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... etc. If your bot does not require login or you don't mind putting the key directly...(COMMA_COMPOUND_SENTENCE)
[style] ~64-~64: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... with multiple configurations, you will need to do even more work. #### Add settings ...(REP_NEED_TO_VB)
[uncategorized] ~99-~99: Loose punctuation mark.
Context: ..., ... }, ... }); ```setting1, `setting2`, and sub-objects can be adde...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~138-~138: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ot.js`, using the parameters you set is very simple: ```JavaScript ... import store from "...(EN_WEAK_ADJECTIVE)
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ..., ... }, ... }); ```setting1, `setting2`, and sub-objects can be adde...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~210-~210: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ot.js`, using the parameters you set is very simple: ```JavaScript ... import store from "...(EN_WEAK_ADJECTIVE)
[uncategorized] ~232-~232: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~295-~295: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...}, ``` Plus any other strings your bot need. In JavaScript, you can use the follow...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
README_ZH-CN.md (1)
158-158: Use a relative link to the local documentation.Instead of hard-coding the GitHub URL including
main, consider using a relative Markdown link:-[这份文档](https://github.com/ai-shifu/ChatALL/blob/main/doc/developing_bot.md)能提供一些帮助。 +[这份文档](./doc/developing_bot.md) 能提供一些帮助。This makes the link resilient to branch renames and easier to preview locally.
README_ES-ES.md (1)
158-158: Use a relative path for the bot development guide.Hard-coded GitHub URLs can break if default branches change. Please update to a relative link:
-[La guía](https://github.com/ai-shifu/ChatALL/blob/main/doc/developing_bot.md) puede ayudarle. +[La guía](./doc/developing_bot.md) puede ayudarle.README.md (1)
158-158: Switch to a relative link for the new guide.To ensure compatibility and ease of local previews, change the absolute GitHub URL to a relative path:
-[The guide](https://github.com/ai-shifu/ChatALL/blob/main/doc/developing_bot.md) may help you. +[The guide](./doc/developing_bot.md) may help you.README_JA-JP.md (1)
158-158: Update to a relative Markdown link.Use a relative reference for the documentation file:
-[ガイド](https://github.com/ai-shifu/ChatALL/blob/main/doc/developing_bot.md)を参考にしてください。 +[ガイド](./doc/developing_bot.md)を参考にしてください。This ensures the link remains valid regardless of branch name changes.
CONTRIBUTION.md (1)
94-95: Consider using a relative link for maintainability
To keep links branch- and environment-agnostic, use a relative path. For example:- For detailed bot development documentation, see [developing_bot.md](https://github.com/ai-shifu/ChatALL/blob/main/doc/developing_bot.md). + For detailed bot development documentation, see [developing_bot.md](doc/developing_bot.md).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
CONTRIBUTION.md(1 hunks)README.md(1 hunks)README_DE-DE.md(1 hunks)README_ES-ES.md(1 hunks)README_FR-FR.md(1 hunks)README_IT-IT.md(1 hunks)README_JA-JP.md(1 hunks)README_KO-KR.md(1 hunks)README_RU-RU.md(1 hunks)README_VI-VN.md(1 hunks)README_ZH-CN.md(1 hunks)doc/developing_bot.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
README_KO-KR.md
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.
개발자용
봇 기부
[가이드](https://github.com/ai-shifu/ChatALL/blo...
(UNPAIRED_BRACKETS)
README_RU-RU.md
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота [Этот гайд](https://github.com/ai-shifu/ChatALL/bl...
(Unify_PADJ_NN_number)
doc/developing_bot.md
[uncategorized] ~52-~52: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... etc. If your bot does not require login or you don't mind putting the key directly...
(COMMA_COMPOUND_SENTENCE)
[style] ~64-~64: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... with multiple configurations, you will need to do even more work. #### Add settings ...
(REP_NEED_TO_VB)
[uncategorized] ~99-~99: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~138-~138: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ot.js`, using the parameters you set is very simple: ```JavaScript ... import store from "...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~210-~210: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ot.js`, using the parameters you set is very simple: ```JavaScript ... import store from "...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~232-~232: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~295-~295: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...}, ``` Plus any other strings your bot need. In JavaScript, you can use the follow...
(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
🔇 Additional comments (6)
README_VI-VN.md (1)
158-158: Updated bot contribution guide link
The link now points to the centralizeddoc/developing_bot.mdfile on GitHub, ensuring contributors access the latest documentation.README_DE-DE.md (1)
158-158: Updated bot contribution guide link
The URL has been updated to the in-repo documentation, aligning with other localized README files for consistency.README_IT-IT.md (1)
158-158: Updated bot contribution guide link
The guide link now directs todoc/developing_bot.md, matching changes in other locale files.README_RU-RU.md (1)
158-158: Updated bot contribution guide link
The guide hyperlink is now consistent across localized READMEs and points to the repository's doc file.🧰 Tools
🪛 LanguageTool
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота [Этот гайд](https://github.com/ai-shifu/ChatALL/bl...(Unify_PADJ_NN_number)
CONTRIBUTION.md (1)
94-95: New direct link to bot development documentation
Good addition: contributors now have a direct reference todoc/developing_bot.mdfor detailed guidance.README_KO-KR.md (1)
158-158: Bot contribution link updated successfully: The link now correctly references the new comprehensive guide (doc/developing_bot.md).🧰 Tools
🪛 LanguageTool
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.개발자용
봇 기부
[가이드](https://github.com/ai-shifu/ChatALL/blo...
(UNPAIRED_BRACKETS)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
doc/developing_bot.md (1)
76-125: Consolidate duplicated Vuex store and settings examples
The Vuex store setup (lines 76–125) and the detailedKnowNothingBotSettings.vuesnippet (lines 150–197) are nearly identical. To keep the guide DRY and reduce maintenance burden, consider extracting this into one canonical section and linking to it from elsewhere.Also applies to: 150-197
🧰 Tools
🪛 LanguageTool
[uncategorized] ~99-~99: Loose punctuation mark.
Context: ..., ... }, ... }); ```setting1, `setting2`, and sub-objects can be adde...(UNLIKELY_OPENING_PUNCTUATION)
🧹 Nitpick comments (5)
doc/developing_bot.md (5)
4-4: Use relative link for CONTRIBUTION.md reference
For better maintainability, use a repository-relative path instead of the full GitHub URL:-[Basic bot setup](https://github.com/ai-shifu/ChatALL/blob/main/CONTRIBUTION.md#adding-a-new-ai-bot) +[Basic bot setup](../CONTRIBUTION.md#adding-a-new-ai-bot)
52-52: Add comma before “or” in compound sentence
Insert a comma to separate independent clauses:-If your bot does not require login or you don't mind putting the key directly in the code (strongly not recommended), you can skip this section. +If your bot does not require login, or you don't mind putting the key directly in the code (strongly not recommended), you can skip this section.🧰 Tools
🪛 LanguageTool
[uncategorized] ~52-~52: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... etc. If your bot does not require login or you don't mind putting the key directly...(COMMA_COMPOUND_SENTENCE)
137-138: Replace weak adjective “very simple”
Avoid overused intensifiers; a clearer alternative improves readability:-using the parameters you set is very simple: +using the parameters you set is straightforward:🧰 Tools
🪛 LanguageTool
[style] ~138-~138: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ot.js`, using the parameters you set is very simple: ```JavaScript ... import store from "...(EN_WEAK_ADJECTIVE)
160-160: Add missing comma before “and”
Separate independent clauses with a comma:-How you send and parse messages depends on the specific chatbot. Once you receive a response or hit an error, do the following: +How you send and parse messages depends on the specific chatbot, and once you receive a response or hit an error, do the following:🧰 Tools
🪛 LanguageTool
[uncategorized] ~160-~160: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
223-223: Fix grammatical number agreement
Correct “need” to “needs” for subject-verb agreement:-Plus any other strings your bot need. +Plus any other strings your bot needs.🧰 Tools
🪛 LanguageTool
[uncategorized] ~223-~223: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...}, ``` Plus any other strings your bot need. In JavaScript, you can use the follow...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
README_FR-FR.md(4 hunks)doc/developing_bot.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/developing_bot.md
[uncategorized] ~52-~52: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... etc. If your bot does not require login or you don't mind putting the key directly...
(COMMA_COMPOUND_SENTENCE)
[style] ~64-~64: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... with multiple configurations, you will need to do even more work. #### Add settings ...
(REP_NEED_TO_VB)
[uncategorized] ~99-~99: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~138-~138: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ot.js`, using the parameters you set is very simple: ```JavaScript ... import store from "...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~160-~160: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~223-~223: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...}, ``` Plus any other strings your bot need. In JavaScript, you can use the follow...
(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
README_FR-FR.md
[uncategorized] ~34-~34: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | ChatGLM2 6B & 130B ...
(FRENCH_WHITESPACE)
[uncategorized] ~44-~44: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | [Gemma 2B & 7B](https://blog.google/technology/deve...
(FRENCH_WHITESPACE)
[uncategorized] ~45-~45: Le trait d’union doit être supprimé.
Context: ... | Pour les modèles Hugging Face space/self-deployed | | [Groq Cloud](https://console.groq.c...
(MOT_TRAIT_MOT)
[uncategorized] ~50-~50: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | Llama 2 13B & 70B ...
(FRENCH_WHITESPACE)
[uncategorized] ~58-~58: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | [Vicuna 13B & 33B](https://lmsys.org/blog/2023-03-30-...
(FRENCH_WHITESPACE)
[typographical] ~80-~80: Caractère d’apostrophe incorrect.
Context: ...kwei) - Raccourcis clavier. Appuyez sur <kbd>Ctrl</kbd> + <kbd>/</kbd> pour les...
(APOS_INCORRECT)
[typographical] ~80-~80: Caractère d’apostrophe incorrect.
Context: ...vier. Appuyez sur <kbd>Ctrl</kbd> + <kbd>/</kbd> pour les connaître tous (contr...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...udre : 1. Rafraîchir - appuyez sur <kbd>Ctrl</kbd> + <kbd>R</kbd> ou `<kbd...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...r** - appuyez sur <kbd>Ctrl</kbd> + <kbd>R</kbd> ou <kbd>⌘</kbd> + <kbd>R...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...kbd>Ctrl+Rou⌘+R`. 2. **Redém...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ... <kbd>R</kbd> ou <kbd>⌘</kbd> + <kbd>R</kbd>. 2. Redémarrer - quittez C...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...R</kbd> ou <kbd>⌘</kbd> + <kbd>R</kbd>. 2. Redémarrer - quittez ChatALL et...
(APOS_INCORRECT)
🔇 Additional comments (1)
README_FR-FR.md (1)
158-158: Link to new documentation is correct
The French link now properly points todoc/developing_bot.mdwith fully localized text ("peut vous aider."), matching the updates in other language files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (7)
doc/developing_bot.md (7)
1-5: Enhance Quick Start with context and relative link
The Quick Start section currently only links toCONTRIBUTION.md. Consider adding a brief summary of the key steps here to make the guide more self-contained, and use a relative link instead of an absolute URL for maintainability:- - [Basic bot setup](https://github.com/ai-shifu/ChatALL/blob/main/CONTRIBUTION.md#adding-a-new-ai-bot) + - [Basic bot setup](../CONTRIBUTION.md#adding-a-new-ai-bot)
57-59: Remove stray backslash
Line 58 contains a lone backslash (\) which appears unintended. Please delete this line to avoid confusing readers.
68-76: Refine informal phrasing
The sentence "By referring to the existing code, you can basically get everything working. No need for further explanation here." is informal. Consider rephrasing for a professional tone, e.g.:By reviewing the existing implementation, you can adapt the code to suit your bot’s settings.
79-97: Standardize code fence language identifiers
This Vuex store snippet usesJavaScript. For consistency, convert all fences to lowercase (e.g.,javascript) across the document.
104-125: Standardize code fence language identifiers
The BotSettings component example usesJavaScript. Please standardize it tojavascriptto match other snippets.
207-213: Standardize code fence language identifiers
The JSON snippets usejson`, which is fine, but for consistency with other fences, ensure all snippet languages are lowercase (javascript,html,json```).
235-238: Standardize code fence language identifiers
In the HTML example, change the fence to lowercasehtmlfor consistency.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
doc/developing_bot.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/developing_bot.md
[style] ~64-~64: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... with multiple configurations, you will need to do even more work. #### Add settings ...
(REP_NEED_TO_VB)
[uncategorized] ~99-~99: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~160-~160: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
🔇 Additional comments (3)
doc/developing_bot.md (3)
12-28: UI Order Configuration: Code Snippet is Clear
The example for modifyingsrc/bots/index.jsis straightforward and accurate.
168-194: checkAvailability() Implementation Example
The code snippet for toggling availability flags is accurate and covers the necessary cases.
198-203: Custom Bot Icons Example
The instructions for adding a custom icon file and updating the static_logoFilenamefield are clear and correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (4)
doc/developing_bot.md (4)
204-238: Multi-language support instructions are helpful but could show full JSON context
The snippets foren.jsonandzh.jsonare correct key/value pairs, but they appear as fragments (and include trailing commas which aren’t valid in standalone JSON). Consider wrapping them in a complete JSON structure or noting that these are file excerpts:`en.json` - ```json - "knowNothing": { - "name": "Know Nothing" - }, - ``` + ```json + { + "knowNothing": { + "name": "Know Nothing" + } + } + ```
64-64: Vary phrasing to avoid repetition
The sentence “For complex settings with multiple configurations, you will need to do even more work” repeats “you will.” Consider rephrasing for readability:- 3. For complex settings with multiple configurations, you will need to do even more work. + 3. Complex setups with multiple configuration options require additional implementation steps.🧰 Tools
🪛 LanguageTool
[style] ~64-~64: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... with multiple configurations, you will need to do even more work. #### Add settings ...(REP_NEED_TO_VB)
158-160: Improve sentence separation for clarity
The transition from the list of interfaces to the next sentence is missing a period. Add punctuation and split into two sentences:- 3. For WebSocket APIs: see `BingChatBot.js` - How you send and parse messages depends on the specific chatbot, and once you receive a response or hit an error, do the following: + 3. For WebSocket APIs: see `BingChatBot.js`. + + How you send and parse messages depends on the specific chatbot. Once you receive a response or hit an error, do the following:🧰 Tools
🪛 LanguageTool
[uncategorized] ~160-~160: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
162-166: Unify object formatting in code examples
Spacing inside the curly braces varies across examples. For consistency, use a space after{and before}:- onUpdateResponse(callbackParam, {content: text, done: false}); + onUpdateResponse(callbackParam, { content: text, done: false });
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
doc/developing_bot.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/developing_bot.md
[style] ~64-~64: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... with multiple configurations, you will need to do even more work. #### Add settings ...
(REP_NEED_TO_VB)
[uncategorized] ~99-~99: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~160-~160: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
🔇 Additional comments (7)
doc/developing_bot.md (7)
8-48: UI order configuration examples look clear and concise
The instructions and code snippets for modifyingsrc/bots/index.jsare easy to follow and correctly illustrate how to change the display order of bots.
50-65: Setting component implementation guidance is comprehensive
The documentation clearly explains when to skip the section and how to scaffold a new settings component insrc/components/BotSettings/. The three outlined options (login only, API key only, complex settings) cover typical use cases.🧰 Tools
🪛 LanguageTool
[style] ~64-~64: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... with multiple configurations, you will need to do even more work. #### Add settings ...(REP_NEED_TO_VB)
66-75: Add settings field introduction is accurate
The explanation of Vuetify 3 as the UI framework and the vuex-persist integration is on point. This sets contributors up to adapt the UI to their bot’s configuration needs.
76-97: Vuex store snippet is correct
The samplecreateStoresnippet shows how to declare theknowNothingstate and mutation properly. This aligns with thevuex-persistusage instructions.
101-125: BotSettings.vue example is well structured
The example demonstratesmapMutationsandmapStateusage clearly, showcasing how to wire up settings fields to the Vuex store.
168-195: checkAvailability() implementation guidance is solid
The steps to toggle_isAvailableand returnisAvailable()are clear and match the existing bot class patterns.
196-203: Custom bot icons section is straightforward
The instructions for placing an icon insrc/assets/bots/and updating_logoFilenameare concise and correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (3)
doc/developing_bot.md (3)
3-6: Enhance Quick Start with actionable steps
The Quick Start section currently only links toCONTRIBUTION.md. Consider adding minimal, in-document commands so contributors can get up and running immediately without context-switching. For example:## Quick Start -- See [Adding a new AI bot](https://github.com/ai-shifu/ChatALL/blob/main/CONTRIBUTION.md#adding-a-new-ai-bot) in `CONTRIBUTION.md`. ++ 1. Clone the repository: ++ ```bash ++ git clone https://github.com/ai-shifu/ChatALL.git ++ cd ChatALL ++ ``` ++ 2. Install dependencies: ++ ```bash ++ npm install ++ ``` ++ 3. Start the dev server: ++ ```bash ++ npm run dev ++ ``` ++ 4. Open http://localhost:3000 in your browser.This reduces friction for first-time contributors.
60-64: Refine phrasing for professional tone
The phrase “you will need to do a lot of hack work” could be reworded to sound more professional and precise. For example:
- “you may need to implement custom workarounds to handle CORS or authentication blockers.”
161-167: Clarify onUpdateResponse steps
Steps 1 and 2 overlap in describing partial vs. final updates. Consider simplifying to:1. For each incoming chunk: ```js onUpdateResponse(callbackParam, { content: text, done: false });
- After the last chunk:
onUpdateResponse(callbackParam, { done: true });- On success:
resolve().- On error:
reject(error).This removes ambiguity about when to include `content`. <details> <summary>🧰 Tools</summary> <details> <summary>🪛 LanguageTool</summary> [uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short). Context: ...PIs: see `BingChatBot.js` How you send and parse messages depends on the specific ... (COMMA_COMPOUND_SENTENCE_2) </details> </details> </blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used: CodeRabbit UI** **Review profile: CHILL** **Plan: Pro** <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 277041088f927159bed2648503489605cb22fc1b and d9c38fc30943deb014cf639798856cfe7524cada. </details> <details> <summary>📒 Files selected for processing (1)</summary> * `doc/developing_bot.md` (1 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>doc/developing_bot.md</summary> [uncategorized] ~100-~100: Loose punctuation mark. Context: ..., ... }, ... }); ``` `setting1`, `setting2`, and sub-objects can be adde... (UNLIKELY_OPENING_PUNCTUATION) --- [uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short). Context: ...PIs: see `BingChatBot.js` How you send and parse messages depends on the specific ... (COMMA_COMPOUND_SENTENCE_2) </details> </details> </details> <details> <summary>🔇 Additional comments (2)</summary><blockquote> <details> <summary>doc/developing_bot.md (2)</summary> `13-28`: **Review of UI order configuration snippet** The example for modifying the `all` array in `src/bots/index.js` is clear and accurate—it effectively demonstrates how to control the display order of bots. --- `131-134`: **Example correctly updated for Vuetify 3 event binding** The `<v-text-field>` snippet now uses `@update:model-value`, which aligns with Vuetify 3’s event model and replaces the deprecated `@change`. </details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (2)
doc/developing_bot.md (2)
3-6: Make Quick Start actionable
The Quick Start section currently only links toCONTRIBUTION.md. Consider adding direct, runnable commands (e.g.,npm install,npm run dev, openhttp://localhost:3000) so contributors can get up and running without context switching.
161-167: Clarify onUpdateResponse steps
Steps for callingonUpdateResponsestill include both a full-content final update and an optional empty-object call, which may confuse contributors. Consider simplifying to:
- For each chunk, call
onUpdateResponse(callbackParam, { content: text, done: false });- After the final chunk, call
onUpdateResponse(callbackParam, { done: true });
Remove the mixed full-content final update to avoid ambiguity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
doc/developing_bot.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/developing_bot.md
[uncategorized] ~100-~100: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
🔇 Additional comments (7)
doc/developing_bot.md (7)
11-29: UI configuration example looks good
The instructions and code snippets for customizing bot order insrc/bots/index.jsare clear and correct.
53-66: Settings component guidance is clear
The steps for creating a bot settings component using existing templates are well explained.
77-98: Vuex store snippet is accurate
The example for adding state and mutations tosrc/store/index.jsis correct and follows best practices.
102-126: Settings component code is accurate
The code example inKnowNothingBotSettings.vue, includingmapMutations,mapState, and correct Vuetify 3@update:model-valueusage, is correct.
131-134: Vuetify 3 input binding is correct
The<v-text-field>snippet uses the proper@update:model-valueevent for v-model updates.
168-194: checkAvailability explanation is clear
ThecheckAvailability()guidelines are comprehensive and correctly describe the required behavior.
197-202: Custom bot icon instructions are correct
Placing the icon insrc/assets/bots/and setting_logoFilenameis straightforward and accurate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
doc/developing_bot.md (1)
3-6: Consider enriching the Quick Start with actionable steps
Currently the Quick Start only links to CONTRIBUTION.md. New contributors often appreciate minimal runnable commands (e.g., install dependencies, start the dev server, open localhost) to get up and running immediately.To illustrate:
## Quick Start - See [Adding a new AI bot](https://github.com/ai-shifu/ChatALL/blob/main/CONTRIBUTION.md#adding-a-new-ai-bot) in `CONTRIBUTION.md`. + 1. Clone the repo and install dependencies: + ```bash + git clone https://github.com/ai-shifu/ChatALL.git + cd ChatALL + npm install + ``` + 2. Start the development server: + ```bash + npm run dev + ``` + 3. Open http://localhost:3000 in your browser. + 4. Then see [Adding a new AI bot](https://github.com/ai-shifu/ChatALL/blob/main/CONTRIBUTION.md#adding-a-new-ai-bot).
🧹 Nitpick comments (1)
doc/developing_bot.md (1)
152-167: Refine the_sendPrompt()instructions for clarity
The steps foronUpdateResponsecalls are accurate but the wording can be tightened to avoid confusion between partial and final updates.For example:
1. For each incoming chunk, call: ```js onUpdateResponse(callbackParam, { content: text, done: false });
- After the final chunk, call:
onUpdateResponse(callbackParam, { done: true });- On completion, call
resolve().- On error, call
reject(error).This removes overlap and clarifies when to use each call. <details> <summary>🧰 Tools</summary> <details> <summary>🪛 LanguageTool</summary> [uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short). Context: ...PIs: see `BingChatBot.js` How you send and parse messages depends on the specific ... (COMMA_COMPOUND_SENTENCE_2) </details> </details> </blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used: CodeRabbit UI** **Review profile: CHILL** **Plan: Pro** <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 6ae68c5be2062f7dbd566c31b89049f14e4b64de and 5466e35283df7bdf686bbe7cece26f4e113e06ef. </details> <details> <summary>📒 Files selected for processing (1)</summary> * `doc/developing_bot.md` (1 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>doc/developing_bot.md</summary> [uncategorized] ~100-~100: Loose punctuation mark. Context: ..., ... }, ... }); ``` `setting1`, `setting2`, and sub-objects can be adde... (UNLIKELY_OPENING_PUNCTUATION) --- [uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short). Context: ...PIs: see `BingChatBot.js` How you send and parse messages depends on the specific ... (COMMA_COMPOUND_SENTENCE_2) </details> </details> </details> <details> <summary>🔇 Additional comments (9)</summary><blockquote> <details> <summary>doc/developing_bot.md (9)</summary> `9-29`: **UI order configuration section is clear** The code snippets accurately show how to reorder bots in `src/bots/index.js`. The examples are straightforward and correctly formatted. --- `51-65`: **Setting component implementation is well explained** The guidance on copying existing settings components and notes on login vs. API key setups is concise and actionable. No changes needed here. --- `72-100`: **Vuex store snippet is correct** The example for adding `knowNothing` state and the corresponding `setKnowNothing` mutation is accurate. The note on maintaining the top-level object name is clear. <details> <summary>🧰 Tools</summary> <details> <summary>🪛 LanguageTool</summary> [uncategorized] ~100-~100: Loose punctuation mark. Context: ..., ... }, ... }); ``` `setting1`, `setting2`, and sub-objects can be adde... (UNLIKELY_OPENING_PUNCTUATION) </details> </details> --- `102-126`: **Bot settings component example is accurate** The `KnowNothingBotSettings.vue` methods and computed property using `mapMutations` and `mapState` are correctly shown. No adjustments needed. --- `129-135`: **Vuetify 3 event binding is correct** The use of `@update:model-value="setSetting1"` aligns with Vuetify 3 conventions. Good catch on updating from the deprecated `@update`. --- `168-194`: **checkAvailability() section is clear** The description of setting `_isAvailable` flags and returning `this.isAvailable()` is precise. No further changes required. --- `196-202`: **Custom bot icons instructions are straightforward** The guidance to place the icon file and set `_logoFilename` is correct and unambiguous. --- `204-229`: **Multi-language support JSON examples are valid** Both `en.json` and `zh.json` snippets are well-formed and free of trailing commas. The use of ellipses to indicate context is acceptable in documentation. --- `231-246`: **i18n usage examples look good** The JavaScript and template code for retrieving localized strings using `i18n.global.t` and `{{ $t() }}` is clear and accurate. </details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
|
@PeterDaveHello I'd appreciate your feedback on the commits in this pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (6)
docs/developing_bot.md (5)
11-29: Standardize bot array naming conventions.
The snippet uses...existing_bots, which mixes snake_case in a JS codebase that predominantly uses camelCase. Consider renaming toexistingBotsand verify that the variable is defined in your application context.- ...existing_bots + ...existingBots
53-66: Clarify security considerations for login/API keys.
The note about “hack work” is vague and could discourage contributors. Recommend linking to best practices for securely managing credentials (e.g., environment variables,.envfiles, or a secrets manager).
151-167: Enhance clarity with types or code examples.
Consider adding a TypeScript interface (or JSDoc) forcallbackParamand including a full_sendPromptsample (e.g., SSE pattern) so contributors see end-to-end code rather than just bullet points.🧰 Tools
🪛 LanguageTool
[uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
168-194: Include sample error handling incheckAvailability().
A try/catch around the availability checks could improve debuggability. For example:static async checkAvailability() { + try { // ...perform checks... this.constructor._isAvailable = true; + } catch (err) { + console.error('Availability check failed:', err); + this.constructor._isAvailable = false; + } return this.isAvailable(); }
204-240: Add guidance for missing translation fallbacks.
Recommend mentioning how to handle missing keys (e.g.,i18n.global.t('key') || 'Fallback') to avoid untranslated strings appearing in the UI.README_KO-KR.md (1)
158-158: Improve naturalness of the guide link.
In Korean, it's more idiomatic to use “이 가이드” rather than just “가이드”:-[가이드](docs/developing_bot.md)가 도움이 될 수 있습니다. +[이 가이드](docs/developing_bot.md)가 도움이 될 수 있습니다.🧰 Tools
🪛 LanguageTool
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.개발자용
봇 기부
가이드가 도움이 될 수 있습니다.
...(UNPAIRED_BRACKETS)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
CONTRIBUTION.md(1 hunks)README.md(1 hunks)README_DE-DE.md(1 hunks)README_ES-ES.md(1 hunks)README_FR-FR.md(4 hunks)README_IT-IT.md(1 hunks)README_JA-JP.md(1 hunks)README_KO-KR.md(1 hunks)README_RU-RU.md(1 hunks)README_VI-VN.md(1 hunks)README_ZH-CN.md(1 hunks)docs/developing_bot.md(1 hunks)
✅ Files skipped from review due to trivial changes (5)
- README_ZH-CN.md
- CONTRIBUTION.md
- README.md
- README_VI-VN.md
- README_DE-DE.md
🚧 Files skipped from review as they are similar to previous changes (3)
- README_IT-IT.md
- README_JA-JP.md
- README_ES-ES.md
🧰 Additional context used
🪛 LanguageTool
README_FR-FR.md
[uncategorized] ~34-~34: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | ChatGLM2 6B & 130B ...
(FRENCH_WHITESPACE)
[uncategorized] ~44-~44: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | [Gemma 2B & 7B](https://blog.google/technology/deve...
(FRENCH_WHITESPACE)
[uncategorized] ~45-~45: Le trait d’union doit être supprimé.
Context: ... | Pour les modèles Hugging Face space/self-deployed | | [Groq Cloud](https://console.groq.c...
(MOT_TRAIT_MOT)
[uncategorized] ~50-~50: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | Llama 2 13B & 70B ...
(FRENCH_WHITESPACE)
[uncategorized] ~58-~58: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | [Vicuna 13B & 33B](https://lmsys.org/blog/2023-03-30-...
(FRENCH_WHITESPACE)
[typographical] ~80-~80: Caractère d’apostrophe incorrect.
Context: ...kwei) - Raccourcis clavier. Appuyez sur <kbd>Ctrl</kbd> + <kbd>/</kbd> pour les...
(APOS_INCORRECT)
[typographical] ~80-~80: Caractère d’apostrophe incorrect.
Context: ...vier. Appuyez sur <kbd>Ctrl</kbd> + <kbd>/</kbd> pour les connaître tous (contr...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...udre : 1. Rafraîchir - appuyez sur <kbd>Ctrl</kbd> + <kbd>R</kbd> ou `<kbd...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...r** - appuyez sur <kbd>Ctrl</kbd> + <kbd>R</kbd> ou <kbd>⌘</kbd> + <kbd>R...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...kbd>Ctrl+Rou⌘+R`. 2. **Redém...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ... <kbd>R</kbd> ou <kbd>⌘</kbd> + <kbd>R</kbd>. 2. Redémarrer - quittez C...
(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...R</kbd> ou <kbd>⌘</kbd> + <kbd>R</kbd>. 2. Redémarrer - quittez ChatALL et...
(APOS_INCORRECT)
README_KO-KR.md
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.
개발자용
봇 기부
가이드가 도움이 될 수 있습니다.
...
(UNPAIRED_BRACKETS)
README_RU-RU.md
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота Этот гайд может помочь в...
(Unify_PADJ_NN_number)
docs/developing_bot.md
[uncategorized] ~100-~100: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
🔇 Additional comments (7)
docs/developing_bot.md (2)
196-203: Custom bot icon instructions are clear.
The guide for placing and referencing the icon file is concise and accurate.
5-5:Details
✅ Verification successful
Verify anchor in CONTRIBUTION.md.
Double-check that the#adding-a-new-ai-botsection exists inCONTRIBUTION.mdso this link won’t 404.
🏁 Script executed:
#!/bin/bash rg -n "# Adding a new AI bot" CONTRIBUTION.mdLength of output: 47
To pinpoint the actual heading and verify the correct anchor, let’s list all headings and search for “AI bot” in CONTRIBUTION.md:
🏁 Script executed:
#!/bin/bash # List all markdown headings rg -n '^#{1,6} ' CONTRIBUTION.md # Search for "AI bot" mentions rg -n 'AI bot' CONTRIBUTION.mdLength of output: 1443
Anchor Verified – No Changes Needed
The## Adding a New AI Botheading exists in CONTRIBUTION.md (line 76), which GitHub converts to the#adding-a-new-ai-botanchor. The link in docs/developing_bot.md is correct.README_RU-RU.md (1)
158-158: Approve updated guide link.
Switching from the external wiki URL to the internaldocs/developing_bot.mdlink keeps documentation self-contained and maintainable.🧰 Tools
🪛 LanguageTool
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота Этот гайд может помочь в...(Unify_PADJ_NN_number)
README_FR-FR.md (4)
29-35: Proper HTML entity usage for ampersand.
Converting&to&in bot names ensures correct rendering in Markdown tables.🧰 Tools
🪛 LanguageTool
[uncategorized] ~34-~34: Le point-virgule est précédé d’une espace fine insécable.
Context: ... | | ChatGLM2 6B & 130B ...(FRENCH_WHITESPACE)
80-80: Consistent use of<kbd>tags for keyboard shortcuts.
Wrapping key combos in<kbd>tags improves readability and accessibility.🧰 Tools
🪛 LanguageTool
[typographical] ~80-~80: Caractère d’apostrophe incorrect.
Context: ...kwei) - Raccourcis clavier. Appuyez sur<kbd>Ctrl</kbd>+<kbd>/</kbd>pour les...(APOS_INCORRECT)
[typographical] ~80-~80: Caractère d’apostrophe incorrect.
Context: ...vier. Appuyez sur<kbd>Ctrl</kbd>+<kbd>/</kbd>pour les connaître tous (contr...(APOS_INCORRECT)
139-139: Wrap shortcut keys in<kbd>tags.
Applying<kbd>tags to the refresh/action sequence maintains consistency with the rest of the document.🧰 Tools
🪛 LanguageTool
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...udre : 1. Rafraîchir - appuyez sur<kbd>Ctrl</kbd>+<kbd>R</kbd>ou `<kbd...(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...r** - appuyez sur<kbd>Ctrl</kbd>+<kbd>R</kbd>ou<kbd>⌘</kbd>+<kbd>R...(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...kbd>Ctrl+Rou⌘+R`. 2. **Redém...(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...<kbd>R</kbd>ou<kbd>⌘</kbd>+<kbd>R</kbd>. 2. Redémarrer - quittez C...(APOS_INCORRECT)
[typographical] ~139-~139: Caractère d’apostrophe incorrect.
Context: ...R</kbd>ou<kbd>⌘</kbd>+<kbd>R</kbd>. 2. Redémarrer - quittez ChatALL et...(APOS_INCORRECT)
158-158: Correct French translation and relative link.
Updating the bot guide link to a relative path and translating the link text to French (“peut vous aider”) aligns with localization standards.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
docs/developing_bot.md (1)
79-98: Include missing Vuex imports and plugin setup.
As noted in past reviews, the store snippet omits thecreateStoreimport and thevuex-persistplugin registration, which are required for local-storage persistence to work.
🧹 Nitpick comments (3)
docs/developing_bot.md (3)
11-29: Enhance the UI-order snippet with import guidance.
The example shows how to reorder theallarray, but contributors may forget to import their new bot at the top ofsrc/bots/index.js. Consider adding a note or diff like:+ // At the top of src/bots/index.js + import KnowNothingBot from "@/bots/KnowNothingBot";
55-66: Provide a minimal Vue component skeleton.
While you point to existing templates, including a short code stub forKnowNothingBotSettings.vuewould help readers get started faster. For example:<template> <v-form>...</v-form> </template> <script> import Bot from "@/bots/KnowNothingBot"; export default { name: "KnowNothingBotSettings", // … }; </script>
168-194: Consider adding a code example forcheckAvailability().
The description is clear, but a small snippet illustrating a minimalcheckAvailabilityimplementation would make it easier to copy-paste.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
CONTRIBUTION.md(1 hunks)README.md(1 hunks)README_DE-DE.md(1 hunks)README_ES-ES.md(1 hunks)README_FR-FR.md(1 hunks)README_IT-IT.md(1 hunks)README_JA-JP.md(1 hunks)README_KO-KR.md(1 hunks)README_RU-RU.md(1 hunks)README_VI-VN.md(1 hunks)README_ZH-CN.md(1 hunks)docs/developing_bot.md(1 hunks)
✅ Files skipped from review due to trivial changes (5)
- README_ZH-CN.md
- README_JA-JP.md
- README_ES-ES.md
- README_DE-DE.md
- README_IT-IT.md
🚧 Files skipped from review as they are similar to previous changes (4)
- README_VI-VN.md
- CONTRIBUTION.md
- README.md
- README_FR-FR.md
🧰 Additional context used
🪛 LanguageTool
README_KO-KR.md
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.
개발자용
봇 기부
가이드가 도움이 될 수 있습니다.
...
(UNPAIRED_BRACKETS)
README_RU-RU.md
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота Этот гайд может помочь в...
(Unify_PADJ_NN_number)
docs/developing_bot.md
[uncategorized] ~100-~100: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
🔇 Additional comments (9)
README_RU-RU.md (1)
156-160: Link update is correct and consistent.
The relative link[Этот гайд](docs/developing_bot.md)properly redirects to the newdocs/developing_bot.mdguide. No further changes needed here.🧰 Tools
🪛 LanguageTool
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота Этот гайд может помочь в...(Unify_PADJ_NN_number)
README_KO-KR.md (1)
156-160: Link update is correct and consistent.
The relative link[가이드](docs/developing_bot.md)in the "봇 기부" section correctly points to the new documentation file.🧰 Tools
🪛 LanguageTool
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.개발자용
봇 기부
가이드가 도움이 될 수 있습니다.
...(UNPAIRED_BRACKETS)
docs/developing_bot.md (7)
1-6: Quick Start link is accurate.
The pointer to../CONTRIBUTION.md#adding-a-new-ai-botcorrectly directs users to the relevant section in the contribution guide.
129-136: v-text-field binding is correct.
The example demonstrates proper use ofv-modeland an update event in Vuetify 3.
139-149: Store usage snippet is clear.
Referencingstore.state.knowNothingand destructuring it provides a straightforward pattern for accessing settings.
151-167: _sendPrompt() guidance is well-structured.
The step-by-step instructions for different response patterns cover HTTP, SSE, and WebSocket flows comprehensively.🧰 Tools
🪛 LanguageTool
[uncategorized] ~161-~161: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
196-203: Custom icon instructions are straightforward.
Specifying the asset path and_logoFilenameconstant covers everything needed for icon integration.
209-232: Multi-language JSON snippets look good.
The examples foren.jsonandzh.jsonclearly show where to add your bot’s localization keys.
233-246: i18n usage in JS and HTML is accurate.
Showing both thei18n.global.t()call and the{{ $t() }}interpolation gives a complete picture of localization in code.
This comment was marked as off-topic.
This comment was marked as off-topic.
|
@PeterDaveHello Please help me review this changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds a new detailed guide for developing bots to improve onboarding documentation for developers.
- Introduces the file docs/developing_bot.md with step-by-step instructions for bot development.
- Updates multiple localized README files to reference the new guide.
- Updates CONTRIBUTION.md to point users to the new, comprehensive bot development documentation.
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docs/developing_bot.md | New guide detailing steps from UI ordering to settings configuration. |
| README_ZH-CN.md, README_VI-VN.md, README_RU-RU.md, README_KO-KR.md, README_JA-JP.md, README_IT-IT.md, README_FR-FR.md, README_ES-ES.md, README_DE-DE.md, README.md | Updated links to use the new developing_bot.md guide. |
| CONTRIBUTION.md | Added a reference to docs/developing_bot.md for detailed guidance. |
Comments suppressed due to low confidence (1)
docs/developing_bot.md:63
- [nitpick] Consider rephrasing 'a lot of hack work' to a more neutral term such as 'extensive workarounds' to maintain a professional tone in the documentation.
(Note: Some websites have implemented security measures to prevent ChatALL and similar clients from accessing them. If you encounter such situations, you will need to do a lot of hack work.)
|
@coderabbitai, please help review content in developing_bot.md based on its original content written in Simplified Chinese: 如何添加一个新的 AI 对话机器人为 ChatALL 增加新的 AI 对话机器人,最简单情况只需要三步:
下面开始一步步介绍。假定已经 clone 了最新代码。 Hello world!假定你要支持的 AI 大模型叫「KnowNothing」,那么按以下步骤可以快速跑起一个 Hello world。 第一步:用模板创建 js 文件在 第二步:修改 js 文件修改 export default class KnowNothingBot extends Bot {
static _brandId = "KnowNothing"; // Brand id of the bot, should be unique. Used in i18n.
static _className = "KnowNothingBot"; // Class name of the bot
...第三步:让代码生效修改 // Bots
import ChatGPT35Bot from "@/bots/openai/ChatGPT35Bot";
import ChatGPT4Bot from "@/bots/openai/ChatGPT4Bot";
import ChatGPTBrowsingBot from "@/bots/openai/ChatGPTBrowsingBot";
import BingChatPreciseBot from "@/bots/microsoft/BingChatPreciseBot";
import BingChatBalancedBot from "@/bots/microsoft/BingChatBalancedBot";
import BingChatCreativeBot from "@/bots/microsoft/BingChatCreativeBot";
import SparkBot from "@/bots/SparkBot";
import BardBot from "@/bots/BardBot";
import OpenAIAPI35Bot from "@/bots/openai/OpenAIAPI35Bot";
import OpenAIAPI4Bot from "@/bots/openai/OpenAIAPI4Bot";
import MOSSBot from "@/bots/MOSSBot";任意位置增加一行: import KnowNothingBot from '@/bots/KnowNothingBot';再找到: const all = [
ChatGPT35Bot.getInstance(),
ChatGPT4Bot.getInstance(),
OpenAIAPI35Bot.getInstance(),
OpenAIAPI4Bot.getInstance(),
BingChatCreativeBot.getInstance(),
BingChatBalancedBot.getInstance(),
BingChatPreciseBot.getInstance(),
WenxinQianfanBot.getInstance(),
SparkBot.getInstance(),
MOSSBot.getInstance(),
BardBot.getInstance(),
],把你的 bot 放进去。注意,这里对各个 bot 的引用顺序,决定了它们在图标栏出现的顺序。比如,你希望你的 bot 在 ChatGPT 和 Bing Chat 之间,那么: const all = [
ChatGPT35Bot.getInstance(),
ChatGPT4Bot.getInstance(),
KnowNothingBot.getInstance(), // You are here
OpenAIAPI35Bot.getInstance(),
OpenAIAPI4Bot.getInstance(),
...
],第四步:运行是的,hello world 已经完成了。在项目目录下,执行下面命令(假定你已经安装了 npm): npm install
npm run electron:serve图标栏里看到它了吗?选择它,然后发个消息试试吧! 增加设置组件需要在设置组件里实现登录、API key 配置等功能,这是完成其它核心功能的基础。但如果你的 bot 不需要登录,或者不在意把 key 直接放到代码里(非常不建议这么做),那么可以跳过本节。 创建设置组件设置组件要建在 现有的设置组件可以当做模板:
增加设置项ChatALL 的设置组件使用 Vuetify 3 实现。访问官方文档可以查看和测试它支持的丰富组件。通过参考已有代码,基本可以完成开发工作,这里不再赘述。 ChatALL 的设置参数通过 首先,在 export default createStore({
state: {
...
knowNothing: {
setting1: "",
setting2: "",
},
...
},
mutations: {
...
setKnowNothing(state, { setting1, setting2 }) {
state.knowNothing = { setting1, setting2 };
},
...
},
...
});
然后在 export default {
...
methods: {
...mapMutations(["setKnowNothing"]),
setSetting1(value){
this.setKnowNothing({
...this.knowNothing,
setting1: value
})
},
setSetting2(value){
this.setKnowNothing({
...this.knowNothing,
setting2: value
})
},
},
computed: {
...mapState(["knowNothing"])
}
}最后,把 Vuetify 组件的 <v-text-field
v-model="knowNothing.setting1"
@change="setSetting1($event.target.value)"
></v-text-field>完工!运行后,打开 DevTools,可以在 Application 下查看存储是否正确。 在 KnowNothingBot.js 中使用设置的参数非常简单: ...
import store from "@/store";
...
store.state.knowNothing.setting1
store.state.knowNothing.setting2
const { setting1, setting2 } = store.state.knowNothing;
...实现核心功能实现
|
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 7239 @PeterDaveHello Thank you for providing the original Chinese content for comparison. After reviewing both versions, I've identified several significant differences between the English translation in Major Missing Sections1. Complete "Hello World" Tutorial MissingThe Chinese version has a comprehensive step-by-step tutorial for creating a
The English version completely omits this tutorial and only refers to 2. Missing Basic IntroductionThe Chinese starts with a clear 3-step overview:
3. Missing Implementation Sections
Structural DifferencesThe Chinese provides a tutorial progression (beginner → advanced), while the English treats everything as "Advanced Topics." This makes the English less accessible to newcomers. Technical Code DifferencesVuetify event handling:
The English version uses the more modern Vuetify 3 syntax. RecommendationThe English version appears to be a restructured reference guide rather than a complete translation. To better serve developers, consider:
The current English version is technically accurate for what it covers, but it's incomplete compared to the comprehensive Chinese original. thinking deeply about documentation completeness |
|
@limitx0 Could you review CodeRabbitAI's comparison above? The English version seems to be missing the essential "Hello World" tutorial from the Chinese original. New contributors would benefit from the step-by-step walkthrough for creating a Please confirm if you plan to add the missing beginner sections to make this a complete tutorial rather than just an advanced reference guide. |
|
Except for createConversation(), which seems not to be implemented yet, all the other missing parts (including the "Hello World" tutorial) mentioned by CodeRabbitAI are already covered in the Adding a New AI Bot section of the @PeterDaveHello Do you think it would be helpful to add a link to Adding a New AI Bot in this document, or would it be better to move the entire section over here? |
|
Thank you @limitx0 for this comprehensive documentation work. Given the overlapping content between Benefits:
We could enhance the existing "Adding a New AI Bot" section with your detailed content, including the missing "Hello World" tutorial. Thoughts on this consolidation approach? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
CONTRIBUTION.md(2 hunks)
🧰 Additional context used
🪛 LanguageTool
CONTRIBUTION.md
[uncategorized] ~336-~336: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~397-~397: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (2)
CONTRIBUTION.md (2)
94-95: Duplicate link path fix (already noted).The link points to
docs/developing_bot.md, but the file resides indoc/.-[docs/developing_bot.md](docs/developing_bot.md) +[doc/developing_bot.md](doc/developing_bot.md)
243-468: Remove duplicated advanced section (already suggested).The “Advanced Topics on Bot Development” block duplicates content maintained in
doc/developing_bot.md.
Keep only a high-level reference here to avoid two sources of truth:-### Advanced Topics on Bot Development -<detailed content lines 244–468> +# See [doc/developing_bot.md](doc/developing_bot.md) for advanced bot development topics.🧰 Tools
🪛 LanguageTool
[uncategorized] ~336-~336: Loose punctuation mark.
Context: ..., ... }, ... }); ```setting1, `setting2`, and sub-objects can be adde...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~397-~397: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
🧹 Nitpick comments (2)
README_RU-RU.md (1)
158-158: Suggest using a formal Russian term instead of a loanword.In Russian, “гайд” is colloquial; it’s clearer to use “руководство”.
Proposed change:-[Этот гайд](CONTRIBUTION.md#adding-a-new-ai-bot) может помочь вам. +[Это руководство](CONTRIBUTION.md#adding-a-new-ai-bot) может помочь вам.🧰 Tools
🪛 LanguageTool
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота Этот гайд м...(Unify_PADJ_NN_number)
README_KO-KR.md (1)
156-158: Refine the Korean translation for “Bot Contribution.”The heading “봇 기부” reads as “bot donation.” Use “봇 기여” (bot contribution) or “새 AI 봇 추가” (add a new AI bot).
For example:-### 봇 기부 +[### 봇 기여](CONTRIBUTION.md#adding-a-new-ai-bot)🧰 Tools
🪛 LanguageTool
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.개발자용
봇 기부
가이드가 도...
(UNPAIRED_BRACKETS)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
CONTRIBUTION.md(2 hunks)README.md(1 hunks)README_DE-DE.md(1 hunks)README_ES-ES.md(1 hunks)README_FR-FR.md(1 hunks)README_IT-IT.md(1 hunks)README_JA-JP.md(1 hunks)README_KO-KR.md(1 hunks)README_RU-RU.md(1 hunks)README_VI-VN.md(1 hunks)README_ZH-CN.md(1 hunks)
✅ Files skipped from review due to trivial changes (5)
- README_DE-DE.md
- README_ES-ES.md
- README_VI-VN.md
- README_IT-IT.md
- README.md
🚧 Files skipped from review as they are similar to previous changes (3)
- README_ZH-CN.md
- README_JA-JP.md
- README_FR-FR.md
🧰 Additional context used
🪛 LanguageTool
CONTRIBUTION.md
[uncategorized] ~336-~336: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~397-~397: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
README_KO-KR.md
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.
개발자용
봇 기부
가이드가 도...
(UNPAIRED_BRACKETS)
README_RU-RU.md
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота Этот гайд м...
(Unify_PADJ_NN_number)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (1)
CONTRIBUTION.md (1)
242-466: 🛠️ Refactor suggestionRemove duplicated advanced topics section
This detailed block duplicates content that belongs indoc/developing_bot.md, creating two sources of truth and increasing maintenance overhead. Replace it with a concise link to the dedicated document.Suggested diff:
- ### Advanced Topics on Bot Development - ... (lines 243-466) + For advanced bot development topics and detailed examples, see [doc/developing_bot.md](doc/developing_bot.md).🧰 Tools
🪛 LanguageTool
[uncategorized] ~334-~334: Loose punctuation mark.
Context: ..., ... }, ... }); ```setting1, `setting2`, and sub-objects can be adde...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~395-~395: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: seeBingChatBot.jsHow you send and parse messages depends on the specific ...(COMMA_COMPOUND_SENTENCE_2)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
CONTRIBUTION.md(1 hunks)README.md(1 hunks)README_DE-DE.md(1 hunks)README_ES-ES.md(1 hunks)README_FR-FR.md(1 hunks)README_IT-IT.md(1 hunks)README_JA-JP.md(1 hunks)README_KO-KR.md(1 hunks)README_RU-RU.md(1 hunks)README_VI-VN.md(1 hunks)README_ZH-CN.md(1 hunks)
✅ Files skipped from review due to trivial changes (4)
- README_ZH-CN.md
- README_ES-ES.md
- README.md
- README_JA-JP.md
🚧 Files skipped from review as they are similar to previous changes (4)
- README_VI-VN.md
- README_DE-DE.md
- README_FR-FR.md
- README_IT-IT.md
🧰 Additional context used
🪛 LanguageTool
CONTRIBUTION.md
[uncategorized] ~334-~334: Loose punctuation mark.
Context: ..., ... }, ... }); ``` setting1, `setting2`, and sub-objects can be adde...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~395-~395: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...PIs: see BingChatBot.js How you send and parse messages depends on the specific ...
(COMMA_COMPOUND_SENTENCE_2)
README_KO-KR.md
[typographical] ~158-~158: Pas de correspondance fermante ou ouvrante pour le caractère « [ »
Context: ... 문의해 주세요.
개발자용
봇 기부
가이드가 도움이 ...
(UNPAIRED_BRACKETS)
README_RU-RU.md
[uncategorized] ~158-~158: Притяжательное прилагательное (местоимение) не согласуется с существительным по числу.
Context: ...# Для разработчиков ### Сделать бота Этот гайд може...
(Unify_PADJ_NN_number)
…l README.md files
|
I've moved the detailed instructions for adding a bot to |
This pull request based on this comment in issue #1021.
I translated part of the Wiki on how to add a bot and incorporated the translation into a new file:
developing_bot.md.The goal is to provide more detailed guidance than what’s currently available in
CONTRIBUTION.md.Summary of Changes:
CONTRIBUTION.mdto referencedeveloping_bot.mdfor more comprehensive instructions on adding a new bot.README.md:In the "Contribute a Bot" section, replace the link to the Wiki with a link to the new
doc/developing_bot.md.Please let me know if there’s anything that needs to be modified.
Summary by CodeRabbit