dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
A workflow layer for AI coding CLIs: skills, project knowledge, delivery checks, safer config writes, and resumable execution.
[!IMPORTANT] Looking for
v2.x? The old Python line now lives in helloagents-archive. Thev3line is a full rewrite based on Node.js, Markdown rules, skills, and small runtime scripts.
🏅 This project is linked & recognized by the LINUX DO community.
AI coding CLIs can move fast, but they can also stop at advice, skip checks, lose project context, shift responsibility when tasks get hard, or report completion before the work is really done.
HelloAGENTS adds a workflow layer on top of Claude Code, Gemini CLI, Grok Build, Cursor, and Codex CLI. It anchors the agent as a capable executor, blocks responsibility-shifting patterns, helps the agent choose the right path, use task-specific quality skills, keep a project knowledge base, and verify work before delivery.
|
Without HelloAGENTS
|
With HelloAGENTS
|
| Problem | Without HelloAGENTS | With HelloAGENTS |
|---|---|---|
| Stops too early | Ends with suggestions | Continues into build, verify, and closeout |
| Shifts responsibility | Refuses hard tasks, suggests other tools | Exhausts alternative paths, stays on task |
| Quality is inconsistent | Depends on each prompt | 14 quality skills activate by task type |
| Context is scattered | Plans live in chat history | Project knowledge and plan files stay on disk |
| Completion is vague | Natural language says “done” | Delivery checks use state, evidence, and verification |
| Config writes are risky | CLI files can drift | Install, update, cleanup, and doctor flows check managed files |
HelloAGENTS ships 14 built-in skills. They are loaded only when the current stage needs them, so simple tasks stay light while complex work gets stricter checks.
| Skill | Focus |
|---|---|
hello-ui |
UI planning, design contracts, implementation mapping, visual validation |
hello-api |
API design, validation, error format, compatibility |
hello-security |
auth, secrets, permissions, injection risks |
hello-test |
TDD, coverage, edge cases, test structure |
qa-review |
unified quality review, verification commands, blocking fixes, delivery evidence, closeout |
helloagents |
command routing, workflow stage rules, project knowledge, and state coordination |
hello-errors |
error handling, logs, retry and recovery behavior |
hello-perf |
performance, caching, query and rendering risks |
hello-data |
database, migrations, transactions, indexes |
hello-arch |
architecture, boundaries, code size, maintainability |
hello-debug |
bug diagnosis and escalation when stuck |
hello-subagent |
subagent delegation and result integration |
hello-write |
documentation, reports, and written deliverables |
hello-reflect |
reusable lessons and knowledge updates |
All UI work first follows the shared UI quality baseline.
In host global mode, in initialized projects, or in explicit UI workflows, hello-ui adds deeper design-contract execution, design-system mapping, and visual validation on top of that baseline.
When visual evidence is required, HelloAGENTS records it in the current session artifacts/visual.json.
Commands run inside the AI CLI chat with a ~ prefix. The command skill is read directly; unrelated skills are not loaded unless the workflow needs them.
| Command | Purpose |
|---|---|
~ask |
Interactive clarification: Q&A to pin down goals, direction, scope, and constraints; does not write files |
~auto |
Chooses the main path and keeps going until delivery or a real blocker |
~plan |
Requirements, solution design, task breakdown, and plan package |
~build |
Implementation from the current request or an existing plan |
~prd |
Modern product requirements document through guided dimension-by-dimension exploration |
~loop |
Long-running entry; in Codex it prefers /goal -> ~auto -> ~qa |
~init |
Initialize the project workflow and sync project knowledge |
~test |
Write tests for a target module or recent change |
~qa |
Run the unified quality loop: review, verification commands, fixes, and closeout |
~commit |
Generate a conventional commit message and sync knowledge |
~clean |
Archive finished plans and clean temporary runtime files |
~help |
Show commands and current settings |
Compatibility aliases:
~do → ~build~design → ~plan~review → ~qa~idea → ~ask (deprecated)Use ~ask for clarifying requirements, comparing approaches, weighing value, and scoping — pure conversation, no files created.
HelloAGENTS can create and maintain a project knowledge base under .helloagents/.
The knowledge base helps future turns understand the repo without re-discovering the same facts. It can store:
| File or directory | Purpose |
|---|---|
context.md |
project overview, stack, architecture, module index |
guidelines.md |
non-obvious coding conventions inferred from the repo |
verify.yaml |
verification commands such as lint, test, build |
CHANGELOG.md |
project-level change history |
DESIGN.md |
stable UI design contract when the project has UI work |
modules/*.md |
module-specific notes and lessons |
plans/<feature>/ |
active plan packages |
archive/ |
archived plan packages |
~init initializes the project workflow: it writes the project-level full carrier marker, prepares project state, and creates or updates the knowledge base.
Complex work can be stored as plan packages instead of a single paragraph in chat.
For ~plan, HelloAGENTS uses:
requirements.mdplan.mdtasks.mdcontract.jsonFor ~prd, HelloAGENTS also creates PRD files such as:
prd/00-overview.mdprd/01-user-stories.mdprd/02-functional.mdprd/03-ui-design.mdprd/04-technical.mdprd/05-nonfunctional.mdprd/06-i18n-l10n.mdprd/07-accessibility.mdprd/08-content.mdprd/09-testing.mdprd/10-deployment.mdprd/11-legal-privacy.mdprd/12-timeline.mdcontract.json is used by the workflow to decide qaMode, qaFocus, optional advisor checks, and optional visual validation.
tasks.md also includes a Codex /goal entry. For long-running Codex work, use that prepared entry instead of giving /goal a raw product document. The default chain is /goal -> ~auto -> ~qa: Codex keeps the long-running continuation, ~auto executes the AFK work, and ~qa remains the final quality gate before closeout.
Long tasks need a small recovery snapshot, but one shared state file is not safe enough for concurrent work.
HelloAGENTS now resolves the current state file from state_path:
.helloagents/sessions/<workspace>/<session>/STATE.md.helloagents/sessions/<workspace>/default/STATE.md<workspace> is the current Git branch, detached-<sha> for a detached HEAD, or workspace for non-Git projects. <session> is the current project-local session token. .helloagents/sessions/active.json only keeps the latest active workspace/session mapping plus alias bridges, so the same CLI session stays in one directory and /resume can reuse it.
For project-local sessions, HelloAGENTS first uses stable host identifiers such as sessionId, conversationId, threadId, or HELLOAGENTS_NOTIFY_SESSION_ID. If the host only exposes a window or terminal id such as WT_SESSION, TERM_SESSION_ID, or WINDOWID, HelloAGENTS uses it only as a lightweight alias bridge and reuses the mapped session first instead of fanning out duplicate directories. If a session starts before a stable host identifier is available, HelloAGENTS can begin in default and keep reusing that same active directory after the same CLI session later exposes a stable identifier, instead of splitting into a second session directory.
STATE.md records where the current workflow stopped. It is not a universal memory file for every conversation. Codex /goal does not replace state_path, turn-state, or local evidence files; it only handles long-running continuation on the Codex side.
HelloAGENTS does not treat “tests passed” and “task complete” as the same thing. Delivery can also require plan coverage, task checklist status, review evidence, advisor evidence, and visual evidence.
Runtime state now stays intentionally small:
.helloagents/sessions/<workspace>/<session>/STATE.md.helloagents/sessions/<workspace>/<session>/runtime.json.helloagents/sessions/active.json.helloagents/sessions/<workspace>/<session>/artifacts/qa-review.json.helloagents/sessions/<workspace>/<session>/artifacts/advisor.json.helloagents/sessions/<workspace>/<session>/artifacts/visual.json.helloagents/sessions/<workspace>/<session>/artifacts/closeout.json.helloagents/sessions/<workspace>/<session>/events.jsonl~/.codex/.helloagents/notify-state.json for Codex-native closeout de-duplication onlySTATE.md only keeps the human-readable recovery snapshot. runtime.json is machine-only and keeps the minimal runtime state. artifacts/*.json stays limited to structured receipts. events.jsonl remains opt-in trace output and stays off by default.
Project-local STATE.md is now materialized more lazily.
Standard runtime evidence and transient runtime state now expire after 72 hours. Long-running Codex goal flows still keep their 720-hour upper bound where the workflow explicitly needs it.
Delivery gate, guard, and QA gate messages use action-oriented wording such as processing path, closeout action, and visual validation action, so blocked flows show what to do next without turning executable steps into optional suggestions. Final closeout also enforces a single HelloAGENTS wrapper, so one reply does not emit duplicate closeout headers. That wrapper is now reserved for direct final-user delivery only. Intermediate reports, delegated task results, and sub-agent replies stay natural, and sub-agent stop hooks reject wrapped closeout replies.
The CLI manages host files explicitly:
install writes only the selected target unless --all is usedupdate refreshes the selected target or all targetscleanup removes managed injections and linksuninstall performs scoped cleanup before package removaldoctor reports drift in carriers, links, hooks, config entries, plugin roots, cache copies, versions, and real Claude/Gemini global install artifacts; for Codex, it also surfaces native codex doctor output when availablenotify = ["helloagents-js", "codex-notify"] stays portable, and doctor, cleanup, and uninstall also recognize wrapped --previous-notify chains used by Codex App / Computer Useglobal instead of silently layering standby on topswitch-branch clears stale HELLOAGENTS* lifecycle env before its internal npm install/sync steps, and package preuninstall falls back to --all when no explicit host args are provided, so stale shell env does not shrink branch-switch or uninstall cleanup scope.cmd / .bat lifecycle calls now run through an explicit command wrapper, so host installs, branch switching, and doctor flows do not emit Node DEP0190 shell deprecation warningsnpm install -g --allow-scripts=helloagents helloagents
If another executable named helloagents already exists in your PATH, use the stable managed-entry alias:
helloagents-js
By default, postinstall installs the package command, initializes ~/.helloagents/helloagents.json, and syncs runtime files to ~/.helloagents/helloagents. No host CLI is deployed unless you set HELLOAGENTS=target[:mode], such as HELLOAGENTS=codex:global.
For npm 11 and later, keep --allow-scripts=helloagents on direct package install or upgrade commands so npm can run the managed postinstall without approval warnings. If you are still on npm 10 or earlier, you can omit that flag.
Use standby mode for selected projects and explicit activation:
helloagents install codex --standby
helloagents install --all --standby
Use global mode when you want full rules everywhere:
helloagents --global
helloagents install --all --global
After reinstalling, refreshing, or switching modes, restart the target AI CLI or open a new session; already running sessions do not reload injected rules automatically.
Type:
~help
You should see the available chat commands and the current settings.
Initialize the project workflow:
~init
helloagents --standby
helloagents --global
helloagents install codex --standby
helloagents install --all --global
helloagents update codex
helloagents cleanup claude --global
helloagents uninstall gemini
helloagents switch-branch beta
helloagents switch-branch beta claude --global
helloagents doctor
helloagents doctor codex --json
helloagents codex goals status
helloagents codex goals enable
Supported targets:
claudegeminigrokcursorcodex--allIf you omit --standby or --global, HelloAGENTS first reuses the tracked/detected mode for that CLI, then falls back to standby.
Use these when you do not want to depend on the helloagents binary being available during package updates. In HELLOAGENTS=target[:mode], target can be all, claude, gemini, grok, cursor, or codex; mode can be standby or global. For install, an omitted mode is treated as standby. For update, cleanup, uninstall, and branch switching, an omitted mode is forwarded unchanged so HelloAGENTS can reuse the tracked or detected mode for that CLI first. If you do not provide HELLOAGENTS, the one-shot install scripts now behave like plain package install: they install or update the package only and do not auto-deploy any host CLI. For a custom tarball or package spec, set HELLOAGENTS_PACKAGE instead of HELLOAGENTS_BRANCH. For a guaranteed refresh of an already installed package, prefer npm explore -g helloagents -- npm run sync-hosts -- ... after the package command. The one-shot shell and PowerShell wrappers auto-detect npm 11+ and append --allow-scripts=helloagents only where that flag is supported.
Host configs use the stable helloagents-js entrypoint and runtime root ~/.helloagents/helloagents, so Node global package paths can change without breaking managed hooks or Codex notify. Codex hooks use standalone ~/.codex/hooks.json instead of adding large hook blocks to config.toml, and Codex global plugin roots plus plugin cache now link back to that same stable runtime root. Claude Code global installs use a dedicated local marketplace projection under ~/.helloagents/host-projections/claude-marketplace, Gemini global extension packaging uses ~/.helloagents/host-projections/gemini, Grok Build global installs use the materialized marketplace projection ~/.helloagents/host-projections/helloagents-grok-marketplace, and Cursor global installs use the curated local-plugin projection ~/.helloagents/host-projections/cursor-local-plugin/helloagents plus a real copied install directory at ~/.cursor/plugins/local/helloagents, so host-specific packaging stays isolated from the shared runtime root without relying on symlink-only plugin loading.
macOS / Linux:
# Install to Codex in standby mode
HELLOAGENTS=codex npm install -g --allow-scripts=helloagents helloagents
# Install to Codex in global mode
HELLOAGENTS=codex:global npm install -g --allow-scripts=helloagents helloagents
# Update the package, then refresh Claude in standby mode
npm install -g --allow-scripts=helloagents helloagents@latest
npm explore -g helloagents -- npm run sync-hosts -- claude --standby
# Switch to the beta branch, then refresh all CLIs in standby mode
npm install -g --allow-scripts=helloagents https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
npm explore -g helloagents -- npm run sync-hosts -- --all --standby
# Clean Gemini integration before package uninstall
npm explore -g helloagents -- npm run uninstall -- gemini --standby
npm uninstall -g helloagents
Windows PowerShell:
# Install to Codex in standby mode
$env:HELLOAGENTS="codex"; npm install -g --allow-scripts=helloagents helloagents
# Install to Codex in global mode
$env:HELLOAGENTS="codex:global"; npm install -g --allow-scripts=helloagents helloagents
# Update the package, then refresh Claude in standby mode
npm install -g --allow-scripts=helloagents helloagents@latest
npm explore -g helloagents -- npm run sync-hosts -- claude --standby
# Switch to the beta branch, then refresh all CLIs in standby mode
npm install -g --allow-scripts=helloagents https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
npm explore -g helloagents -- npm run sync-hosts -- --all --standby
# Clean Gemini integration before package uninstall
npm explore -g helloagents -- npm run uninstall -- gemini --standby
npm uninstall -g helloagents
After the package is installed, you can also call its npm scripts directly:
npm explore -g helloagents -- npm run deploy:global
npm explore -g helloagents -- npm run sync-hosts -- --all --standby
npm explore -g helloagents -- npm run cleanup-hosts -- codex --standby
npm explore -g helloagents -- npm run uninstall -- --all
Fresh installs can still use HELLOAGENTS=target[:mode] directly. For update, branch switching, or any forced host re-sync of an already installed package, the explicit npm run sync-hosts step above is the deterministic path.
macOS / Linux:
# Install
HELLOAGENTS=codex curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
# Update
HELLOAGENTS=claude:standby HELLOAGENTS_ACTION=update curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
# Switch branch
HELLOAGENTS=all:global HELLOAGENTS_ACTION=switch-branch HELLOAGENTS_BRANCH=beta curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
# Cleanup host integration without uninstalling the package
HELLOAGENTS=codex:standby HELLOAGENTS_ACTION=cleanup curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
# Uninstall
HELLOAGENTS=gemini HELLOAGENTS_ACTION=uninstall curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
Windows PowerShell:
# Install
$env:HELLOAGENTS="codex"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
# Update
$env:HELLOAGENTS="claude:standby"; $env:HELLOAGENTS_ACTION="update"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
# Switch branch
$env:HELLOAGENTS="all:global"; $env:HELLOAGENTS_ACTION="switch-branch"; $env:HELLOAGENTS_BRANCH="beta"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
# Cleanup host integration without uninstalling the package
$env:HELLOAGENTS="codex:standby"; $env:HELLOAGENTS_ACTION="cleanup"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
# Uninstall
$env:HELLOAGENTS="gemini"; $env:HELLOAGENTS_ACTION="uninstall"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
The shell and PowerShell wrappers now parse HELLOAGENTS once, keep plain package install/update behavior when no target is specified, clear lifecycle env before update, branch switching, and uninstall, and then run one explicit sync or cleanup path.
switch-branch installs the requested npm/GitHub ref first, then syncs host CLIs through npm scripts so it does not depend on the helloagents executable during updates:
helloagents switch-branch beta
helloagents switch-branch beta claude --global
helloagents branch beta --all --standby
The direct helloagents switch-branch ... command also clears stale HELLOAGENTS* lifecycle env before its internal npm install and host-sync steps.
Use normal npm commands when you only want to change the package and not sync host CLIs immediately:
npm install -g --allow-scripts=helloagents https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
npm install -g --allow-scripts=helloagents helloagents@latest
npm explore -g helloagents -- npm run uninstall -- --all
npm uninstall -g helloagents
| CLI | Files written or updated | Cleanup behavior |
|---|---|---|
| Claude Code | ~/.claude/CLAUDE.md, ~/.claude/settings.json, ~/.claude/helloagents -> ~/.helloagents/helloagents |
removes managed marker block, HelloAGENTS hooks/permissions, and symlink |
| Cursor | ~/.cursor/hooks.json, ~/.cursor/helloagents -> ~/.helloagents/helloagents |
removes managed Cursor hooks and the runtime symlink |
| Gemini CLI | ~/.gemini/GEMINI.md, ~/.gemini/settings.json, ~/.gemini/helloagents -> ~/.helloagents/helloagents |
removes managed marker block, HelloAGENTS hooks, and symlink |
| Grok Build | ~/.grok/AGENTS.md, ~/.grok/hooks/helloagents.json, ~/.grok/helloagents -> ~/.helloagents/helloagents |
removes managed marker block, managed Grok hooks file, and symlink |
| Codex CLI | ~/.codex/AGENTS.md, ~/.codex/config.toml, ~/.codex/hooks.json, ~/.codex/helloagents -> ~/.helloagents/helloagents, managed backups |
removes managed marker block, managed config keys, managed hooks, symlink, and the latest managed backup |
| CLI | Install method | Files involved |
|---|---|---|
| Claude Code | native plugin install | ~/.helloagents/host-projections/claude-marketplace, Claude Code plugin metadata/cache managed by the host |
| Cursor | native local plugin install | ~/.helloagents/host-projections/cursor-local-plugin/helloagents, materialized into ~/.cursor/plugins/local/helloagents |
| Gemini CLI | native extension install | ~/.helloagents/host-projections/gemini, ~/.gemini/extensions/helloagents |
| Grok Build | native marketplace + plugin install | ~/.helloagents/host-projections/helloagents-grok-marketplace, ~/.grok/config.toml, ~/.grok/installed-plugins/registry.json, Grok plugin cache managed by the host |
| Codex CLI | native local-plugin chain | ~/.agents/plugins/marketplace.json, ~/plugins/helloagents/ -> ~/.helloagents/helloagents, ~/.codex/plugins/cache/local-plugins/helloagents/local/ -> ~/.helloagents/helloagents, ~/.codex/config.toml, ~/.codex/hooks.json, ~/.codex/helloagents -> ~/.helloagents/helloagents |
In global mode, HelloAGENTS now attempts the host-native install commands automatically. Claude Code uses the local marketplace projection, Gemini uses the local extension projection, Grok Build uses the materialized local marketplace projection, Cursor refreshes a real local-plugin copy under ~/.cursor/plugins/local/helloagents, and Codex keeps linking back to the same stable runtime root, so install, update, branch switching, mode switching, cleanup, and uninstall all refresh against one consistent runtime copy. If a host command is unavailable, run the same commands manually:
/plugin marketplace add "~/.helloagents/host-projections/claude-marketplace"
/plugin install helloagents@helloagents
gemini extensions link "~/.helloagents/host-projections/gemini"
grok plugin marketplace add "~/.helloagents/host-projections/helloagents-grok-marketplace"
grok plugin install "~/.helloagents/host-projections/helloagents-grok-marketplace/plugins/helloagents" --trust
For Cursor, copy the contents of ~/.helloagents/host-projections/cursor-local-plugin/helloagents into ~/.cursor/plugins/local/helloagents. On Windows, do not rely on a symlink or junction that points outside ~/.cursor.
For Claude Code, the CLI also tries the equivalent claude plugin marketplace add ... and claude plugin install ... commands. The marketplace is named helloagents, and the plugin is also named helloagents, so the install target is helloagents@helloagents. Restart the host CLI after a global install.
When you switch Claude or Gemini back to standby, HelloAGENTS first removes the native plugin or extension. If that cleanup fails, the host stays tracked as global instead of silently stacking standby on top.
Codex global mode is installed by HelloAGENTS automatically through the local-plugin path.
| Goal | Use |
|---|---|
| Clarify requirements, compare approaches, decide scope & value | ~ask "should this become a full platform or just a thin wedge?" |
| Let HelloAGENTS choose the path and continue | ~auto "add JWT login" |
| Review a plan before implementation | ~plan "refactor payment module" |
| Implement from a clear request or active plan | ~build "finish task 2 in the plan" |
| Build a full product requirement document | ~prd "modern dashboard for operations team" |
Run a long Codex task through /goal -> ~auto -> ~qa |
~loop "finish the auth refactor" |
| Initialize or refresh the project workflow | ~init |
| Validate current work | ~qa |
| Generate commit message and sync knowledge | ~commit |
In standby mode, projects that are not initialized get lighter rules and explicit ~command entry points. A project becomes initialized after ~init writes the project-level <!-- HELLOAGENTS_PROFILE: full --> marker.
In global mode, HelloAGENTS applies full rules by default at the host level.
By default, project knowledge lives in the project:
.helloagents/
This directory is the local knowledge, plan, state, and runtime directory.
When project_store_mode = "repo-shared":
.helloagents/ keeps project-local state and runtime files~/.helloagents/projects/<repo-key>/Runtime state and evidence remain local to the working project:
state_path.helloagents/sessions/active.json.helloagents/sessions/<workspace>/<session>/runtime.json.helloagents/sessions/<workspace>/<session>/artifacts/*.jsonFor read-only work with no local output, if neither the current directory nor its parents contain a project-local .helloagents/ directory, HelloAGENTS keeps short-lived runtime state under the user-level directory:
~/.helloagents/runtime/<scope-key>/
This only stores short-lived STATE.md, runtime.json, and artifacts/. Optional events.jsonl trace files are only written when trace mode is enabled. It is not project knowledge. Expired transient sessions are removed by TTL cleanup.
Once the task creates or modifies local files, or otherwise leaves local output in the current project, HelloAGENTS creates the project-local .helloagents/sessions/<workspace>/<session>/STATE.md automatically instead of keeping that task only in the user-level transient runtime.
| Command or setting | Behavior |
|---|---|
~init |
initializes the project workflow and syncs the knowledge base |
kb_create_mode = 0 |
disables automatic knowledge updates |
kb_create_mode = 1 |
syncs knowledge automatically only when the KB already exists |
kb_create_mode = 2 |
for coding tasks, auto-creates or syncs the KB when it already exists or the project is initialized |
HelloAGENTS uses this stage model for structured work:
Routing and tiering → Goal clarification → Planning → Implementation → Quality loop → Closeout and archive
| Stage | Purpose |
|---|---|
Routing and tiering |
decide whether the task should go through ~ask, ~plan, ~build, ~qa, ~prd, or automatic flow |
Goal clarification |
clarify goal, constraints, and success criteria |
Planning |
prepare plan files and choose needed skills |
Implementation |
implement and run local checks |
Quality loop |
review, run commands, and check contract and evidence |
Closeout and archive |
update state, knowledge, and closeout evidence |
HelloAGENTS also keeps an always-on core-rule layer in bootstrap.md / bootstrap-lite.md.
That layer anchors the agent as a capable executor in a trusted environment, blocks responsibility-shifting to users or other tools, enforces exhausting alternative paths before declaring blockage, corrects proposal bias, distinguishes real external constraints from internal inertia, and keeps user-visible wording in one language unless code identifiers, commands, paths, config keys, or necessary proper names must stay unchanged.
| Tier | Typical use |
|---|---|
T0 |
read-only analysis, idea exploration, comparison |
T1 |
low-risk focused fixes or explicit verification |
T2 |
multi-file features, new projects, structured plans |
T3 |
high-risk or irreversible work such as auth, payment, database, release, production operations |
UI work follows this priority:
plan.md or PRD UI decisions.helloagents/DESIGN.mdhello-ui implementation and validation rules; all UI work must still satisfy the shared UI quality baselineFor heavier UI work, contract.json can require:
ui.styleAdvisor.requiredui.visualValidation.requiredThose requirements are closed with the current session artifacts/advisor.json and artifacts/visual.json.
Verification commands are detected in this order:
.helloagents/verify.yamlpackage.jsonWhen project_store_mode = "repo-shared", logical .helloagents/verify.yaml resolves from the shared project store.
Config file:
~/.helloagents/helloagents.json
Default shape:
{
"output_language": "",
"output_format": true,
"notify_level": 0,
"ralph_loop_enabled": true,
"guard_enabled": true,
"kb_create_mode": 1,
"project_store_mode": "local",
"auto_commit_enabled": true,
"commit_attribution": "",
"install_mode": "standby",
"host_install_modes": {}
}
| Key | Default | Meaning |
|---|---|---|
output_language |
"" |
follow the user language unless set |
output_format |
true |
direct final-user closeout from the main agent uses the HelloAGENTS layout; intermediate, delegated, and sub-agent output stays natural |
notify_level |
0 |
0 off, 1 desktop, 2 sound, 3 both |
ralph_loop_enabled |
true |
run the QA stop gate for explicit ~qa / ~loop or required closeout gates |
guard_enabled |
true |
block dangerous commands |
kb_create_mode |
1 |
0 off, 1 sync existing KB automatically, 2 auto-create or sync the KB for coding tasks |
project_store_mode |
"local" |
local or repo-shared |
auto_commit_enabled |
true |
auto-create a local commit at closeout when verification passed and the working tree changed; false skips only the automatic commit |
commit_attribution |
"" |
optional text appended to commit messages |
install_mode |
"standby" |
current default install mode |
host_install_modes |
{} |
managed per-CLI mode map, such as { "codex": "standby" }; recorded only after successful host setup and used before falling back to install_mode |
auto_commit_enabled is initialized to true only when the config file is first created. Later installs and updates only fill missing keys and do not overwrite your existing value.
~/.claude/CLAUDE.md~/.claude/settings.json with managed hooks and permissions~/.claude/helloagents -> ~/.helloagents/helloagentsglobal~/.gemini/GEMINI.md~/.gemini/settings.json with managed hooks~/.gemini/helloagents -> ~/.helloagents/helloagentsglobal~/.grok/AGENTS.md~/.grok/hooks/helloagents.json~/.grok/helloagents -> ~/.helloagents/helloagents~/.helloagents/host-projections/helloagents-grok-marketplaceglobal~/.cursor/hooks.json~/.cursor/helloagents -> ~/.helloagents/helloagents~/.helloagents/host-projections/cursor-local-plugin/helloagents~/.cursor/plugins/local/helloagents, so Cursor does not depend on an external symlink targetCodex is rules-file driven by default.
~/.codex/AGENTS.mdmodel_instructions_file = "~/.codex/AGENTS.md"notify = ["helloagents-js", "codex-notify"] command for closeout notification, so reinstalling, updating, or moving to another machine does not require rewriting an absolute path~/.codex/hooks.jsonSessionStart stays silent and reads the current ~/.helloagents/helloagents.json at runtime instead of baking a config snapshot into config.toml, so first-turn and post-compaction settings stay current~/.codex/config.toml, so Codex 0.129.0+ does not re-prompt for the managed hooks~/.codex/hooks.json path; unlike model_instructions_file = "~/.codex/AGENTS.md", it is not portable config and should be regenerated on each machine~/.codex/helloagents -> ~/.helloagents/helloagents~/.helloagents/helloagents as the single managed runtime source by linking plugin roots, plugin cache, and ~/.codex/helloagents back to itdoctor, cleanup, and uninstall also recognize wrapped notify chains such as --previous-notify ["helloagents-js", "codex-notify"], so Codex App / Computer Use wrappers do not cause false drift reports or break notify restorationglobal is the native path; standby remains the lighter default for explicit project workcodex-notify, so one turn does not notify twice, and clientless delegated child-completion events stay silent when the managed Stop hook is active/goal remains Codex-native. Enable it explicitly with helloagents codex goals enable when long-running plan execution is needed/goal as experimental, and Codex app support is still preview. HelloAGENTS therefore treats /goal as an opt-in Codex-native accelerator, not as a required runtime dependencytasks.md, contract.json, and state_path; they do not create goals automatically or mark them complete before HelloAGENTS verification and closeoutRun all tests:
npm test
The current suite covers:
switch-branch and package preuninstall.cmd / .bat lifecycle dispatch without Node DEP0190 warningsmodel_instructions_file, notify, hooks.json, hook trust state, local plugin, marketplace, and cache behavior--previous-notify chains/goal feature toggles, long-running route context, and goal-aware command contractshelloagents doctorrepo-shared behaviorstate_path, runtime signals, and evidencedocs/?docs/ is reference material for users and AI agents. It may lag behind implementation; runtime behavior is defined by source code, rule templates, skills, templates, and tests.
Both.
cli.mjs handles install, update, cleanup, diagnostics, and host configskills/ defines task-specific behaviorscripts/ provides runtime helpers for routing, guard, notify, verification, state, and evidence~init or --global?Use ~init inside a repo when you want to initialize that project workflow and sync project knowledge.
Use helloagents --global when you want host-wide deployment across supported CLIs.
standby is lighter and explicit. It deploys rules to selected CLIs while leaving each repo uninitialized until you run ~init.
global applies full rules broadly at the host level. Claude, Gemini, and Grok use native plugin, extension, or marketplace installs. Cursor and Codex use native local-plugin paths; Cursor specifically materializes a real plugin copy under ~/.cursor/plugins/local/helloagents.
If you mainly want Codex app/plugin discoverability, use global. If you mainly want a lighter, explicit project workflow, keep standby.
No HelloAGENTS rule or route text is injected through hooks. HelloAGENTS Codex hooks only write runtime state and enforce Stop gates; successful hooks stay quiet, while blocked or failed hooks show the necessary reason.
Yes.
notify_level to 0 to disable notificationsguard_enabled to false to disable command guardsnpm uninstall -g helloagents remove project knowledge?No. Run npm explore -g helloagents -- npm run uninstall -- --all before package removal so HelloAGENTS can reuse the tracked or detected mode for each CLI and clean host integrations plus the stable runtime copy. Project .helloagents/ files and ~/.helloagents/helloagents.json are intentionally preserved unless you remove them yourself.
~help is not recognizedCheck:
npm list -g helloagents
helloagents doctor
Then restart the target CLI.
Run:
helloagents doctor
helloagents update codex
helloagents --standby
helloagents --global
Use the command that matches your installed mode and target CLI.
Refresh Codex:
helloagents update codex
For global mode, you can also run:
helloagents --global
Check notify_level first.
afplay should be availableaplay, paplay, or notify-sendReview the command. Guard blocks known destructive operations and warns about risky writes. If you still want to disable it:
{ "guard_enabled": false }
Code is licensed under Apache-2.0. Documentation is licensed under CC BY 4.0.
If this project helps you, a star is the best support.
Thanks to codexzh.com / ccodezh.com for supporting this project.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。