{"id":45893085,"url":"https://github.com/SoarGroup/Soar","last_synced_at":"2026-03-27T10:01:13.568Z","repository":{"id":18128049,"uuid":"21206914","full_name":"SoarGroup/Soar","owner":"SoarGroup","description":"Soar, a general cognitive architecture for systems that exhibit intelligent behavior.","archived":false,"fork":false,"pushed_at":"2025-12-31T20:48:02.000Z","size":247050,"stargazers_count":392,"open_issues_count":173,"forks_count":82,"subscribers_count":35,"default_branch":"development","last_synced_at":"2026-01-05T07:35:48.077Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://soar.eecs.umich.edu","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SoarGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-06-25T14:50:12.000Z","updated_at":"2026-01-05T07:28:06.000Z","dependencies_parsed_at":"2024-07-07T21:45:11.282Z","dependency_job_id":"b280f7a3-52d9-4000-a234-7158ee2f10e7","html_url":"https://github.com/SoarGroup/Soar","commit_stats":null,"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/SoarGroup/Soar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoarGroup%2FSoar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoarGroup%2FSoar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoarGroup%2FSoar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoarGroup%2FSoar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoarGroup","download_url":"https://codeload.github.com/SoarGroup/Soar/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoarGroup%2FSoar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31042115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-27T09:35:52.079Z","status":"ssl_error","status_checked_at":"2026-03-27T09:35:20.916Z","response_time":164,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-27T19:00:39.320Z","updated_at":"2026-03-27T10:01:13.562Z","avatar_url":"https://github.com/SoarGroup.png","language":"C++","funding_links":[],"categories":["人工智能"],"sub_categories":["自然语言处理"],"readme":"# Soar\n\n[![Build/Test](https://github.com/SoarGroup/Soar/actions/workflows/build.yml/badge.svg)](https://github.com/SoarGroup/Soar/actions/workflows/build.yml)\n\nThis is the code base for Soar, a cognitive architecture for developing systems\nthat exhibit intelligent behavior. For more information about this project,\nplease visit:\n\n- [The Soar home page](http://soar.eecs.umich.edu/)\n- [The GitHub project page](https://github.com/SoarGroup/Soar)\n\nNote that the readme included with the Soar distribution for end-users is in the\n[Release-Support](https://github.com/SoarGroup/Release-Support/blob/master/txt/README)\nrepository.\n\n## Soar Builds\n\nFor binary builds of Soar you can get them in two places:\n\n- [Official Releases](http://soar.eecs.umich.edu/articles/downloads/soar-suite)\n- [Latest Successful Development Build](https://github.com/SoarGroup/Soar/actions/workflows/build.yml?query=branch%3Adevelopment): click the latest run and scroll down to \"Artifacts\".\n  - If the download for your platform isn't there, the build failed. You'll\n      need to download the result of an earlier build.\n  - GitHub cannot build for ARM64 (M-series Macs), so you'll need to build\n      from source or use the release version instead.\n\n## Soar Performance\n\nSome performance statistics are calculated automatically using the Factorization\nStress Tests. You can see performance on a commit-by-commit basis either in\n[Performance.md](https://github.com/SoarGroup/Soar/blob/development/Performance.md)\nor [here](http://soar-jenkins.eecs.umich.edu/Performance/). The raw data used to\ngenerate the graphs for each build can be found\n[here](http://soar-jenkins.eecs.umich.edu/Performance/).\n\nDisclaimer: These are worst case tests. Average performance is probably much\nhigher. In addition, these show that even in worst case, Soar beats its goal of\n50 msec reactivity (in these tests, the max is ~30msec per decision).\n\n## Development\n\nThe Soar project builds with `scons`, see [build with scons](#build-with-scons),\nbut an alternative build based on `CMake`, see\n[CMake section](#build-with-cmake), is under development.\n\nThe following table provides a comparison of supported build features for Soar\nbetween both build systems.\n\n| Feature                           | Scons | CMake |\n| --------------------------------- | ----- | ----- |\n| Soar dynamic lib                  | ✅    | ✅    |\n| Soar static lib                   | ❌    | ✅    |\n| Soar CLI                          | ✅    | ✅    |\n| Unit tests                        | ✅    | ✅    |\n| Performance tests                 | ✅    | ✅    |\n| External lib test                 | ✅    | ✅    |\n| SVS                               | ✅    | ❌    |\n| SWIG Python                       | ✅    | ✅    |\n| SWIG Java                         | ✅    | ✅    |\n| SWIG JavaScript                   | ❌    | ✅    |\n| SWIG C#                           | ✅    | ❌    |\n| SWIG TCL                          | ✅    | ❌    |\n| Python package soar-sml           | ✅    | ❌    |\n| Generate compile commands         | ✅    | ✅    |\n| Release                           | ✅    | ✅    |\n| Debug                             | ✅    | ✅    |\n| Debug with address sanitizer      | ❌    | ✅    |\n| Conan package manager integration | ❌    | ✅    |\n| MacOS                             | ✅    | ✅    |\n| Linux                             | ✅    | ✅    |\n| Windows                           | ✅    | ❌    |\n| Java builds (Debugger)            | ✅    | ❌    |\n\n### Prerequisites\n\nThe instructions below are cursory and may be out of date; the most up-to-date\ninstructions for compiling Soar from source will always be the CI build scripts.\nYou can find them [here](.github/workflows/build.yml).\n\nTo compile Soar, you will need the dependencies listed below. Note that the\ninstallation commands are not complete, e.g. missing instructions for Mac do not\nmean that the dependency is not needed on Mac, etc.:\n\n- C/C++ compiler\n  - Mac: `xcode-select --install`\n  - Linux: `sudo apt-get install build-essential`\n- Python\n  - Mac: `brew install python`\n- Java\n  - We recommend using [SDKMan](https://sdkman.io/). The debugger, etc. require\n  Java 11 at a minimum, but it's best to install the latest LTS. Temurin is\n  recommended.\n\nTo compile the extra SML wrapper libs, you will need the following:\n\n- pkg-config\n  - Mac: `brew install pkg-config`\n  - Linux: `sudo apt install pkgconf`\n- SWIG\n  - Mac: `brew install swig`\n  - Linux: `sudo apt install swig`\n- Python development headers (only needed for Python wrapper)\n  - Linux: `sudo apt install python3-dev`\n- C# compiler (`csc`) (only needed for C# wrapper)\n  - Mac: `brew install mono`\n- Tcl (only needed for Tcl wrapper and TclSoarlib)\n  - Mac: `brew install tcl-tk`\n\n### Build with Scons\n\nThe project supports generating compile_commands.json, which can be used by e.g.\nVSCode with the C/C++ plugin to provide IntelliSense. To generate this file, run\nscons with the `cdb` target:\n\n```shell\n   python3 scons/scons.py --scu --opt --verbose cdb\n```\n\nNote for M-series Mac users: you'll want to make sure you're compiling for\nARM64, not x86_64. Sometimes users have Python installed in compatibility mode,\nleading to compiles for the wrong architecture. You can check which architecture\nyour Python is built for using this:\n\n```python\nimport sysconfig\n\u003e\u003e\u003e print(sysconfig.get_config_vars())\n```\n\nYou can also check your `clang`'s default compile target using `clang --version`.\n\nTo compile everything for local development, you can use the following command:\n\n```shell\n   python3 scons/scons.py --scu --dbg --verbose all\n```\n\nDebug mode enables debugging, but also activates assertions, which are important\nfor catching bugs early. `--scu` (single compilation unit) simplifies the\ndebugging experience.\n\nIf you want an optimized build instead:\n\n```shell\n    python3 scons/scons.py --opt --verbose all\n```\n\n### Build with CMake\n\nThe following prerequisites must be available:\n\n- CMake\n- Python3, including pip for the [conan](https://conan.io) package manager.\n\nOnce the dependencies are set up, the project can be built with the\n[`build.sh` script](./build.sh).\n\nThe VS Code extension for CMake should also work for triggering `build` and\n`install` commands, adding build problems to the warnings.\n\nThe CMake build system for Soar includes a set of build presets setting defaults\nfor several build options. See [CMakePrestes.json](./CMakePresets.json) for\noptions. Using these presets requires the installation of debug and release\ndependencies by Conan, due to the resolution of dependencies via CMake toolchains:\n\n```shell\nconan install . --build=missing\nconan install . --build=missing -s build_type=Debug\n```\n\nAfterwards, different presets can be built with\n\n```shell\ncmake --preset Debug-test\ncmake --build --preset Debug-test\n```\n\nor predefined workflows can be run with the following command, running\nconfigure, build and test stages:\n\n```shell\ncmake --workflow --preset Debug-test-workflow\n```\n\nThe default options are covered through presets `conan-release` and\n`conan-debug` provided by Conan. Extensions, like VS Code CMake tools,\nintegrate well with these presets. A list of all presets is availble via `cmake\n--list-presets` or for workflows with `cmake --workflow --list-presets`.\n\n## License\n\nSoar is available under the following\n[LICENSE](https://github.com/SoarGroup/Soar/blob/development/LICENSE.md). This\nlicense is [BSD](http://opensource.org/licenses/BSD-2-Clause)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSoarGroup%2FSoar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSoarGroup%2FSoar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSoarGroup%2FSoar/lists"}