nohuman-labs/agent-company

Run a real website with an AI-operated company and explicit human authority. Hermes-native roles with the live Twitee case study.

1

stars

2

commits

Shell

primary language

Aug 27, 2026

updated

twitee.co
agent-orchestration
ai-agents
ai-company
automation
hermes-agent
multi-agent
solopreneur

README

Agent Company

Run a real AI-operated website with explicit human authority.

CI

Agent Company: a real AI-operated website with explicit human authority

A human Chairman sets material outcomes. An AI CEO turns approved KPIs into strategy. Product, Growth, and Engineering managers coordinate the work, and specialists execute bounded tasks through Hermes Kanban.

See the Twitee case study · Try Twitee live

How the company works

Human Chairman
      |
    AI CEO
  /     |       \
Product Growth  Engineering managers
   |      |       |       \
Specialist Specialist Developer DevOps
           shared Hermes Kanban

The Chairman is a person, not another profile. Managers work directly with one another and post daily updates before the CEO's morning synthesis. Routine, reversible work stays with the team. Material strategy changes, major spending, public or legal commitments, credentials, destructive actions, and high-risk production changes go back to the Chairman.

Agent Company is built on Hermes Agent. It does not replace or fork Hermes. Hermes remains responsible for models, provider login, sessions, memory, tools, Telegram, schedules, Kanban, and workspaces.

What is real today

The repository contains eight runnable, company-scoped Hermes profiles. Each has its own SOUL, workspace, model, provider, and reasoning setting. The nohuman installer creates the shared board, daily manager and CEO schedules, and an optional Telegram route from the Chairman to the CEO.

Twitee is the first live website this company composition is built to operate. Its board has recorded KPI intake, CEO clarification, Chairman decision requests, stale-output correction, blocked unapproved work, cross-manager dependencies, and executive synthesis.

That evidence covers planning, authority, coordination, and bounded task execution. It is not proof of end-to-end autonomous operation, autonomous production deployment, revenue generation, or measured product improvement. The detailed evidence boundary is in the Twitee case study.

One observed operating cycle

In August 2026, the Chairman gave the CEO a material KPI direction. The CEO found that the request lacked enough information for a defensible target, asked for clarification, and escalated a decision that belonged to the Chairman. New KPI input arrived while related work was underway, so the CEO marked the earlier output stale and corrected the plan. When the KPI was later withdrawn, dependent strategy work stayed blocked instead of continuing on an invalid premise.

The useful behavior was restraint: the CEO did not invent precision, managers exchanged evidence across departments, and routine coordination did not become a stream of approval requests to the Chairman.

Run your own agent company

Requirements: macOS, Linux, or WSL2 with Git and curl. Hermes Agent 0.20.0 or newer is recommended; the wizard can install Hermes through its official installer when it is missing.

git clone https://github.com/nohuman-labs/agent-company.git
cd agent-company
./nohuman install my-company

That command creates company/my-company from the reusable profiles, then installs its namespaced Hermes profiles. To run the committed Twitee example instead:

./nohuman install twitee

When a new company has no model preset, Nohuman opens Hermes' native model picker. It then reads the providers required by the company profiles, checks each login through Hermes, and opens hermes auth add <provider> only when authentication is missing. Nohuman stores only non-secret model settings in company source and never reads, copies, or stores provider credentials.

The portable source flow is:

profiles/ -> company/<name>/profiles/ -> ~/.hermes/profiles/<company>-<role>
 reusable          portable source              Hermes runtime

company/<name> is the source of truth to commit and move between machines. profiles/ contains reusable role baselines. examples/ is demo seed material and is not read again after a company is created. Machine-local Hermes state is runtime, not company source.

Twitee roles and models

The committed Twitee profiles currently route work this way:

RoleModelReasoning
CEOgpt-5.6-solhigh
Product & Market Managergpt-5.6-solhigh
Product & Market Specialistgpt-5.6-terrahigh
Growth Managergpt-5.6-terrahigh
Growth Specialistgpt-5.6-terramedium
Engineering Managergpt-5.6-solhigh
Developergpt-5.6-terramedium
DevOpsgpt-5.6-terrahigh

All eight use the openai-codex provider in the Twitee composition. Another company may assign a different Hermes-supported model or provider in each role's config.yaml.

Source architecture

company/<name>/
  company.conf
  context/
    AGENTS.md
    COMPANY.md
    OPERATING_MODEL.md
    roles/<profile>.md
  profiles/<profile>/
    SOUL.md
    config.yaml
    distribution.yaml

The manifest stays small: company identity, board, roles, CEO entry profile, timezone, and daily update times. Company facts and policy live in context/. Each final company SOUL is rendered from a reusable role and that company context.

To reuse a company on another machine, clone its repository, authenticate a provider through Hermes, and run ./nohuman install <name>. OAuth sessions, chat identifiers, Hermes memory, task databases, and private business data do not belong in profiles/, examples/, or company/.

Verified composition output

After installing the committed Twitee composition, ./nohuman status twitee reports the following sanitized state. Counts, routing redaction, and gateway health are produced by the installer; no private runtime path or Telegram identifier is shown.

Nohuman: 0.2.0
Company: twitee
Hermes Agent v0.20.0
Install state: available
Profiles: 8/8 available
Profile models: 8/8 configured
Workspaces: 8/8 available
Kanban board: twitee
Daily schedules: 4/4 available
Chairman route: configured (chat ID redacted)
Gateway: healthy

Lifecycle and safety

./nohuman status twitee
./nohuman doctor twitee
./nohuman upgrade twitee
./nohuman uninstall twitee
./nohuman uninstall --full twitee
sh tests/run.sh
  • install is rerunnable. It converges profile configuration, workspace context, Kanban setup, and scheduled-job model/provider settings from company source.
  • status is read-only and redacts the Chairman route identifier.
  • doctor combines native Hermes checks with company profile, model, workspace, board, schedule, gateway, and routing checks.
  • upgrade asks first, updates Hermes and profile distributions, then reapplies the company composition from the current checkout.
  • uninstall removes Nohuman-owned schedules and routing while preserving profiles and workspaces.
  • uninstall --full offers exports, requires the literal company ID, and deletes only the selected company's profiles.

nohuman upgrade does not update this Git repository. Pull framework and template changes explicitly, review them, then reapply your company:

git pull --ff-only
./nohuman upgrade <name>

Existing unnamespaced profiles are handled through a conservative legacy migration: namespaced resources are created before routing and schedules switch, while old profiles, sessions, memory, and credentials remain untouched.

Project status

The reviewed upstream role mapping is pinned in profiles/baseline.lock. Nohuman Labs maintains Agent Company; Hermes Agent remains the upstream runtime.

Contributors

nohuman-labs

2 commits

nohuman-labs/agent-company

Run a real website with an AI-operated company and explicit human authority. Hermes-native roles with the live Twitee case study.

1

stars

2

commits

Shell

primary language

Aug 27, 2026

updated

twitee.co
agent-orchestration
ai-agents
ai-company
automation
hermes-agent
multi-agent
solopreneur

README

Agent Company

Run a real AI-operated website with explicit human authority.

CI

Agent Company: a real AI-operated website with explicit human authority

A human Chairman sets material outcomes. An AI CEO turns approved KPIs into strategy. Product, Growth, and Engineering managers coordinate the work, and specialists execute bounded tasks through Hermes Kanban.

See the Twitee case study · Try Twitee live

How the company works

Human Chairman
      |
    AI CEO
  /     |       \
Product Growth  Engineering managers
   |      |       |       \
Specialist Specialist Developer DevOps
           shared Hermes Kanban

The Chairman is a person, not another profile. Managers work directly with one another and post daily updates before the CEO's morning synthesis. Routine, reversible work stays with the team. Material strategy changes, major spending, public or legal commitments, credentials, destructive actions, and high-risk production changes go back to the Chairman.

Agent Company is built on Hermes Agent. It does not replace or fork Hermes. Hermes remains responsible for models, provider login, sessions, memory, tools, Telegram, schedules, Kanban, and workspaces.

What is real today

The repository contains eight runnable, company-scoped Hermes profiles. Each has its own SOUL, workspace, model, provider, and reasoning setting. The nohuman installer creates the shared board, daily manager and CEO schedules, and an optional Telegram route from the Chairman to the CEO.

Twitee is the first live website this company composition is built to operate. Its board has recorded KPI intake, CEO clarification, Chairman decision requests, stale-output correction, blocked unapproved work, cross-manager dependencies, and executive synthesis.

That evidence covers planning, authority, coordination, and bounded task execution. It is not proof of end-to-end autonomous operation, autonomous production deployment, revenue generation, or measured product improvement. The detailed evidence boundary is in the Twitee case study.

One observed operating cycle

In August 2026, the Chairman gave the CEO a material KPI direction. The CEO found that the request lacked enough information for a defensible target, asked for clarification, and escalated a decision that belonged to the Chairman. New KPI input arrived while related work was underway, so the CEO marked the earlier output stale and corrected the plan. When the KPI was later withdrawn, dependent strategy work stayed blocked instead of continuing on an invalid premise.

The useful behavior was restraint: the CEO did not invent precision, managers exchanged evidence across departments, and routine coordination did not become a stream of approval requests to the Chairman.

Run your own agent company

Requirements: macOS, Linux, or WSL2 with Git and curl. Hermes Agent 0.20.0 or newer is recommended; the wizard can install Hermes through its official installer when it is missing.

git clone https://github.com/nohuman-labs/agent-company.git
cd agent-company
./nohuman install my-company

That command creates company/my-company from the reusable profiles, then installs its namespaced Hermes profiles. To run the committed Twitee example instead:

./nohuman install twitee

When a new company has no model preset, Nohuman opens Hermes' native model picker. It then reads the providers required by the company profiles, checks each login through Hermes, and opens hermes auth add <provider> only when authentication is missing. Nohuman stores only non-secret model settings in company source and never reads, copies, or stores provider credentials.

The portable source flow is:

profiles/ -> company/<name>/profiles/ -> ~/.hermes/profiles/<company>-<role>
 reusable          portable source              Hermes runtime

company/<name> is the source of truth to commit and move between machines. profiles/ contains reusable role baselines. examples/ is demo seed material and is not read again after a company is created. Machine-local Hermes state is runtime, not company source.

Twitee roles and models

The committed Twitee profiles currently route work this way:

RoleModelReasoning
CEOgpt-5.6-solhigh
Product & Market Managergpt-5.6-solhigh
Product & Market Specialistgpt-5.6-terrahigh
Growth Managergpt-5.6-terrahigh
Growth Specialistgpt-5.6-terramedium
Engineering Managergpt-5.6-solhigh
Developergpt-5.6-terramedium
DevOpsgpt-5.6-terrahigh

All eight use the openai-codex provider in the Twitee composition. Another company may assign a different Hermes-supported model or provider in each role's config.yaml.

Source architecture

company/<name>/
  company.conf
  context/
    AGENTS.md
    COMPANY.md
    OPERATING_MODEL.md
    roles/<profile>.md
  profiles/<profile>/
    SOUL.md
    config.yaml
    distribution.yaml

The manifest stays small: company identity, board, roles, CEO entry profile, timezone, and daily update times. Company facts and policy live in context/. Each final company SOUL is rendered from a reusable role and that company context.

To reuse a company on another machine, clone its repository, authenticate a provider through Hermes, and run ./nohuman install <name>. OAuth sessions, chat identifiers, Hermes memory, task databases, and private business data do not belong in profiles/, examples/, or company/.

Verified composition output

After installing the committed Twitee composition, ./nohuman status twitee reports the following sanitized state. Counts, routing redaction, and gateway health are produced by the installer; no private runtime path or Telegram identifier is shown.

Nohuman: 0.2.0
Company: twitee
Hermes Agent v0.20.0
Install state: available
Profiles: 8/8 available
Profile models: 8/8 configured
Workspaces: 8/8 available
Kanban board: twitee
Daily schedules: 4/4 available
Chairman route: configured (chat ID redacted)
Gateway: healthy

Lifecycle and safety

./nohuman status twitee
./nohuman doctor twitee
./nohuman upgrade twitee
./nohuman uninstall twitee
./nohuman uninstall --full twitee
sh tests/run.sh
  • install is rerunnable. It converges profile configuration, workspace context, Kanban setup, and scheduled-job model/provider settings from company source.
  • status is read-only and redacts the Chairman route identifier.
  • doctor combines native Hermes checks with company profile, model, workspace, board, schedule, gateway, and routing checks.
  • upgrade asks first, updates Hermes and profile distributions, then reapplies the company composition from the current checkout.
  • uninstall removes Nohuman-owned schedules and routing while preserving profiles and workspaces.
  • uninstall --full offers exports, requires the literal company ID, and deletes only the selected company's profiles.

nohuman upgrade does not update this Git repository. Pull framework and template changes explicitly, review them, then reapply your company:

git pull --ff-only
./nohuman upgrade <name>

Existing unnamespaced profiles are handled through a conservative legacy migration: namespaced resources are created before routing and schedules switch, while old profiles, sessions, memory, and credentials remain untouched.

Project status

The reviewed upstream role mapping is pinned in profiles/baseline.lock. Nohuman Labs maintains Agent Company; Hermes Agent remains the upstream runtime.

Contributors

nohuman-labs

2 commits

Languages

Shell

100.0%