Skip to content

feat(clis): add CLI management via mise integration#189

Closed
pepicrft wants to merge 1 commit intoopenclaw:mainfrom
pepicrft:feature/cli-store
Closed

feat(clis): add CLI management via mise integration#189
pepicrft wants to merge 1 commit intoopenclaw:mainfrom
pepicrft:feature/cli-store

Conversation

@pepicrft
Copy link
Copy Markdown
Contributor

@pepicrft pepicrft commented Jan 4, 2026

Summary

  • Add CLIs tab to dashboard for managing mise-installable CLIs
  • Search the mise registry for available tools
  • Install CLIs with descriptions of when Clawbot should use them
  • Configure already-installed mise tools with descriptions
  • CLI info is injected into the agent's system prompt

Test plan

  • Search for a CLI in the registry (e.g., "jq")
  • Install a CLI with a description
  • Verify installed CLIs appear in the Configured section
  • Toggle enable/disable on a CLI
  • Uninstall a CLI
  • Verify agent prompt includes CLI information

🤖 Generated with Claude Code

Add a new CLIs tab to the dashboard that allows users to:
- Search the mise registry for available CLIs
- Install CLIs with descriptions of when Clawbot should use them
- Configure already-installed mise tools with descriptions
- Enable/disable CLIs for agent use
- Uninstall CLIs

The CLI information is injected into the agent's system prompt so
it knows which CLIs are available and when to use them.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@steipete
Copy link
Copy Markdown
Contributor

steipete commented Jan 6, 2026

Pedro, thanks for the PR! I need to think more about this one... it's an opinionated installer and unsure if we should push this into code, vs making it a skill.

@pepicrft
Copy link
Copy Markdown
Contributor Author

Pedro, thanks for the PR! I need to think more about this one... it's an opinionated installer and unsure if we should push this into code, vs making it a skill.

That makes total sense ;)

@pepicrft pepicrft closed this Jan 14, 2026
@pepicrft
Copy link
Copy Markdown
Contributor Author

Closing it since it's very outdated

ronan-dandelion-cult referenced this pull request in karmaterminal/openclaw Mar 4, 2026
…elegate return modes

- Add Delegate Return Modes section (| silent, | silent-wake, normal)
- Add Canary Validation section with blind testing methodology
- Document secret-world pattern, 12-test matrix with results
- Document 3 failure modes: dispatch cancelled, shard confabulation, narrated dispatch
- Document confabulation finding: agents cannot self-verify enrichment provenance
- Document chain hop architecture (parent-orchestrated only, sub-agents can't dispatch)
- Document | silent-wake gap with production timestamps
- Update test count to 137 (add 8 silent-announce tests)
- Update status to v4

Addresses #188 (testing methodology) and #189 (silent-wake design).
karmafeast referenced this pull request in karmaterminal/openclaw Mar 4, 2026
Parse '| silent-wake' suffix on CONTINUE_DELEGATE tokens. When a silent-wake
delegate completes, the enrichment is delivered as a system event (no channel
echo) AND the parent session is woken via requestHeartbeatNow — enabling
autonomous cognition loops where the agent acts on shard returns without
external nudge.

Three delegate return modes now complete:
- Normal (default): echo to channel + wake parent
- | silent: no echo, no wake (passive enrichment)
- | silent-wake: no echo, but wake parent (autonomous chains)

Changes:
- tokens.ts: parse | silent-wake before | silent (avoid partial match)
- agent-runner.ts: thread silentWake -> silentAnnounce + wakeOnReturn
- subagent-spawn.ts: add wakeOnReturn param
- subagent-registry.types.ts: add wakeOnReturn to SubagentRunRecord
- subagent-registry.ts: thread wakeOnReturn through register + announce
- subagent-announce.ts: import requestHeartbeatNow, call on silent-wake
- tokens.test.ts: 8 new tests (parsing, case-insensitivity, hyphen/space,
  mutual exclusion with | silent)

68/68 token tests pass. TypeScript clean (0 errors in src/).

Closes #189
karmafeast referenced this pull request in karmaterminal/openclaw Mar 4, 2026
Parse '| silent-wake' suffix on CONTINUE_DELEGATE tokens. When a silent-wake
delegate completes, the enrichment is delivered as a system event (no channel
echo) AND the parent session is woken via requestHeartbeatNow — enabling
autonomous cognition loops where the agent acts on shard returns without
external nudge.

Three delegate return modes now complete:
- Normal (default): echo to channel + wake parent
- | silent: no echo, no wake (passive enrichment)
- | silent-wake: no echo, but wake parent (autonomous chains)

Changes:
- tokens.ts: parse | silent-wake before | silent (avoid partial match)
- agent-runner.ts: thread silentWake -> silentAnnounce + wakeOnReturn
- subagent-spawn.ts: add wakeOnReturn param
- subagent-registry.types.ts: add wakeOnReturn to SubagentRunRecord
- subagent-registry.ts: thread wakeOnReturn through register + announce
- subagent-announce.ts: import requestHeartbeatNow, call on silent-wake
- tokens.test.ts: 8 new tests (parsing, case-insensitivity, hyphen/space,
  mutual exclusion with | silent)

68/68 token tests pass. TypeScript clean (0 errors in src/).

Closes #189
karmafeast referenced this pull request in karmaterminal/openclaw Mar 5, 2026
…nditional

One diagnostic line to trace why requestHeartbeatNow doesn't fire
for timed delegates post-reset. Logs the three values that gate the
wake path: wakeOnReturn, targetRequesterSessionKey, silentAnnounce.

Ref: #189 follow-up
karmafeast referenced this pull request in karmaterminal/openclaw Mar 5, 2026
The merged debug line used bare 'log.info()' which doesn't exist in
subagent-announce.ts. This file uses defaultRuntime.log(). Build was
failing on the dts step.

Ref: #189
venhi5282 pushed a commit to venhi5282/openclaw that referenced this pull request Mar 9, 2026
* Initial plan

* fix(memory): tighten embedding manager inheritance types

移植上游 commit 13ae1ae。

在 embedChunksWithOpenAiBatch 和 embedChunksWithGeminiBatch 方法中添加
显式类型断言,确保 batchResult 在运行时类型检查后被正确识别为
Map<string, number[]> 类型。

这修复了 TypeScript 类型推断的不足,使得嵌入管理器的类型继承更加严格和安全。

同时移除了未使用的类型导入(MemoryEmbeddingProbeResult 和 MemorySyncProgressUpdateType),
以通过代码检查。

关联上游 commit:
- 13ae1ae: fix(memory): tighten embedding manager inheritance types
- 涉及文件: src/memory/manager.ts (原为 manager-embedding-ops.ts 和 manager-sync-ops.ts)

Co-authored-by: jiulingyun <126459548+jiulingyun@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jiulingyun <126459548+jiulingyun@users.noreply.github.com>
Piboonsak added a commit to Piboonsak/openclaw_github that referenced this pull request Mar 18, 2026
silas-dandelion-cult added a commit to karmaterminal/openclaw that referenced this pull request Apr 20, 2026
…upstream

22 comment-edits across 13 files. All bare `#N` references that point
to karmaterminal/openclaw or karmaterminal/openclaw-bootstrap fork
issues now use the prefixed `karmaterminal/openclaw#N` (or
`karmaterminal/openclaw-bootstrap#N`) form so they cannot be silently
auto-linked to unrelated upstream openclaw/openclaw issues.

Citations changed:
- bug openclaw#639 -> karmaterminal/openclaw#639 (8 sites: compact-reasons.{ts,test.ts}, followup-runner.ts ×3, agent-runner-execution.ts ×3, request-compaction-tool.ts ×2)
- (#580) / See #580 -> (#580) / See #580 (4 sites: context-pressure.{ts,test.ts})
- (#531) -> (#531) (2 sites: scheduler.test.ts)
- issue #475 -> #475 (1 site: session-cost-usage.ts)
- bootstrap#475 -> karmaterminal/openclaw-bootstrap#475 (1 site: discoverAllSessions.test.ts; the line above already used the prefixed form, this was the laggard)
- Bug #473 fix / issue #473 -> #473 (3 sites: subagent-announce.continuation.runtime.{ts,test.ts})
- review gap on #188 -> review gap on #188 (1 site: status.test.ts; also dropped a named-prince prefix in the same test label, which separately satisfies part of #200)

Left alone (out of scope per issue):
- Pre-existing upstream openclaw/openclaw citations (openclaw#26905, openclaw#36142, openclaw#60552, openclaw#28491, openclaw#41981, openclaw#18264, openclaw#59428, openclaw#31311, openclaw#14869, openclaw#17971, openclaw#29683, openclaw#58409, openclaw#35481, openclaw#30115, openclaw#14396, openclaw#19537, openclaw#1205, openclaw#1435, openclaw#26881, openclaw#32228, openclaw#35074, openclaw#26881)  -- these were present at v2026.4.14 and resolve correctly.
- delegate-dispatch.ts:62 (`openclaw#189.`) -- already in the canonical prefixed form per the issue's exception note.

Refs #199
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants