Skip to content

feat: docker_extra_args, message timestamps, and lazy skill loading#2420

Closed
Mibayy wants to merge 1 commit into
NousResearch:mainfrom
Mibayy:feat/four-improvements
Closed

feat: docker_extra_args, message timestamps, and lazy skill loading#2420
Mibayy wants to merge 1 commit into
NousResearch:mainfrom
Mibayy:feat/four-improvements

Conversation

@Mibayy

@Mibayy Mibayy commented Mar 22, 2026

Copy link
Copy Markdown
Contributor

Three independent quality-of-life improvements, all opt-in and backward compatible.

1. terminal.docker_extra_args

Pass extra flags verbatim to docker run, appended after the hardcoded security defaults.

terminal:
  backend: docker
  docker_extra_args:
    - "--cap-add"
    - "SETUID"

Also available via TERMINAL_DOCKER_EXTRA_ARGS='["--cap-add","SETUID"]'. Entries are validated as strings; non-strings are logged and skipped. Useful for apt packages that need capabilities not granted by the default --cap-drop ALL + minimal re-adds, or any other docker run flag not exposed by existing config keys.

2. display.timestamps

Appends [HH:MM] to user input labels and the assistant response box header.

display:
  timestamps: true

Covers all input variants: plain text, multiline, and pasted content. Off by default.

Closes #1569

3. display.lazy_skills

When enabled, replaces the full skill index in the system prompt with a single-line note telling the model to call skills_list() on demand, then skill_view(name) to load the one it needs.

display:
  lazy_skills: true

Saves tokens every session for users with large skill libraries who only use a subset per task. The index can grow to hundreds of lines — this collapses it to ~3 lines regardless of skill count. Off by default.

Closes #2045

Test plan

  • docker_extra_args: ["--cap-add", "SETUID"] appears in docker run command
  • display.timestamps: true shows [HH:MM] on user and assistant labels
  • display.lazy_skills: true replaces skill index with count + instruction
  • All three default to false / [] with no behavior change

Three independent quality-of-life improvements:

**docker_extra_args** (terminal.docker_extra_args / TERMINAL_DOCKER_EXTRA_ARGS)
  Allows users to pass extra flags verbatim to docker run, appended after
  the hardcoded security defaults. Useful for adding capabilities (e.g.
  --cap-add SETUID for packages that need setuid binaries) or any other
  docker run option not exposed by existing config keys. Entries are
  validated as strings; non-strings are logged and skipped.

**display.timestamps**
  When true, appends [HH:MM] to user input labels and the assistant
  response box header. Off by default. Covers all input variants:
  plain text, multiline, and pasted content.

**display.lazy_skills**
  When true, replaces the full skill index in the system prompt with a
  single-line note telling the model to call skills_list() on demand.
  Saves tokens on every session for users with large skill libraries who
  only use a subset per task. Off by default for backward compatibility.

Closes NousResearch#1569
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard backend/docker Docker container execution tool/skills Skills system (list, view, manage) labels May 3, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Salvaged the two opt-in QoL bits (docker_extra_args + display.timestamps) via #23599 — your authorship is preserved on commit ebf2ea5. Lazy skill loading was dropped: the goal is real, but routing skill discovery through a per-session tool call has tradeoffs we'd want to design separately, not bundle here.

Thanks for the PRs!

#23599

@teknium1 teknium1 closed this May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend/docker Docker container execution comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have tool/skills Skills system (list, view, manage) type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Lazy skill loading: remove skill listing from system prompt, use on-demand tool instead [Feature]: timestamp every message sent to cli

3 participants