{"id":32952988,"url":"https://github.com/opennars/opennars","last_synced_at":"2025-12-17T04:43:35.389Z","repository":{"id":18777218,"uuid":"21990398","full_name":"opennars/opennars","owner":"opennars","description":"OpenNARS for Research 3.0+","archived":false,"fork":false,"pushed_at":"2021-03-31T20:22:27.000Z","size":57824,"stargazers_count":402,"open_issues_count":100,"forks_count":84,"subscribers_count":47,"default_branch":"master","last_synced_at":"2025-11-16T03:04:34.748Z","etag":null,"topics":["agent","agi","ai","aikr","artificial-general-intelligence","database","graph","inference","java","learning","logic","nal","nars","realtime","reasoner","reasoning","reinforcement","rl","semantic","solver"],"latest_commit_sha":null,"homepage":"http://www.opennars.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opennars.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-18T18:36:28.000Z","updated_at":"2025-11-10T16:38:59.000Z","dependencies_parsed_at":"2022-08-19T20:40:33.169Z","dependency_job_id":null,"html_url":"https://github.com/opennars/opennars","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/opennars/opennars","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opennars%2Fopennars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opennars%2Fopennars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opennars%2Fopennars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opennars%2Fopennars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opennars","download_url":"https://codeload.github.com/opennars/opennars/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opennars%2Fopennars/sbom","scorecard":{"id":709843,"data":{"date":"2025-08-11","repo":{"name":"github.com/opennars/opennars","commit":"4d1bdb0f599ccf6ed44edfc398f02f930713d30f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v3.1.0 not signed: https://api.github.com/repos/opennars/opennars/releases/31224897","Warn: release artifact v3.0.2 not signed: https://api.github.com/repos/opennars/opennars/releases/16300404","Warn: release artifact v3.1.0 does not have provenance: https://api.github.com/repos/opennars/opennars/releases/31224897","Warn: release artifact v3.0.2 does not have provenance: https://api.github.com/repos/opennars/opennars/releases/16300404"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-5mg8-w23w-74h3","Warn: Project is vulnerable to: GHSA-7g45-4rm6-3mm3","Warn: Project is vulnerable to: GHSA-j288-q9x7-2f5v"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T07:47:57.651Z","repository_id":18777218,"created_at":"2025-08-22T07:47:57.651Z","updated_at":"2025-08-22T07:47:57.651Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27777213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["agent","agi","ai","aikr","artificial-general-intelligence","database","graph","inference","java","learning","logic","nal","nars","realtime","reasoner","reasoning","reinforcement","rl","semantic","solver"],"created_at":"2025-11-12T22:00:27.665Z","updated_at":"2025-12-17T04:43:35.370Z","avatar_url":"https://github.com/opennars.png","language":"Java","funding_links":[],"categories":["人工智能","Organizations / Projects"],"sub_categories":[],"readme":"![OpenNARS Logo](https://github.com/opennars/opennars/blob/bf53ceef9f2399de70dc63e5507e42d639144c96/doc/opennars_logo2.png)\n**Open-NARS** is the open-source version of [NARS](https://sites.google.com/site/narswang/home), a general-purpose AI system, designed in the framework of a reasoning system.  This project is an evolution of the [v1.5 system](http://code.google.com/p/open-nars/).  The [mailing list](https://groups.google.com/forum/?fromgroups#!forum/open-nars) discusses both its theory and implementation.\n\n[![Build Status](https://travis-ci.org/opennars/opennars.svg?branch=master)](https://travis-ci.org/opennars/opennars)\n[![codecov](https://codecov.io/gh/opennars/opennars/branch/master/graph/badge.svg)](https://codecov.io/gh/opennars/opennars)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/fce375943907463fa53dc5bebcefebbd)](https://www.codacy.com/app/freemo/opennars?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=opennars/opennars\u0026amp;utm_campaign=Badge_Grade)\n\nHow to build OpenNARS\n---------------------\nUsing mvn:\n\nfor each of the projects: \n\n\thttps://github.com/opennars/opennars-parent.git     \n\thttps://github.com/opennars/opennars.git     \n\thttps://github.com/opennars/opennars-lab.git     \n\thttps://github.com/opennars/opennars-applications.git     \n\thttps://github.com/opennars/opennars-gui.git\n\n\tgit clone 'project'\n\tcd 'project_dir'\n\tmvn clean install \n\noptionally append -Dmaven.javadoc.skip=true to skip documentation generation\n\n\tcd 'project_dir'\n\tmvn exec:java\n\nAlternatively, using IntelliJ IDE:\n\nInstall git https://git-scm.com/downloads\n\nInstall OpenJDK 11 https://jdk.java.net/11/\n\nInstall community edition IntelliJ https://www.jetbrains.com/idea/download/\n\nCheckout https://github.com/opennars/opennars.git\n\nCheckout https://github.com/opennars/opennars-lab.git\n\nCheckout https://github.com/opennars/opennars-applications.git\n\nYou can either checkout within Intellij or use the Github desktop (available from the github clone button in the repo)\n\nBuild opennars\n\nIf this is a fresh install you will be prompted to enter the jdk path (where you installed it above)\nYou may be prompted to update maven dependencies - do this if prompted\n\nBuild opennars-lab\n\nSelect org.opennars.lab.launcher.Launcher as the main entry point\n\nBuild opennars-applications\n\nSelect org.opennars.applications.Launcher\n\nApplication Launchers\n---------------------\nThe launchers are the easiest way to run the various apps\n\nopennars-lab \n\n    Main GUI - Main user interface for NARS\n\n    Test Chamber - Simulation environment for testing behaviours\n\n    Micro world\t- Behaviour learning by simple insect like creature\n\n    NAR Pong - The classic pong game\n\n    Language Lab - For experimenting with parts of speech (POS) and grammar learning\n\n    Perception Test - Pattern matching experiment\n\n    Prediction Test - Predicts a waveform - Can be run directly from Intellij (Current issue with running with launcher)\n\n    Vision - Vision experiment - Can be run direcly from Intellij (Current issue with running with launcher)\n\nopennars-applications\n\n    Main GUI - A simple MIT license GUI\n\n    Crossing - A smart city traffic intersection simulation\n\n    Identity mapping - An experimental setup for testing aspects of Relations Frame Theory (RFT)\n\n\nOpennars Core is run directly by the Lab and Applications Launchers.\n\nExample Narsese files\n--------------------\nHere is a link to some Narses examples including:\n\n    Toothbrush example - how to use a toothbrush to undo a screw?\n    \n    Detective example - who is the criminal?\n    \nhttps://github.com/opennars/opennars/tree/master/src/main/resources/nal/application    \n\nTheory Overview\n---------------\n\nNon-Axiomatic Reasoning System ([NARS](https://sites.google.com/site/narswang/home)) processes tasks imposed by its environment, which may include human users or other computer systems. Tasks can arrive at any time, and there is no restriction on their contents as far as they can be expressed in __Narsese__, the I/O language of NARS.\n\nThere are several types of __tasks__:\n\n * **Judgment** - To process it means to accept it as the system's belief, as well as to derive new beliefs and to revise old beliefs accordingly.\n * **Question** -  To process it means to find the best answer to it according to current beliefs.\n * **Goal** - To process it means to carry out some system operations to realize it.\n\nAs a reasoning system, the [architecture of NARS](http://www.cis.temple.edu/~pwang/Implementation/NARS/architecture.pdf) consists of a **memory**, an **inference engine**, and a **control mechanism**.\n\nThe **memory** contains a collection of concepts, a list of operators, and a buffer for new tasks. Each concept is identified by a term, and contains tasks and beliefs directly on the term, as well as links to related tasks and terms.\n\nThe **inference engine** carries out various type of inference, according to a set of built-in rules. Each inference rule derives certain new tasks from a given task and a belief that are related to the same concept.\n\nThe control mechanism repeatedly carries out the **working cycle** of the system, generally consisting of the following steps:\n\n 1. Select tasks in the buffer to insert into the corresponding concepts, which may include the creation of new concepts and beliefs, as well as direct processing on the tasks.\n 2. Select a concept from the memory, then select a task and a belief from the concept.\n 3. Feed the task and the belief to the inference engine to produce derived tasks.\n 4. Add the derived tasks into the task buffer, and send report to the environment if a task provides a best-so-far answer to an input question, or indicates the realization of an input goal.\n 5. Return the processed belief, task, and concept back to memory with feedback.\n\nAll the **selections** in steps 1 and 2 are **probabilistic**, in the sense that all the items (tasks, beliefs, or concepts) within the scope of the selection have priority values attached, and the probability for each of them to be selected at the current moment is proportional to its priority value. When an new item is produced, its priority value is determined according to its parent items, as well as the type of mechanism that produces it. At step 5, the priority values of all the involved items are adjusted, according to the immediate feedback of the current cycle.\n\nAt the current time, the most comprehensive description of NARS are the books [Rigid Flexibility: The Logic of Intelligence](http://www.springer.com/west/home/computer/artificial?SGWID=4-147-22-173659733-0) and [Non-Axiomatic Logic: A Model of Intelligent Reasoning](http://www.worldscientific.com/worldscibooks/10.1142/8665) . Various aspects of the system are introduced and discussed in many papers, most of which are [available here](http://www.cis.temple.edu/~pwang/papers.html).\n\nBeginners can start at the following online materials:\n\n * The basic ideas behind the project: [The Logic of Intelligence](http://www.cis.temple.edu/~pwang/Publication/logic_intelligence.pdf)\n * The high-level engineering plan: [From NARS to a Thinking Machine](http://www.cis.temple.edu/~pwang/Publication/roadmap.pdf)\n * The core logic: [From Inheritance Relation to Non-Axiomatic Logic](https://cis.temple.edu/~pwang/Publication/inheritance_nal.pdf)\n * The semantics: [Experience-Grounded Semantics: A theory for intelligent systems](https://cis.temple.edu/~pwang/Publication/semantics.pdf)\n * The memory and control: [Computation and Intelligence in Problem Solving](https://cis.temple.edu/~pwang/Writing/computation.pdf)\n\n\nContents\n--------\n * **[core](https://github.com/opennars/opennars/tree/master/src/main/java/org/opennars)** - reasoning engine\n * **[nal](https://github.com/opennars/opennars/tree/master/src/main/resources/nal)** - examples/unit tests\n\nThe core is derived from the code of Pei Wang.\n\n\nRun Requirements\n----------------\n * Java 8+ (OpenJDK 10 recommended)\n\nExample Files\n-------------\nFor an overview of reasoning features, see working examples (tests) in the nal folder, also explained in [SingleStepTestingCases](https://github.com/opennars/opennars/tree/master/src/main/resources/nal/single_step) and [MultiStepExamples](https://github.com/opennars/opennars/tree/master/src/main/resources/nal/multi_step).\n\n\nDevelopment Requirements\n------------------------\n * Maven\n\nLinks\n-----\n * [Website](http://opennars.github.io/opennars/)\n * [All downloads](https://drive.google.com/drive/folders/0B8Z4Yige07tBUk5LSUtxSGY0eVk?usp=sharing)\n * [An (outdated) HTML user manual](http://www.cis.temple.edu/~pwang/Implementation/NARS/NARS-GUI-Guide.html)\n * [The Project homepage](https://code.google.com/p/open-nars/)\n * [google groups - Discussion Group](https://groups.google.com/forum/?fromgroups#!forum/open-nars)\n * [IRC](http://webchat.freenode.net?channels=nars)\n * [Try online](http://91.203.212.130/NARS)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennars%2Fopennars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopennars%2Fopennars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennars%2Fopennars/lists"}