GitMind Skill
Use this skill whenever the user mentions GitMind, Gitmind, or GitMind features by localized names.
If the user says "file", "document", or "thought" without clearly referring to a local computer file, a system file, a workspace file, or another external source, interpret it as a file in GitMind My Thoughts.
If the user wants to buy membership, upgrade, subscribe, top up quota, open the pricing page, or open a purchase page, prefer pricing_page_open and open the correct GitMind pricing page in the user's default system browser for the resolved region + env + language.
If the user wants a GitMind feature page or a direct GitMind page link, prefer page_open or page_url_resolve, and return the resolved https URL for the correct domain and language.
When replying with GitMind page links, return the raw https URL directly instead of wrapping it as a Markdown link. This avoids rendering issues in some agent clients.
Modules
This skill is organized into these thirteen business modules:
Page NavigationAuth LoginMy ThoughtsPlanetsPersonal CenterInspiration Flow (personal + collective)Hot TemplatesOSS AuthorizationWebSocket / WSSAI Mind MapAI FlowchartAI BulletinAI Exam
Detailed module notes live in:
references/auth-login.mdreferences/my-thoughts.mdreferences/planets.mdreferences/personal-center.mdreferences/inspiration-flow.mdreferences/hot-templates.mdreferences/oss-authorization.mdreferences/ai-mindmap.mdreferences/ai-flowchart.mdreferences/ai-bulletin.mdreferences/ai-exam.mdreferences/vip.md
Requirements
- Runner:
./run.mjs - Prefer a real local
nodeexecution host, or another executor that can run local Node.js and open the user's default browser. Do not default tosandbox. - When constructing any
execrequest for this skill, do not include thehostfield by default. First try the command withouthostand let the client choose its normal execution target. Only if that attempt fails should you retry withhost: "node". - This applies to all commands in this skill, not only OAuth or browser-related commands.
- If the current agent or client has no working sandbox runtime, do not send those tools to
sandbox. - Reply in the user's language by default unless the user explicitly asks for a different response language.
- Authorization flows must use the user's system default browser. Do not replace them with
browser,agent-browser, or any browser automation skill.
Global Auth Gate
- Before calling any GitMind tool that depends on login state, first check whether the locally saved
api_tokenis present and non-empty. Preferget_saved_tokenfor this check. - If
api_tokenis empty, missing, invalid, or clearly expired, do not continue with downstream business tools yet. Enter the OAuth authorization flow first, complete login, then resume the original task. - Only the login and login-state tools themselves are exempt from this pre-check, such as
oauth_login,oauth_prepare,oauth_wait_callback,oauth_status,oauth_finish,oauth_clear,get_saved_token, andlogout. - The runtime entry also enforces this gate: non-auth business tools automatically check the saved token first, and if login is required they start
oauth_loginimmediately instead of letting downstream APIs fail first. - Treat this as a global prerequisite for all modules below, including page actions that require authenticated context, My Thoughts, Planets, Personal Center, Inspiration Flow, Hot Templates actions that need account context, OSS authorization, WebSocket flows, AI Mind Map, AI Flowchart, AI Bulletin, and VIP or quota related requests.
Global Quota Gate
- If any GitMind tool call returns a quota-insufficient, credit-insufficient, membership-required, or recharge-required error, treat it as a global business fallback condition.
- Typical trigger phrases include but are not limited to
quota insufficient,credits insufficient,membership required,VIP required,please recharge,please subscribe, and similar backend or frontend business errors. - When this happens, clearly tell the user that the current GitMind account quota or membership is insufficient, guide them to pay or recharge, and prefer
pricing_page_opento open the correct pricing page in the user's default browser. - After the user completes payment, membership purchase, or quota recharge, continue or retry the original GitMind operation as appropriate.
- Treat this as a global fallback for all business modules, not only VIP or personal center requests.
Runner Arguments
--tool <tool-name>--payload '<json-string>'--payload-file <json-file-path>
Execution Guidance
- Recommended invocation:
node run.mjs --tool <tool-name> --payload '<json>' - On Windows PowerShell, prefer
--payload-filefor OAuth/login commands and any payload with quotes. This avoids shell escaping issues beforeoauth_logincan open the browser:'{"auto_open_browser":true}' | Set-Content -Encoding utf8 .\oauth-login.payload.json node .\run.mjs --tool oauth_login --payload-file .\oauth-login.payload.json - If using inline JSON in PowerShell, pass it with single quotes:
node .\run.mjs --tool oauth_login --payload '{"auto_open_browser":true}'. Avoid backslash-heavy forms such as"{\\\"auto_open_browser\\\":true}". - For AI generation tools that may wait on WSS completion, such as AI mind map, AI flowchart, image-to-mindmap, or direct
wss_request, the outer command timeout must be at least 5 minutes. - AI bulletin uses a longer inner WSS timeout budget of 20 minutes, so its outer command timeout should be at least
1200seconds. - If the caller has separate outer exec controls such as
timeoutandyieldMs, usetimeout >= 300seconds for the regular 5-minute tools,timeout >= 1200seconds for AI bulletin, and preferyieldMsaround10000ms so the outer runner does not kill the process earlier than the inner WSS timeout. - When the user asks for a GitMind business action and the current login state is unknown, check
get_saved_tokenfirst before invoking the target tool. - If
get_saved_tokenshowsapi_tokenis absent, blank, or unusable, immediately switch to the OAuth flow instead of attempting the target business tool first. - If a caller skips this check, the runtime still blocks the business tool and returns a
login_requiredresult after startingoauth_login. - After login succeeds and
api_tokenhas been saved, retry the original business action with the same resolved parameters. - If a business tool returns a quota-insufficient or membership-restricted error, guide the user to recharge or subscribe, then open the pricing page with
pricing_page_openbefore stopping on the error. - If the host client distinguishes between
host,executor, orruntime, do not pinhoston the first attempt for any command in this skill. Retry with the target that can run local Node.js directly only after the initial attempt fails. - Do not pin GitMind OAuth, page opening, default browser launching, or callback port listening to
sandbox. - Use
sandboxonly when you have explicitly confirmed that the current session truly has a sandbox runtime and that runtime can access the local default browser and the callback port. - If you see errors like
sandbox runtime is unavailable,cannot open system browser, orcallback server did not become ready, first check whether the command was incorrectly sent tosandbox.
Module 0: Page Navigation
Tools:
page_url_resolvepage_openpricing_page_open
Notes:
page_url_resolveresolves the final GitMindhttpspage URL without opening a browser.page_openopens a common GitMind page in the user's default browser and also returns the final page URL.page_openandpricing_page_openshould still follow the global execution rule: first try withouthost, and if a host-specific retry is needed, prefer localnoderather thansandbox, because they need the system default browser.pricing_page_openis also the preferred global fallback entrypoint when business tools report quota-insufficient or membership-required errors.- These tools choose the host and language path from
region + env + language. If those parameters are omitted, they fall back tooauth.region,oauth.env, andoauth.languageinconfig.json. - Built-in common pages currently include
recents,flow,flow_list,docs,planets,templates,ai_tools,usage_logs,orders,refunds,user_info,settings,pricing,extension_install, anddownload. - The
pageparameter accepts both English keys and localized aliases. - Both tools return
url. In agent replies, show the raw URL directly.
Module 1: Auth Login
Tools:
oauth_loginoauth_prepareoauth_wait_callbackoauth_statusoauth_finishoauth_clearget_saved_tokenlogoutpricing_page_openoss_get_authorizationoss_get_ai_authorization
Notes:
- Before any non-auth tool in this module or other modules, first confirm saved login state with
get_saved_tokenunless the current turn has already verified a usableapi_token. oauth_loginandoauth_preparestart a local OAuth callback server and, whenauto_open_browser=true, open the authorization page in the user's default browser.- These tools also follow the global execution rule: first try without
host, and if a host-specific retry is needed, prefer localnoderather thansandbox. - If the client supports runtime fallback, automatically fall back from
sandboxtonodeinstead of surfacing sandbox availability issues as GitMind business errors.
Module 2: My Thoughts
Tools:
directory_openthought_openfile_createfile_savefile_getfile_project_getfile_project_uploadfile_listfile_searchfile_deletefile_movefile_renamedirectory_createdirectory_renamedirectory_deletedirectory_movedirectory_restore
Notes:
file_project_getfollows a fixed chain for project retrieval: callfile_get, then fetch the expiringproject_url.file_project_uploadfollows a fixed overwrite chain: calloss_get_authorization, upload to the existingproject_object, then callfile_save.- To open the
My Thoughtshome page, usepage_open(page="docs")ordirectory_open()so the page stays on/app/docs. Do not hardcode/app/dirs/0. directory_openshould only open/app/dirs/<guid>when a specific directoryguidorfile_guidis provided. If the directory is omitted or is0/root, treat it as theMy Thoughtshome page at/app/docs.file_listmust usedir_guidas the directory parameter name. Do not mix it withguid,directory_guid, orfile_guid.
Module 3: Planets
Tools:
planet_listplanet_created_listplanet_joined_listplanet_all_listplanet_createplanet_detailplanet_deleteplanet_mind_listplanet_thought_listplanet_video_list
Notes:
planet_listreturns all planets the current user created or joined, and also supports passthroughtype=1/2.planet_created_listreturns planets created by the current user.planet_joined_listreturns planets joined by the current user.planet_all_listreturns the "All Planets" discovery list from/planets-by-tagsand supportstagsfilters.planet_createacceptsname,title, andplanet_name.planet_detailacceptsguid,planet_guid, andid.planet_deleteacceptsguid,planet_guid, andid.planet_mind_listfilters planet content bydocument_type, including multi-type combinations like0,1,2.planet_thought_listis the fixed filter for mind maps, flowcharts, and whiteboards.planet_video_listis the fixed filter for videos.- If
user_idis omitted, the service resolves it from the locally saved GitMind OAuth token.
Module 4: Personal Center
Tools:
personal_center_getuser_profile_getpersonal_quota_logs_listquota_logs_listvip_getvip_status_get
Notes:
personal_center_getreturns the current user's personal center profile fromGET /user/:user_id.user_profile_getis an alias ofpersonal_center_get.personal_quota_logs_listreturns quota consumption and top-up logs fromGET /logsunderbase/vip/v2.quota_logs_listis an alias ofpersonal_quota_logs_list.vip_getreturns the current user's VIP data fromGET /base/vip/v2/vips?user_id=:user_id&product_id=:product_id.vip_status_getis an alias ofvip_get.- If
user_idis omitted, the service resolves it from the saved GitMind OAuth token. - If
product_idis omitted, the service resolves it from the saved OAuth config orapi_token. - Returned storage fields are normalized to
KB, includingspace_used_kb,space_limit_kb,space_available_kb, andstorage.unit = "KB". - VIP responses should drop candy-related fields and focus on membership and quota data.
- VIP responses also expose summary fields such as
vip.membership.purchased,vip.membership.is_active,vip.membership.expired_at,vip.quota_summary.permanent_quota,vip.quota_summary.limited_quota,vip.quota_summary.limited_quota_expired_at,vip.quota_summary.limited_quota_details.expired_at, andvip.quota_summary.total_quota.
Module 5: Inspiration Flow
Tools:
inspiration_subject_createinspiration_subject_listinspiration_subject_getinspiration_subject_updateinspiration_subject_deleteinspiration_createinspiration_updateinspiration_getinspiration_listinspiration_searchinspiration_openinspiration_deletepersonal_flow_listpersonal_flow_create
Notes:
- First resolve destination wording through
glossary/terms.json. Treatinspiration_flow_personalas the default flow-space interpretation forInspiration Flow,personal flow, and other localized equivalents unless the user clearly points to the collective space. - Only treat the request as the collective flow space when the normalized destination term is
inspiration_flow_groupor the user clearly expresses that intent. - When the request contains both content and a destination term resolved from the glossary, treat that destination as a GitMind feature target first, not as a document title to search.
- For destination-style requests, prefer the target feature's write action over My Thoughts search:
inspiration_flow_personal-> preferpersonal_flow_createinspiration_flow_groupwith a concrete subject -> preferinspiration_createinspiration_flow_groupwith subject-creation intent -> preferinspiration_subject_create
- Only search My Thoughts documents by name when the user is explicitly asking to find, open, list, or inspect a document, or when no GitMind feature target is named.
Module 6: Hot Templates
Tools:
template_category_listtemplate_listtemplate_detailtemplate_create_from_template
Notes:
template_category_listreturns template categories, currently centered on mind map and flowchart groupings, plus their subcategories.template_listqueries templates by category, keyword, and pagination.category_idssupports a single ID, an array, or a comma-separated string.template_listdefaults topage=1,per_page=20, andapp_type=1, matching the frontend template page defaults.template_detailacceptsguid,template_guid, andid.template_create_from_templatecreates a new mind map or flowchart from a templatefile_guid, and acceptsfile_guid,template_file_guid, andsource_file_guid.template_create_from_templatecurrently follows the real frontend request shape:POST /minds,action_type=2,document_type=0.
Module 7: OSS Authorization
Tools:
oss_get_authorizationoss_get_ai_authorization
Module 8: WebSocket / WSS
Tools:
wss_build_urlwss_requestwss_pdf_translatewss_image_to_mindmap
Notes:
wss_build_urlonly builds a connectable WSS URL from OAuth data inconfig.jsonplus optional overrides.wss_requestis the generic single-request tool: connect, send a message, collect replies, exit on timeout or idle, then disconnect.wss_requestuses a 5-minute default inner generation timeout. AI bulletin overrides this at the business layer to 20 minutes. Any outer exec timeout must not be shorter than the effective inner timeout.wss_pdf_translateassembles theaction=100payload used by the frontendPdfTranslationWebSocketflow.wss_image_to_mindmapassembles theaction=100payload used by the frontend image-to-mindmap flow.- Because
run.mjsis a single-process runner, the current design uses a one-connection, one-session collection model instead of a cross-command persistent socket.
Module 9: AI Mind Map
Tools:
ai_mindmap_list_generation_skillsai_mindmap_route_generationai_mindmap_generate_outline_from_promptai_mindmap_generate_mindmap_from_outlineai_mindmap_generate_mindmap_from_long_textai_mindmap_generate_mindmap_from_fileai_mindmap_generate_mindmap_from_audioai_mindmap_generate_mindmap_from_linkai_mindmap_generate_mindmap_from_imageai_mindmap_generate_mindmap_from_youtubeai_mindmap_build_payloadai_mindmap_prepare_image_generationai_mindmap_markdown_to_jsonai_mindmap_write_json_fileai_mindmap_upload_jsonai_mindmap_wss_markdown_to_oss
Notes:
- AI mind map generation is split into seven input-specific skills:
ai_mindmap_generate_outline_from_prompt: prompt step 1, generate Markdown outline onlyai_mindmap_generate_mindmap_from_outline: prompt step 2, generate the final mind map from the confirmed outlineai_mindmap_generate_mindmap_from_long_text: long text to mind mapai_mindmap_generate_mindmap_from_file: file analysis to mind mapai_mindmap_generate_mindmap_from_audio: audio or video to mind mapai_mindmap_generate_mindmap_from_link: link analysis to mind mapai_mindmap_generate_mindmap_from_image: image understanding to mind mapai_mindmap_generate_mindmap_from_youtube: YouTube video to mind map
ai_mindmap_route_generationroutes requests to the correct skill fromskill,generation_mode,input_mode, orsourceType.ai_mindmap_list_generation_skillsreports the current implementation status of the seven generation skills.- These tools follow the frontend pipeline from input to AI to WSS Markdown to mind map JSON to OSS.
ai_mindmap_prepare_image_generationcurrently focuses on the image flow and preparesmind_id,conversation_id, and the specialized image-to-mindmap WSS payload.
AI Mind Map Routing Rules
Do not treat every AI mind map request as "generate an outline first". Route by input type:
- Prompt:
Use the required two-step confirmation flow. First call
ai_mindmap_generate_outline_from_prompt, show the Markdown outline, and let the user revise it. Only after the user confirms should you callai_mindmap_generate_mindmap_from_outlinewith the finaloutline_markdown. Exception: if the user's intent resolves to the glossary termoutline_to_mindmap, treat it as an outline-to-mindmap request and callai_mindmap_generate_mindmap_from_outlinedirectly instead of re-running step 1. - Long text:
Generate the final Markdown in one step with
mind_type=6, then convert it to project JSON and upload it. - File analysis:
Upload the source file, create and poll the vectorization task, get
file_hash, then generate final Markdown withmind_type=4. - Audio or video:
Upload the media file, run ASR, vectorize the transcript, then generate final Markdown. Default to
mind_type=14; usemind_type=13only if the user explicitly wants no timestamps. - Link analysis:
Check URL availability, vectorize the URL content, then generate final Markdown with
mind_type=5. - Image understanding:
Create the mind map and image
chatdocssession first, then generate final Markdown withmind_type=2. After the project upload succeeds, updateaigc_label=1and includeproject_id. - YouTube:
Create and poll the YouTube subtitle task first, vectorize the returned timestamp transcript URL through
chatdocs, wait forfile_hash, then generate final Markdown withmind_type=11plusvideo_idandsubtitle_task_id. - For every route that produces final Markdown:
Continue with Markdown extraction, project JSON conversion, overwrite upload, and metadata writeback through
file_project_upload.
AI Mind Map Execution Constraints
- When invoking these tools through an outer command runner, keep the outer timeout at 5 minutes or longer. Do not set outer
timeoutbelow300seconds, otherwise the command layer may kill the process before the inner WSS generation timeout. - During WSS processing, do not treat intermediate messages as the final result. Prefer the last valid
d.answer.textfrom the final effective response, especially the laste=1message. - Uploading JSON to AI OSS alone is not enough to finish a GitMind mind map writeback. The project file relationship and metadata must also be preserved or written back.
- When
file_guidis known, prefer the fixedfile_project_getandfile_project_uploadchain because it already handles old object lookup, overwrite upload, and node or project metadata writeback. - If you only have the short
guidormind_id, resolve the realfile_guidfirst withfile_getbefore saving project data. - For prompt generation, do not encourage the user to open the new document before the second step finishes. The document may still be blank or stale until the project JSON is written back.
- After the second prompt step or any one-step generation finishes, return the final full document URL. Prefer
mindmap_url, thendocument_url, thenurl.
Module 10: AI Flowchart
Tools:
ai_flowchart_prepare_prompt_generationai_flowchart_prepare_image_generationai_flowchart_generate_from_promptai_flowchart_generate_from_mermaidai_flowchart_generate_from_imageai_flowchart_mermaid_to_drawioai_flowchart_upload_drawio_projectai_flowchart_generate_from_visio
Notes:
- This module is separate from the AI mind map chain. Its final artifact is a
draw.ioproject, not a GitMind mind map project JSON. - For prompt or image generation paths that call
wss_request, keep the outer command timeout at 5 minutes or longer so the outer runner matches the inner WSS timeout budget. - Supported inputs:
- Prompt: pass the user's request directly as
prompt, callwss_request, extract Mermaid from Markdown, then convert to raw draw.iomxGraphModel - Mermaid: convert directly to raw draw.io
mxGraphModel - Image: upload the image, create an image
chatdocssession withsource_type=2anduse_original_image_url=1, callwss_requestto get Mermaid, then convert to raw draw.iomxGraphModel - Visio: convert
.vsdwithlibvisio-v2assets loaded from the configured CDN by default; convert.vsdxby running the bundled Draw.io VSDX importer in a headless Chromium-compatible browser, using a local browser when available and Chrome for Testing auto-download as fallback
- Prompt: pass the user's request directly as
- Prompt/image flowchart generation now accepts
sub_document_type,flowchart_type,diagram_type, ormermaid_typeto select the real flowchart subtype for WSS generation. - Supported subtype mapping:
1=flowchart,2=er,3=sequence,4=timeline,5=swot,6=swimlane,7=class,8=gantt(0is reserved/default). - The image-to-flowchart WSS request should match the frontend request shape:
product_id=532,source_type=6,parameters.mind_type=2,parameters.document_type=1,parameters.sub_document_type=<resolved subtype>, andparameters.flow_content_id="". - The prompt-to-flowchart WSS request should also include
parameters.document_type=1andparameters.sub_document_type=<resolved subtype>. Do not expand, rewrite, or append Mermaid-format instructions to the user's request before passingprompt; the server optimizes the request and generates the matching flowchart code. - Current local draw.io conversion is browser-free and supports all mapped Mermaid flowchart subtypes as raw
mxGraphModelXML.flowchart/graphuse a Node intermediate graph model (nodes/edges/groups) and render editable mxGraph cells, including Mermaidsubgraphcontainers.erDiagram,sequenceDiagram,timeline,swot,swimlane,classDiagram, andganttuse subtype-specific editable templates where the old frontend depended on draw.io browser runtime or SVG import hooks. - Generation tools return
mermaidanddrawio_xml, and returnproject_uploadandurlwhen upload is triggered. - Visio import is exposed through
ai_flowchart_generate_from_visioonly. For.vsdand.vsdx, this tool creates a new GitMind flowchart document, converts the file to raw draw.iomxGraphModel, uploads the project content, and returns the final document URL..vsdxconversion reusesassets/visio/vsdx-importer/vsdxImporter.html, loads the Draw.io editor runtime from the configured CDN, and runs browser automation instead of asking the user to import manually.
Module 11: AI Bulletin
This module turns multiple input sources into GitMind AI bulletin project files built from HTML content.
Preferred references:
references/ai-bulletin.md
Execution note:
- AI bulletin generation also depends on WSS completion. When invoked through an outer command runner, keep the outer timeout at 5 minutes or longer and do not set it below
300seconds.
Module 12: AI Exam
Tools:
ai_exam_generate_from_prompt
Notes:
- Preferred reference:
references/ai-exam.md - The main one-shot tool is
ai_exam_generate_from_prompt. - Other exam steps are internal implementation details and are not exposed as external tools.
- The flow is: create
document_type=5document, create Chatbot/messagesasync task withscene=ai_question_generate, pollmsg_id, parseanswer.text, save{ questions, answers: {} }, and return the final document URL. - AI exam document creation defaults
aigc_watermark_enabledto1, matching the web-side visible AIGC watermark contract for exam documents. question_plan/questionPlan/settingsmaps question type numbers to counts. Supported type keys are1single choice,2multiple choice,3true/false, and4fill blank.- Agent-side generation has no user answers yet, so
answersshould default to the front-end-compatible empty state skeleton for each question.
Terminology Rules
- Before choosing a GitMind feature, page, or AI skill, read
glossary/terms.jsonand normalize the user's wording to the glossarycanonicalterm whenever possible. - Handle multilingual aliases at the model layer. Do not hardcode localized aliases into service implementations.
- If the user uses a localized feature label such as a Japanese, Chinese, or English product term, resolve it through the glossary first and then choose the right tool.
- When both a content object and a feature destination appear in the same request, prioritize the destination feature term for routing. Example: when the destination resolves to
inspiration_flow_personal, route to the Inspiration Flow toolchain instead of My Thoughts document search. - For Inspiration Flow scene recognition, rely on
glossary/terms.jsonmultilingual aliases plus the user's intent together at the model layer. Do not add extra JS scene-detection helpers or localized keyword lists for this routing. - Normalize AI mind map feature terms to these internal routing keys:
prompt_to_mindmap->promptlong_text_to_mindmap->longTextfile_to_mindmap->filewebsite_to_mindmap->linkaudio_to_mindmaporvideo_to_mindmap->audioimage_to_mindmap->imageyoutube_to_mindmap->youtube
- If the user mentions files or thoughts without clearly referring to local files, system files, workspace files, or another external source, default to GitMind
My Thoughts.
URL Rules
- Prefer
page_url_resolveorpage_openfor common pages. Do not hardcode domains. - GitMind page links returned to the user must use
https. - Show raw
httpsURLs directly in the response. - Personal flow home:
AUTHORIZE_BASE_URL/app/flow - Collective flow home:
AUTHORIZE_BASE_URL/app/flow/list - Subject detail page:
AUTHORIZE_BASE_URL/flow/<subject-guid>?subRoute=list
AUTHORIZE_BASE_URL is resolved dynamically from region (cn or overseas) and env (prod or dev).
For common feature pages, the skill generates the https URL with page host rules. When region=overseas and language is neither zh nor en, the language prefix is added automatically, for example https://gitmind.com/jp/pricing or https://dev-gitmind-com.aoscdn.com/jp/app/templates.
Endpoint Rules
- When reauthenticating, do not clear the entire
config.json. - Reset only login-state fields such as
oauth.auth_codeandoauth.api_token. - It is also recommended to clear derived login-state fields such as
token_type,expires_in,saved_at, andcallback_url. - Preserve non-login configuration such as
oauth.region,oauth.env,oauth.language, anddebug. - Authorization URLs, passport endpoints, and business API endpoints must always be regenerated from
region + env. Do not keep using a stale endpoint snapshot from an old token. oauth.languageis the user language and should be a 2-character string such aszh,en, orjp.- The browser authorization page should first resolve the host from
region + env, then apply the language-specific path rules. - GitMind OAuth must always open in the system default browser. Do not replace it with
browser,agent-browser, or any browser automation skill.
Current built-in endpoint mapping:
region=cn,env=devauthorize_base_url:http://dev-gitmind-cn.aoscdn.comauth_page_base_urllanguage=zh:https://dev-gitmind-cn.aoscdn.com/oauthlanguage=en:https://dev-gitmind-cn.aoscdn.com/oauthlanguage=<other>:https://dev-gitmind-cn.aoscdn.com/oauth
passport_base_url:https://devaw.aoscdn.com/base/passport/v2api_base_url:https://devaw.aoscdn.com/app/gitmind/v3
region=cn,env=prodauthorize_base_url:https://gitmind.cnauth_page_base_urllanguage=zh:https://gitmind.cn/oauthlanguage=en:https://gitmind.cn/oauthlanguage=<other>:https://gitmind.cn/oauth
passport_base_url:https://aw.aoscdn.com/base/passport/v2api_base_url:https://aw.aoscdn.com/app/gitmind/v3
region=overseas,env=devauthorize_base_url:http://dev-gitmind-com.aoscdn.comauth_page_base_urllanguage=zh:https://dev-gitmind-com.aoscdn.com/oauthlanguage=en:https://dev-gitmind-com.aoscdn.com/oauthlanguage=<other>:https://dev-gitmind-com.aoscdn.com/<language>/oauth
passport_base_url:https://devgw.aoscdn.com/base/passport/v2api_base_url:https://devgw.aoscdn.com/app/gitmind/v3
region=overseas,env=prodauthorize_base_url:https://gitmind.comauth_page_base_urllanguage=zh:https://gitmind.com/oauthlanguage=en:https://gitmind.com/oauthlanguage=<other>:https://gitmind.com/<language>/oauth
passport_base_url:https://gw.aoscdn.com/base/passport/v2api_base_url:https://gw.aoscdn.com/app/gitmind/v3
Configuration
- Read
config.jsonfrom this directory by default. - After OAuth succeeds, the GitMind business
api_tokenis saved toconfig.json. - OAuth success also persists the currently resolved
authorize_base_url,auth_page_base_url,passport_base_url, andapi_base_url. - If
config.jsonalready containsregionorenv, reauthorization should resolve endpoints from those values again. - When
config.jsonalready containslanguage, it is used for non-zhand non-enauthorization page paths on overseas sites. - When
oauth_loginoroauth_prepareruns withauto_open_browser=true, it must use the user's default browser. - HTTP debugging can be enabled through environment variables.
Scan to join WeChat group