Skip to content
OpenCog Newtwork Server
C++ CMake Python Scheme
Branch: master
Clone or download
linas Merge pull request #23 from opencog/sh
Bug fix for changed NumberNode format
Latest commit 965530d Dec 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add circleci config Sep 5, 2019
examples Add missing CMakefile Sep 11, 2019
lib CMake voodoo Nov 20, 2019
opencog Remove create_singleton_instance argument Dec 8, 2019
tests Bug fix for changed NumberNode format Dec 11, 2019
CMakeLists.txt Check only for actually-needed boost packages Dec 2, 2019
LICENSE Revert "Additional clearnup" Apr 28, 2015 tyops Nov 16, 2019

OpenCog CogServer


The OpenCog Cogserver is a network and job server for the OpenCog framework.

The main project site is at


The CogServer provides a network command-line console server and a job scheduler. The network console server provides a fast, efficient telnet interface, giving access to scheme (guile) and python command-lines. This itself is notable: by default, Python does not allow multiple users to access it at the same time. As to scheme/guile, there is an ice-9 REPL server, but the CogServer is an order of magnitude faster, and infinitely more stable, free of lockups, hangs and crashes.

Both Python and Scheme can be used by multiple users at the same time, all obtaining access to the same AtomSpace. Thus, the Cogserver provides not only a convenient interface for ad-hoc data processing, but also provides a very good (and easy, and strong) way of doing bulk data transfers. In particular, the transfer of multiple megabytes of Atoms and (Truth)Values as UTF-8 (i.e. human-readable) data is easy and efficient. In particular, it does not require fiddling with complex binary formats or protocols or the use of protocol libraries or API's. (We're looking at you, HTTP, REST, ZeroMQ, ProtoBuff and friends. You are all very sophisticated, yes, but are hard to use. And sometimes painfully slow.)

The job scheduler (aka 'MindAgents' or just 'Agents') is an experimental prototype for controlling multiple threads and assigning thread processing priorities, in an AtomSpace-aware fashion. It is in need of the caring love and attention from an interested developer.

For more info, please consult the CogServer wiki page.

Building and Running

The CogServer is build exactly the same way that all other OpenCog components are built:

cd cogserver
mkdir build
cd build
cmake ..
make -j

For additional information on dependencies and general hand-holding with the build, see the building Opencog wiki.


To build and run the CogServer, the packages listed below are required. With a few exceptions, most Linux distributions will provide these packages. Users of Ubuntu may use the dependency installer from the /opencog/octool repository. Users of any version of Linux may use the Dockerfile to quickly build a container in which OpenCog will be built and run.


Common OpenCog C++ utilities It uses exactly the same build procedure as this package. Be sure to sudo make install at the end.


OpenCog AtomSpace database and reasoning engine It uses exactly the same build procedure as this package. Be sure to sudo make install at the end.

Unit tests

To build and run the unit tests, from the ./build directory enter (after building opencog as above):

    make test


See also these README's:

You can’t perform that action at this time.