[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-davechurchill--commandcenter":3,"tool-davechurchill--commandcenter":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":98,"env_os":99,"env_gpu":100,"env_ram":100,"env_deps":101,"category_tags":111,"github_topics":112,"view_count":23,"oss_zip_url":82,"oss_zip_packed_at":82,"status":16,"created_at":123,"updated_at":124,"faqs":125,"releases":154},2600,"davechurchill\u002Fcommandcenter","commandcenter","Starcraft AI Bot","CommandCenter 是一款专为《星际争霸：母巢之战》和《星际争霸 II》设计的开源 AI 机器人框架。它致力于解决开发者在跨版本游戏开发中面临的重复劳动痛点，允许用户通过同一套 C++ 源代码同时操控两个不同引擎的游戏，大幅降低了多平台适配的门槛。\n\n这款工具非常适合人工智能研究者、计算机专业学生以及希望入门游戏 AI 开发的程序员使用。与其说它是一个成品博弈程序，不如说它是一个高度模块化的“脚手架”。CommandCenter 内置了通用的微操控制器、资源与工人管理系统、地图自动分析、侦察逻辑以及基础的进攻小队调度功能。其核心亮点在于灵活的架构设计：用户无需从零编写底层代码，只需通过配置文件即可快速定义和调整建造顺序（Build Orders），甚至在游戏中动态修改策略，从而将精力集中于上层战术算法的创新。\n\n需要注意的是，CommandCenter 目前仍处于持续完善阶段，暂不支持自动规划建造序列或复杂的战斗模拟预测，且主要适用于 1v1 对战场景。但对于想要快速构建原型、验证新想法或学习经典星际 AI 架构的开发者而言，它提供了一个坚实且易用的起点。","# CommandCenter: AI Bot for Broodwar and Starcraft II\n\nCommandCenter is a StarCraft AI bot that can play both StarCraft: Broodwar and StarCraft 2.\n\n![CommandCenter Screenshot](https:\u002F\u002Fi.imgur.com\u002FSbTymsO.jpg)\n\nCommandCenter is written in C++ using [BWAPI](https:\u002F\u002Fgithub.com\u002Fbwapi\u002Fbwapi) and Blizzard's [StarCraft II AI API](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api). It provides many wrapper functions around both APIs that allow it to perform the same functionality in both games via the same source code. It is written by [David Churchill](http:\u002F\u002Fwww.cs.mun.ca\u002F~dchurchill\u002F), Assistant Professor of [Computer Science](https:\u002F\u002Fwww.cs.mun.ca\u002F) at Memorial University, and organizer of the [AIIDE StarCraft AI Competition](http:\u002F\u002Fwww.cs.mun.ca\u002F~dchurchill\u002Fstarcraftaicomp\u002F).\n\nCommandCenter is based on the architecture of [UAlbertaBot](https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fualbertabot\u002Fwiki), and is intended to be an easy to use architecture for you to quickly modify, play with, and build your own bot. The bot itself does not contain much in the way of hard-coded strategy or tactics, however it provides a good starting point for you to implement your own strategies for any race. \n\nCommandCenter currently provides the following features:\n* Plays both Starcraft games with the same source code\n* Plays all 3 races with generalized micro controllers for combat units\n* Performs online map analysis, extracting information such as base locations and expansions\n* Keeps track of all previously seen enemy units and their last known locations on the map\n* Has a WorkerManager which manages resource gathering and worker allocation \u002F buiding\n* Is able to carry out predefined build-orders written in a configuration file\n* Allows you to easily create your own build-orders and modify them on the fly in-game\n* Contains a building placement algorithm, finding the closest buildable location to a given position for a given building \n* Scouts the map with a worker unit, discovering where the enemy base is located\n* Once a specific condition has been reached (having 12 combat units, by default), it will commence an attack, sending waves of units at the enemy base\n* Squads can be formed, consisting of multiple units following a specific order such as attack or defend a given location\n\nCommandCenter should eventually have all of the functionality of UAlbertaBot, however much of its features are not currently completed. Here is an up-to-date list of features currently missing from CommandCenter that will be implemented soon:\n* Only units and basic buildings can be constructed via the ProductionManager. No add-ons, research, or upgrades yet.\n* There is no automatic build-order planning system\n* There is no combat simulation package for predicting combat battle victory\n* The bot only plays 1v1, and will have undefined behavior \u002F crash if played against multiple enemies or on teams\n\n# Download and Run CommandCenter\n\nStarCraft BW: You must have StarCraft: Broodwar version 1.16.1 installed, as well as [BWAPI](https:\u002F\u002Fgithub.com\u002Fbwapi\u002Fbwapi).\n\nStarCraft 2: You must have an up-to-date retail version of StarCraft II installed to run the bot. You must also download and install some maps to use with the bot, which you can find here: https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-proto#downloads. Please note that there is a password provided on that page to extract the maps from the zip files.\n\nThe bot comes with a configuration file named [BotConfig.txt](https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter\u002Fblob\u002Fmaster\u002Fbin\u002FBotConfig.txt) in which you can modify build orders, print various debug information to the screen, and set some bot parameters. You can define multiple builds orders in the 'Strategies' section of the file, and choose which named strategy to implement when the bot plays a specific race. Unit names in the build-order are case sensitive, and must be exactly how they appear in-game with no spaces. Some of the options in the configuration file are currently not implemented, such as the KiteWithRangedUnits option.\n\nPlease note that this config file is in JSON format, and the bot will not run unless it is well-formatted JSON. The configuration file must be in the same directory as CommandCenter.exe in order for the bot to run correctly. If you have made an error in the JSON syntax and can't find it on your own, you can use an online [JSON Validator](https:\u002F\u002Fjsonlint.com\u002F) to check for you.\n\nBy default when you run CommandCenter.exe, it will play as Random race vs. a Random race built-in SC2 Easy AI. You can modify which races are played in the configuration file via the \"BotRace\" and \"EnemyRace\" options. You can also modify which map to be played by specifying the \"MapFile\" option. Please note that the MapFile option is relative to your StarCraft II maps directory, which by default is located in your StarCraft_Install_Directory\u002Fmaps\u002F, and the bot will not run without specifying a valid map file.\n\nIf the bot crashes or does other nasty things, please bear with me while I make it more stable :)\n\n# Developer Install \u002F Compile Instructions (Windows)\n\n* Download and install [Visual Studio 2017](https:\u002F\u002Fwww.visualstudio.com\u002Fdownloads\u002F)\n* To play BW, you must download and install StarCraft BW v1.16.1 as well as [BWAPI](https:\u002F\u002Fgithub.com\u002Fbwapi\u002Fbwapi)\n* To play SC2, you must download and install the [StarCraft II AI API](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api). The easiest way to do this is to download the [Precompiled Libraries](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api#precompiled-libs) at the bottom of the page, and simply extract them to a folder on your PC. If you are getting the SC2API via cloning the Blizzard github repo and compiling it from scratch, you may need to point VS to different directories for include and lib than the ones described below.\n* Clone this git repository to a folder on your PC\n* Open \"CommandCenter\u002Fvs\u002FCommandCenter.sln\" in VS2017\n* If you compile the CommandCenter project with the x64 Platform, it will compile the SC2 bot\n* If you compile the CommandCenter project with the x86 or Win32 Platform, it will compile the BW bot\n* Set the VS Project include and lib folders to point to the directories\n  * Right click the CommandCenter project in VS2017\n  * Select \"Properties\"\n  * Select the correct configuration that you want to build in the top left (\"Release\" or \"Debug\")\n  * Select the target platform you want to build (x64 = SC2, Win32 = BW)\n  * Select \"VC++ Directories\" on the left\n  * Select the \"Include Directories\" option in the table on the right\n  * Click the dropdown arrow on the right and click Edit...\n  * Modify the existing directory entry to point to your (SC2API|BWAPI)\u002Finclude directory\n  * Select the \"Library Directories\" option in the table on the right\n  * Click the dropdown arrow on the right and click Edit...\n  * Modify the existing directory entry to point to your (SC2API|BWAPI)\u002Flib directory\n* From the \"Build\" menu, click \"Build Solution\"\n* The binary \"CommandCenter_API.exe\" should appear in the CommandCenter\u002Fbin\u002F directory\n* Run the CommandCenter bot by either:\n  * Double clicking the executable in the CommandCenter\u002Fbin\u002F directory\n  * Running the program from the console\n  * Click \"Local Windows Debugger\" in VS to launch the program from within VS. To do this, you need to set the \"Working Directory\" option under \"Debugging\" to \"$(ProjectDir)\u002F..\u002Fbin\u002F\" (I don't know why this option won't save)\n* If you are running the BW version of the bot, you must then start BW via Chaoslauncher with BWAPI injected\n* The CommandCenter\u002Fbin\u002FBotConfig.txt file must be in the same directory as the .exe to run properly\n\n# Developer Install \u002F Compile Instructions (Linux and OS X)\n\n\nWith these steps you should be able to build and install the SC2 API and include it into CommandCenter. It has been tested successfully for [aba2d3813571c344090f3de5b58a5c912cd5acb3](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api\u002Fcommit\u002Faba2d3813571c344090f3de5b58a5c912cd5acb3), so if the install instructions below don't work checkout that version of the SC2 API\n\n`$ git checkout aba2d3813571c344090f3de5b58a5c912cd5acb3 .`\n\nand repeat the instructions.\n\n* Build SC2 API project\n```bash\n$ git clone --recursive https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api && cd s2client-api\n$ mkdir build && cd build\n$ cmake ..\u002F\n$ make\n```\n\n* Install the SC2 API libraries and headers to your system\n```bash\n# Assuming that you are located in the 'build' directory\n# after you finished the previous step\n$ cd ..\u002F\n\n# Install SC2 API headers\n$ sudo mkdir -p \u002Fopt\u002Flocal\u002Finclude\n$ sudo cp -R include\u002F{sc2api,sc2renderer,sc2utils} \u002Fopt\u002Flocal\u002Finclude\n$ sudo cp -R build\u002Fgenerated\u002Fs2clientprotocol \u002Fopt\u002Flocal\u002Finclude\n\n# Install protobuf headers\n$ sudo cp -R contrib\u002Fprotobuf\u002Fsrc\u002Fgoogle \u002Fopt\u002Flocal\u002Finclude\u002Fsc2api\n\n# Install SC2 API libraries\n$ sudo mkdir -p \u002Fopt\u002Flocal\u002Flib\u002Fsc2api\n$ sudo cp build\u002Fbin\u002F{libcivetweb,libprotobuf,libsc2api,libsc2lib,libsc2protocol,libsc2utils}.a \u002Fopt\u002Flocal\u002Flib\u002Fsc2api\n```\n\n* Build the bot\n```bash\n$ git clone https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter.git && cd commandcenter\n$ cmake .\n$ make\n```\n\n# Bot Development\n\nIf you are familiar with the architecture of UAlbertaBot, the logic of CommandCenter is quite similar. The biggest difference is that information relating to the map, baselocation, etc are no longer globally accessible. This data now lives inside the main CCBot class, and must be accessed via a reference to the instance of that class. Because of this, most classes in CommandCenter carry with them a reference to the bot's main CCBot object, from which all game related information, observations, and queries can be made.\n\nAn in-depth development guide will be coming soon, but please refer to the [UAlbertaBot wiki](https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fualbertabot\u002Fwiki) for now since the architecture is so similar (minus the build order planner and combat simulator).\n","# CommandCenter：适用于《星际争霸：母巢之战》和《星际争霸II》的AI机器人\n\nCommandCenter是一款星际争霸AI机器人，能够同时游玩《星际争霸：母巢之战》和《星际争霸II》。\n\n![CommandCenter截图](https:\u002F\u002Fi.imgur.com\u002FSbTymsO.jpg)\n\nCommandCenter使用C++编写，基于[BWAPI](https:\u002F\u002Fgithub.com\u002Fbwapi\u002Fbwapi)以及暴雪提供的[StarCraft II AI API](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api)。它为这两个API封装了大量功能，使得同一份源代码可以在两款游戏中实现相同的功能。该项目由纪念大学计算机科学系助理教授、[AIIDE星际争霸AI竞赛](http:\u002F\u002Fwww.cs.mun.ca\u002F~dchurchill\u002Fstarcraftaicomp\u002F)的组织者[David Churchill](http:\u002F\u002Fwww.cs.mun.ca\u002F~dchurchill\u002F)开发。\n\nCommandCenter以[UAlbertaBot](https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fualbertabot\u002Fwiki)的架构为基础，旨在提供一个易于使用的框架，方便玩家快速修改、调试并构建自己的机器人。该机器人本身并未内置过多硬编码的策略或战术，但它为玩家实现针对任意种族的自定义策略提供了一个良好的起点。\n\n目前，CommandCenter具备以下功能：\n* 使用同一份源代码同时支持《星际争霸》两款游戏；\n* 支持所有三个种族，并为作战单位提供了通用的微观操控逻辑；\n* 能够在线分析地图，提取基地位置和扩张点等信息；\n* 记录所有已知敌方单位及其在地图上的最新位置；\n* 内置WorkerManager模块，负责资源采集、工人分配与建筑生产；\n* 可根据配置文件中预设的建造顺序执行任务；\n* 允许玩家轻松创建自定义建造顺序，并在游戏中实时调整；\n* 包含建筑放置算法，可为指定建筑找到距离目标位置最近的可建造点；\n* 利用工兵单位侦查地图，定位敌方基地位置；\n* 当达到特定条件（默认为拥有12个作战单位）时，会发起进攻，分波次向敌方基地推进；\n* 支持组建小队，让多个单位按照既定顺序执行攻击或防守等任务。\n\nCommandCenter最终将具备UAlbertaBot的所有功能，但目前仍有部分功能尚未完成。以下是CommandCenter当前缺失、即将实现的功能列表：\n* ProductionManager目前仅能建造单位和基础建筑，暂不支持附加设施、科研和技术升级；\n* 尚未实现自动化的建造顺序规划系统；\n* 缺乏用于预测战斗结果的模拟模块；\n* 机器人目前仅支持1v1对战模式，若面对多敌或团队战时可能会出现未定义行为甚至崩溃。\n\n# 下载与运行CommandCenter\n\n**《星际争霸：母巢之战》：**  \n您需要安装《星际争霸：母巢之战》1.16.1版本，并确保已正确安装[BWAPI](https:\u002F\u002Fgithub.com\u002Fbwapi\u002Fbwapi)。\n\n**《星际争霸II》：**  \n要运行本机器人，您必须安装最新版本的零售版《星际争霸II》。此外，还需下载并安装一些地图文件，这些文件可在[此处](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-proto#downloads)获取。请注意，页面上提供了用于解压地图压缩包的密码。\n\n机器人附带一个名为[BotConfig.txt](https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter\u002Fblob\u002Fmaster\u002Fbin\u002FBotConfig.txt)的配置文件，您可以通过该文件修改建造顺序、输出调试信息以及设置机器人参数。在文件的“Strategies”部分，您可以定义多个建造方案，并选择在特定种族对局中启用哪一种策略。建造顺序中的单位名称区分大小写，必须与游戏中显示的完全一致，且不能包含空格。目前，配置文件中的一些选项尚未实现，例如KiteWithRangedUnits选项。\n\n需要注意的是，此配置文件采用JSON格式，只有格式正确的JSON文件才能使机器人正常运行。此外，配置文件必须与CommandCenter.exe位于同一目录下，否则机器人将无法启动。如果您不确定JSON语法是否正确，可以使用在线[JSON验证工具](https:\u002F\u002Fjsonlint.com\u002F)进行检查。\n\n默认情况下，运行CommandCenter.exe时，机器人将以随机种族对阵内置的SC2简易AI。您可以通过配置文件中的“BotRace”和“EnemyRace”选项来更改对战双方的种族，也可以通过“MapFile”选项指定要游玩的地图。请注意，“MapFile”选项的路径是相对于您的《星际争霸II》地图目录而言的，默认路径为StarCraft_Install_Directory\u002Fmaps\u002F。如果未指定有效的地图文件，机器人将无法运行。\n\n如果机器人出现崩溃或其他异常情况，请耐心等待，我会继续优化其稳定性！\n\n# 开发者安装\u002F编译说明（Windows）\n\n* 下载并安装 [Visual Studio 2017](https:\u002F\u002Fwww.visualstudio.com\u002Fdownloads\u002F)\n* 要游玩《星际争霸：老版本》，您必须下载并安装 StarCraft BW v1.16.1 以及 [BWAPI](https:\u002F\u002Fgithub.com\u002Fbwapi\u002Fbwapi)。\n* 要游玩《星际争霸II》，您必须下载并安装 [StarCraft II AI API](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api)。最简单的方法是下载页面底部的 [预编译库](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api#precompiled-libs)，然后将其解压到您电脑上的一个文件夹中。如果您通过克隆 Blizzard 的 GitHub 仓库并从头开始编译 SC2API，可能需要将 VS 的包含目录和库目录指向与下方描述不同的路径。\n* 将此 Git 仓库克隆到您电脑上的一个文件夹中。\n* 在 VS2017 中打开“CommandCenter\u002Fvs\u002FCommandCenter.sln”。\n* 如果您使用 x64 平台编译 CommandCenter 项目，它将编译 SC2 模块。\n* 如果您使用 x86 或 Win32 平台编译 CommandCenter 项目，它将编译 BW 模块。\n* 设置 VS 项目的包含和库目录以指向相应目录：\n  * 在 VS2017 中右键单击 CommandCenter 项目。\n  * 选择“属性”。\n  * 在左上角选择您想要构建的正确配置（“Release”或“Debug”）。\n  * 选择您想要构建的目标平台（x64 = SC2，Win32 = BW）。\n  * 在左侧选择“VC++ 目录”。\n  * 在右侧表格中选择“包含目录”选项。\n  * 点击右侧的下拉箭头，然后点击“编辑...”。\n  * 修改现有的目录条目，使其指向您的 (SC2API|BWAPI)\u002Finclude 目录。\n  * 在右侧表格中选择“库目录”选项。\n  * 点击右侧的下拉箭头，然后点击“编辑...”。\n  * 修改现有的目录条目，使其指向您的 (SC2API|BWAPI)\u002Flib 目录。\n* 从“生成”菜单中，点击“生成解决方案”。\n* 二进制文件“CommandCenter_API.exe”应出现在 CommandCenter\u002Fbin\u002F 目录中。\n* 运行 CommandCenter 机器人的方式有：\n  * 双击 CommandCenter\u002Fbin\u002F 目录中的可执行文件。\n  * 从控制台运行程序。\n  * 在 VS 中点击“本地 Windows 调试器”以在 VS 内部启动程序。为此，您需要将“调试”下的“工作目录”选项设置为“$(ProjectDir)\u002F..\u002Fbin\u002F”（我不知道为什么这个选项无法保存）。\n* 如果您运行的是 BW 版本的机器人，则必须通过 Chaoslauncher 启动 BW，并注入 BWAPI。\n* CommandCenter\u002Fbin\u002FBotConfig.txt 文件必须与 .exe 文件位于同一目录中，才能正常运行。\n\n# 开发者安装\u002F编译说明（Linux 和 OS X）\n\n\n按照这些步骤，您应该能够构建并安装 SC2 API，并将其集成到 CommandCenter 中。该方法已在 [aba2d3813571c344090f3de5b58a5c912cd5acb3](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api\u002Fcommit\u002Faba2d3813571c344090f3de5b58a5c912cd5acb3) 版本上成功测试过。因此，如果下面的安装说明不起作用，请切换到该版本的 SC2 API：\n\n`$ git checkout aba2d3813571c344090f3de5b58a5c912cd5acb3 .`\n\n然后重复上述步骤。\n\n* 构建 SC2 API 项目\n```bash\n$ git clone --recursive https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api && cd s2client-api\n$ mkdir build && cd build\n$ cmake ..\u002F\n$ make\n```\n\n* 将 SC2 API 的库和头文件安装到您的系统中\n```bash\n# 假设您已完成上一步，当前位于 'build' 目录\n$ cd ..\u002F\n\n# 安装 SC2 API 头文件\n$ sudo mkdir -p \u002Fopt\u002Flocal\u002Finclude\n$ sudo cp -R include\u002F{sc2api,sc2renderer,sc2utils} \u002Fopt\u002Flocal\u002Finclude\n$ sudo cp -R build\u002Fgenerated\u002Fs2clientprotocol \u002Fopt\u002Flocal\u002Finclude\n\n# 安装 protobuf 头文件\n$ sudo cp -R contrib\u002Fprotobuf\u002Fsrc\u002Fgoogle \u002Fopt\u002Flocal\u002Finclude\u002Fsc2api\n\n# 安装 SC2 API 库\n$ sudo mkdir -p \u002Fopt\u002Flocal\u002Flib\u002Fsc2api\n$ sudo cp build\u002Fbin\u002F{libcivetweb,libprotobuf,libsc2api,libsc2lib,libsc2protocol,libsc2utils}.a \u002Fopt\u002Flocal\u002Flib\u002Fsc2api\n```\n\n* 构建机器人\n```bash\n$ git clone https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter.git && cd commandcenter\n$ cmake .\n$ make\n```\n\n# 机器人开发\n\n如果您熟悉 UAlbertaBot 的架构，那么 CommandCenter 的逻辑与之非常相似。最大的区别在于，与地图、基地位置等相关的信息不再全局可用。这些数据现在存储在主 CCBot 类中，必须通过该类的实例引用才能访问。因此，CommandCenter 中的大多数类都携带对机器人主 CCBot 对象的引用，所有与游戏相关的信息、观察和查询都可以通过该引用进行。 \n\n详细的开发指南即将发布，但目前您可以参考 [UAlbertaBot 维基](https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fualbertabot\u002Fwiki)，因为两者的架构非常相似（除了建造顺序规划器和战斗模拟器之外）。","# CommandCenter 快速上手指南\n\nCommandCenter 是一个支持《星际争霸：母巢之战》（Broodwar）和《星际争霸 II》（StarCraft II）的双平台 AI 机器人框架。它基于 C++ 开发，旨在提供一个易于修改和扩展的架构，帮助开发者快速构建自己的星际争霸 AI 策略。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Windows (推荐 VS2017), Linux, 或 macOS\n- **编译器**：Visual Studio 2017 (Windows) 或 CMake + Make (Linux\u002FmacOS)\n- **游戏版本**：\n  - **Broodwar**: 必须安装 StarCraft: Broodwar v1.16.1\n  - **StarCraft II**: 必须安装最新零售版 StarCraft II\n\n### 前置依赖\n根据目标游戏选择安装对应的 API：\n\n1.  **针对 Broodwar**:\n    - 下载并安装 [BWAPI](https:\u002F\u002Fgithub.com\u002Fbwapi\u002Fbwapi)。\n2.  **针对 StarCraft II**:\n    - 下载并安装 [StarCraft II AI API (s2client-api)](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api)。\n    - **地图文件**: 需从 [官方仓库](https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-proto#downloads) 下载比赛用地图并解压（注意页面提供的解压密码）。\n    - *提示*: Windows 用户可直接下载 \"Precompiled Libraries\" 预编译库以简化安装。\n\n## 安装步骤\n\n### 方案 A：Windows (Visual Studio)\n\n1.  **获取源码**:\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter.git\n    ```\n2.  **打开项目**:\n    使用 Visual Studio 2017 打开 `CommandCenter\u002Fvs\u002FCommandCenter.sln`。\n3.  **配置路径**:\n    - 右键点击 `CommandCenter` 项目 -> **属性 (Properties)**。\n    - 选择对应的配置（Release\u002FDebug）和平台：\n      - **x64**: 编译 SC2 版本\n      - **Win32\u002Fx86**: 编译 BW 版本\n    - 进入 **VC++ 目录 (VC++ Directories)**:\n      - **包含目录 (Include Directories)**: 指向 `(SC2API|BWAPI)\u002Finclude` 文件夹。\n      - **库目录 (Library Directories)**: 指向 `(SC2API|BWAPI)\u002Flib` 文件夹。\n4.  **编译**:\n    点击菜单栏 **生成 (Build)** -> **生成解决方案 (Build Solution)**。\n    编译成功后，`CommandCenter_API.exe` 将出现在 `CommandCenter\u002Fbin\u002F` 目录中。\n\n### 方案 B：Linux \u002F macOS\n\n1.  **编译并安装 SC2 API**:\n    ```bash\n    # 克隆特定稳定版本的 s2client-api\n    git clone --recursive https:\u002F\u002Fgithub.com\u002FBlizzard\u002Fs2client-api\n    cd s2client-api\n    git checkout aba2d3813571c344090f3de5b58a5c912cd5acb3\n    \n    mkdir build && cd build\n    cmake ..\u002F\n    make\n\n    # 安装头文件和库到系统目录\n    cd ..\u002F\n    sudo mkdir -p \u002Fopt\u002Flocal\u002Finclude\n    sudo cp -R include\u002F{sc2api,sc2renderer,sc2utils} \u002Fopt\u002Flocal\u002Finclude\n    sudo cp -R build\u002Fgenerated\u002Fs2clientprotocol \u002Fopt\u002Flocal\u002Finclude\n    sudo cp -R contrib\u002Fprotobuf\u002Fsrc\u002Fgoogle \u002Fopt\u002Flocal\u002Finclude\u002Fsc2api\n    \n    sudo mkdir -p \u002Fopt\u002Flocal\u002Flib\u002Fsc2api\n    sudo cp build\u002Fbin\u002F{libcivetweb,libprotobuf,libsc2api,libsc2lib,libsc2protocol,libsc2utils}.a \u002Fopt\u002Flocal\u002Flib\u002Fsc2api\n    ```\n\n2.  **编译 CommandCenter**:\n    ```bash\n    cd .. # 返回上级目录\n    git clone https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter.git\n    cd commandcenter\n    cmake .\n    make\n    ```\n\n## 基本使用\n\n### 1. 配置文件设置\n在运行前，确保 `BotConfig.txt` 文件位于可执行文件 (`CommandCenter_API.exe`) 的同级目录下（即 `bin\u002F` 文件夹）。\n\n- 编辑 `BotConfig.txt` (JSON 格式) 可调整种族、地图和建造顺序。\n- **关键参数**:\n  - `BotRace`: 设置机器人种族 (如 \"Terran\", \"Zerg\", \"Protoss\", \"Random\")。\n  - `EnemyRace`: 设置对手种族。\n  - `MapFile`: 设置地图路径（相对于 SC2 安装目录下的 `maps\u002F` 文件夹）。\n  - `Strategies`: 定义具体的建造顺序（单位名区分大小写且不能有空格）。\n\n*注意：请确保 JSON 格式正确，否则机器人无法启动。可使用在线工具验证。*\n\n### 2. 运行机器人\n\n#### 对于 StarCraft II\n直接运行编译好的程序：\n```bash\n# Windows\ncd bin\nCommandCenter_API.exe\n\n# Linux\u002FmacOS\n.\u002FCommandCenter_API\n```\n默认情况下，机器人将以随机种族对抗内置的简单 AI (Easy AI)。\n\n#### 对于 Broodwar\n1. 启动 **Chaoslauncher**。\n2. 勾选 **BWAPI Inject** 插件。\n3. 启动 StarCraft: Broodwar。\n4. 在游戏创建房间后，CommandCenter 会自动接入并控制对应玩家。\n\n### 3. 开发提示\n- CommandCenter 的架构与 UAlbertaBot 相似，但地图信息等数据不再全局访问，而是封装在 `CCBot` 类中。\n- 大多数功能类都需要持有 `CCBot` 实例的引用以获取游戏状态。\n- 目前仅支持 1v1 模式，多敌人或团队模式可能导致崩溃。","一位计算机系研究生正在准备参加 AIIDE 星际争霸 AI 竞赛，需要快速构建一个能同时兼容《星际争霸：母巢之战》和《星际争霸 II》的基准机器人以验证新战术。\n\n### 没有 commandcenter 时\n- 开发者必须分别学习 BWAPI 和暴雪官方 S2Client 两套截然不同的 API 文档，为同一套逻辑编写两份代码，维护成本极高。\n- 每次更换地图都需要手动硬编码基地坐标和扩张点位置，一旦切换地图，机器人就会因找不到资源点而“发呆”。\n- 缺乏统一的工人管理和建筑放置算法，导致资源采集效率低下，建筑物经常因选址错误而无法建造或堵塞路口。\n- 想要测试新的兵种推进战术时，需从零编写微操控制器和编队逻辑，难以在短期内形成具备战斗力的原型。\n\n### 使用 commandcenter 后\n- 利用其跨游戏封装架构，只需编写一次 C++ 核心逻辑，即可直接编译运行在两个版本的星际争霸中，开发效率提升一倍。\n- 调用内置的在线地图分析功能，机器人能自动识别任意地图的基地与扩张点，无需人工干预即可适应新赛场。\n- 直接启用成熟的 WorkerManager 和建筑放置算法，实现了高效的资源调度与最优选址，基础运营水平瞬间达到竞赛标准。\n- 基于通用的微操控制器和预设小队（Squads）系统，仅需修改配置文件中的建造顺序，即可快速部署并测试全新的进攻波次战术。\n\ncommandcenter 通过屏蔽底层引擎差异并提供标准化的运营战斗模块，让研究者能从繁琐的基建工作中解放出来，专注于核心 AI 策略的创新。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdavechurchill_commandcenter_80f88f94.png","davechurchill","David Churchill","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fdavechurchill_164ea065.jpg","Associate Professor, Computer Science\r\nVideo Games & AI","Memorial University","Newfoundland, Canada","dave.churchill@gmail.com",null,"https:\u002F\u002Fdavechurchill.ca","https:\u002F\u002Fgithub.com\u002Fdavechurchill",[86,90],{"name":87,"color":88,"percentage":89},"C++","#f34b7d",99.6,{"name":91,"color":92,"percentage":93},"CMake","#DA3434",0.4,542,112,"2026-03-09T17:01:14","MIT",5,"Windows, Linux, macOS","未说明",{"notes":102,"python":103,"dependencies":104},"该工具主要由 C++ 编写，非 Python 项目。Windows 下编译 SC2 版本需 x64 平台，星际争霸 1 版本需 Win32\u002Fx86 平台；运行星际 1 需配合 Chaoslauncher 注入 BWAPI。运行星际 2 需额外下载并解压官方地图文件（需密码）。配置文件 BotConfig.txt 必须为合法的 JSON 格式且与可执行文件位于同一目录。Linux\u002FmacOS 下需手动编译并安装 s2client-api 及其依赖（如 protobuf）到系统目录。","不适用 (主要使用 C++)",[105,106,107,108,109,91,110],"Visual Studio 2017 (Windows)","StarCraft: Broodwar v1.16.1","BWAPI","StarCraft II (零售版)","Blizzard s2client-api","Protobuf",[14,15,26,54,13,53],[113,114,115,116,117,118,119,120,121,122],"starcraft","bot","bwapi","broodwar","game","sc2api","starcraft2","starcraft-ii-api","artificial-intelligence","ai","2026-03-27T02:49:30.150509","2026-04-06T06:53:15.831287",[126,131,136,141,146,150],{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},12045,"在 macOS (OSX) 上构建时出现 'Could NOT find SC2Api' 错误，提示找不到 proto 目录怎么办？","这个问题通常是因为 sc2client-api 的目录结构或生成的头文件位置发生了变化。维护者表示会修补构建流程并更新文档。解决方法是确保 CMake 配置中的 `SC2Api_INCLUDE_DIR` 正确指向了包含 `sc2api\u002Fsc2_api.h` 和 `sc2utils\u002Fsc2_manage_process.h` 的目录。如果自动查找失败，可能需要手动检查 s2client-api 构建后的目录结构，确认 `proto` 相关头文件是否已生成在预期位置（有时路径会变动），或者等待项目更新以适配新的 API 命名和结构。","https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter\u002Fissues\u002F25",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},12046,"在 Linux (xubuntu) 上编译时报错 'invalid user-defined conversion from sc2::Unit to const sc2::Unit*' 如何解决？","这是一个已知的构建问题，通常由 sc2client-api 版本不兼容引起。该问题已在 Issue #52 中得到解决。如果遇到此错误，请拉取最新的代码更新。如果问题依然存在，可能是因为底层 Blizzard s2client-api 的变更，建议参考 Blizzard 官方仓库的相关讨论（如 github.com\u002FBlizzard\u002Fs2client-api\u002Fissues\u002F170）以获取针对特定 API 版本的修复方案。","https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter\u002Fissues\u002F47",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},12047,"在 Ubuntu\u002FLinux 上构建时，CMake 无法找到 sc2client-api 的头文件和库文件怎么办？","由于 sc2client-api 默认不提供 CMake 安装目标，你需要手动创建符号链接来“欺骗”CMake 找到它们。具体步骤如下：\n1. 创建库目录链接：\n   `sudo mkdir -p \u002Fopt\u002Flocal\u002Flib`\n   `sudo ln -s ~\u002Fs2client-api\u002Fbuild\u002Fbin\u002F \u002Fopt\u002Flocal\u002Flib\u002Fsc2api`\n2. 创建头文件目录链接：\n   `sudo mkdir -p \u002Fopt\u002Flocal\u002Finclude`\n   `cd \u002Fopt\u002Flocal\u002Finclude`\n   `for i in ~\u002Fs2client-api\u002Finclude\u002F*; do sudo ln -s $i .; done`\n3. 注意：还需要确保 protobuf 生成的头文件路径也被包含在内，因为它们通常位于 build 目录中。如果仍然失败，检查 CMake 输出以确认所有必要的路径（包括 protobuf 路径）都已正确添加。","https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter\u002Fissues\u002F21",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},12048,"编译时出现 '#error This file was generated by an older version of protoc' 错误是什么意思？","这个错误表明你的系统中安装的 Protocol Buffer 编译器 (protoc) 版本与生成 `sc2api.pb.h` 文件时使用的版本不兼容（通常是系统版本过新，而文件是由旧版本生成的，或者反之）。解决方法是重新生成协议缓冲区文件：你需要使用与 sc2client-api 构建时相同版本的 `protoc` 来重新编译 `.proto` 文件，或者升级\u002F降级系统的 protobuf 库以匹配预生成的头文件要求。在某些情况下，重新完整构建 s2client-api 可以解决版本不一致的问题。","https:\u002F\u002Fgithub.com\u002Fdavechurchill\u002Fcommandcenter\u002Fissues\u002F59",{"id":147,"question_zh":148,"answer_zh":149,"source_url":140},12049,"为什么 CMake 配置过程中会出现关于 'SC2Api_FOUND' 的警告或混乱信息？","这通常是 CMake `find_package` 宏的标准行为，用于向调用者报告包是否找到。这些消息主要是为了调试目的，属于外观性（cosmetic）问题，不影响实际构建。如果你在使用自定义的 Find 模块，可以通过启用 CMake 的 trace 模式或手动打印变量来排查。对于普通用户，只要最终没有报错停止构建，可以忽略这些信息。维护者提到可以根据需要添加更清晰的提示信息，以避免不熟悉 CMake 的用户困惑。",{"id":151,"question_zh":152,"answer_zh":153,"source_url":135},12050,"构建成功后，如何确认 Bot 本身是否能正常运行？","构建成功仅表示代码编译通过，不代表逻辑无误。维护者在修复构建问题后曾指出：“我还没有测试 Bot 本身”。因此，构建完成后，你需要手动运行 CommandCenter 可执行文件并加载到 StarCraft II 中进行实测。如果在运行时遇到崩溃或逻辑错误，那属于运行时问题，需单独调试。建议在运行前确保 StarCraft II 游戏版本与 s2client-api 版本完全匹配。",[]]