@hera-al/server 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +325 -0
- package/bundled/apple-notes/SKILL.md +77 -0
- package/bundled/apple-reminders/SKILL.md +96 -0
- package/bundled/blogwatcher/SKILL.md +69 -0
- package/bundled/camsnap/SKILL.md +45 -0
- package/bundled/discord/SKILL.md +578 -0
- package/bundled/gemini/SKILL.md +43 -0
- package/bundled/gifgrep/SKILL.md +79 -0
- package/bundled/github/SKILL.md +77 -0
- package/bundled/gog/SKILL.md +116 -0
- package/bundled/goplaces/SKILL.md +52 -0
- package/bundled/himalaya/SKILL.md +257 -0
- package/bundled/himalaya/references/configuration.md +184 -0
- package/bundled/himalaya/references/message-composition.md +199 -0
- package/bundled/homebrew/SKILL.md +82 -0
- package/bundled/local-places/SERVER_README.md +101 -0
- package/bundled/local-places/SKILL.md +102 -0
- package/bundled/local-places/pyproject.toml +21 -0
- package/bundled/local-places/src/local_places/__init__.py +2 -0
- package/bundled/local-places/src/local_places/google_places.py +314 -0
- package/bundled/local-places/src/local_places/main.py +65 -0
- package/bundled/local-places/src/local_places/schemas.py +107 -0
- package/bundled/markitdown/SKILL.md +96 -0
- package/bundled/mcporter/SKILL.md +61 -0
- package/bundled/merge-pr/SKILL.md +187 -0
- package/bundled/merge-pr/agents/openai.yaml +4 -0
- package/bundled/nano-banana-pro/SKILL.md +58 -0
- package/bundled/nano-banana-pro/scripts/generate_image.py +184 -0
- package/bundled/nano-pdf/SKILL.md +38 -0
- package/bundled/open-prose/README.md +25 -0
- package/bundled/open-prose/index.ts +5 -0
- package/bundled/open-prose/openclaw.plugin.json +11 -0
- package/bundled/open-prose/package.json +15 -0
- package/bundled/open-prose/skills/prose/LICENSE +21 -0
- package/bundled/open-prose/skills/prose/SKILL.md +323 -0
- package/bundled/open-prose/skills/prose/alt-borges.md +141 -0
- package/bundled/open-prose/skills/prose/alts/arabian-nights.md +358 -0
- package/bundled/open-prose/skills/prose/alts/borges.md +360 -0
- package/bundled/open-prose/skills/prose/alts/folk.md +322 -0
- package/bundled/open-prose/skills/prose/alts/homer.md +346 -0
- package/bundled/open-prose/skills/prose/alts/kafka.md +373 -0
- package/bundled/open-prose/skills/prose/compiler.md +2971 -0
- package/bundled/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
- package/bundled/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
- package/bundled/open-prose/skills/prose/examples/03-code-review.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
- package/bundled/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/07-refactor.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
- package/bundled/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
- package/bundled/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
- package/bundled/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
- package/bundled/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
- package/bundled/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
- package/bundled/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
- package/bundled/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
- package/bundled/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
- package/bundled/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
- package/bundled/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
- package/bundled/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
- package/bundled/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
- package/bundled/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
- package/bundled/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
- package/bundled/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
- package/bundled/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
- package/bundled/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
- package/bundled/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
- package/bundled/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
- package/bundled/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
- package/bundled/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
- package/bundled/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
- package/bundled/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
- package/bundled/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
- package/bundled/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
- package/bundled/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
- package/bundled/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
- package/bundled/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
- package/bundled/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
- package/bundled/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
- package/bundled/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
- package/bundled/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
- package/bundled/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
- package/bundled/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
- package/bundled/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
- package/bundled/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
- package/bundled/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
- package/bundled/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
- package/bundled/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
- package/bundled/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
- package/bundled/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
- package/bundled/open-prose/skills/prose/examples/README.md +391 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/README.md +22 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
- package/bundled/open-prose/skills/prose/guidance/antipatterns.md +951 -0
- package/bundled/open-prose/skills/prose/guidance/patterns.md +700 -0
- package/bundled/open-prose/skills/prose/guidance/system-prompt.md +180 -0
- package/bundled/open-prose/skills/prose/help.md +144 -0
- package/bundled/open-prose/skills/prose/lib/README.md +108 -0
- package/bundled/open-prose/skills/prose/lib/calibrator.prose +215 -0
- package/bundled/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
- package/bundled/open-prose/skills/prose/lib/error-forensics.prose +250 -0
- package/bundled/open-prose/skills/prose/lib/inspector.prose +196 -0
- package/bundled/open-prose/skills/prose/lib/profiler.prose +460 -0
- package/bundled/open-prose/skills/prose/lib/program-improver.prose +275 -0
- package/bundled/open-prose/skills/prose/lib/project-memory.prose +118 -0
- package/bundled/open-prose/skills/prose/lib/user-memory.prose +93 -0
- package/bundled/open-prose/skills/prose/lib/vm-improver.prose +243 -0
- package/bundled/open-prose/skills/prose/primitives/session.md +593 -0
- package/bundled/open-prose/skills/prose/prose.md +1237 -0
- package/bundled/open-prose/skills/prose/state/filesystem.md +498 -0
- package/bundled/open-prose/skills/prose/state/in-context.md +384 -0
- package/bundled/open-prose/skills/prose/state/postgres.md +880 -0
- package/bundled/open-prose/skills/prose/state/sqlite.md +574 -0
- package/bundled/peekaboo/SKILL.md +190 -0
- package/bundled/prepare-pr/SKILL.md +277 -0
- package/bundled/prepare-pr/agents/openai.yaml +4 -0
- package/bundled/review-pr/SKILL.md +228 -0
- package/bundled/review-pr/agents/openai.yaml +4 -0
- package/bundled/sag/SKILL.md +87 -0
- package/bundled/skill-creator/SKILL.md +370 -0
- package/bundled/skill-creator/license.txt +202 -0
- package/bundled/skill-creator/scripts/init_skill.py +378 -0
- package/bundled/skill-creator/scripts/package_skill.py +111 -0
- package/bundled/skill-creator/scripts/quick_validate.py +101 -0
- package/bundled/spotify-player/SKILL.md +64 -0
- package/bundled/ssh/SKILL.md +119 -0
- package/bundled/summarize/SKILL.md +87 -0
- package/bundled/video-frames/SKILL.md +46 -0
- package/bundled/video-frames/scripts/frame.sh +81 -0
- package/bundled/voice-call/SKILL.md +45 -0
- package/bundled/wacli/SKILL.md +72 -0
- package/bundled/weather/SKILL.md +54 -0
- package/dist/agent/agent-service.d.ts +88 -0
- package/dist/agent/agent-service.js +1 -0
- package/dist/agent/message-queue.d.ts +24 -0
- package/dist/agent/message-queue.js +1 -0
- package/dist/agent/prompt-builder.d.ts +58 -0
- package/dist/agent/prompt-builder.js +1 -0
- package/dist/agent/session-agent.d.ts +197 -0
- package/dist/agent/session-agent.js +1 -0
- package/dist/agent/session-db.d.ts +26 -0
- package/dist/agent/session-db.js +1 -0
- package/dist/agent/session-error-handler.d.ts +37 -0
- package/dist/agent/session-error-handler.js +1 -0
- package/dist/agent/session-manager.d.ts +19 -0
- package/dist/agent/session-manager.js +1 -0
- package/dist/agent/workspace-files.d.ts +51 -0
- package/dist/agent/workspace-files.js +1 -0
- package/dist/auth/auth-middleware.d.ts +9 -0
- package/dist/auth/auth-middleware.js +1 -0
- package/dist/auth/node-signature-db.d.ts +30 -0
- package/dist/auth/node-signature-db.js +1 -0
- package/dist/auth/token-db.d.ts +38 -0
- package/dist/auth/token-db.js +1 -0
- package/dist/browser/browser-service.d.ts +9 -0
- package/dist/browser/browser-service.js +1 -0
- package/dist/channels/channel.d.ts +2 -0
- package/dist/channels/channel.js +1 -0
- package/dist/channels/responses.d.ts +21 -0
- package/dist/channels/responses.js +1 -0
- package/dist/commands/clear.d.ts +7 -0
- package/dist/commands/clear.js +1 -0
- package/dist/commands/cmd.d.ts +7 -0
- package/dist/commands/cmd.js +1 -0
- package/dist/commands/coder.d.ts +12 -0
- package/dist/commands/coder.js +1 -0
- package/dist/commands/command-registry.d.ts +12 -0
- package/dist/commands/command-registry.js +1 -0
- package/dist/commands/command.d.ts +22 -0
- package/dist/commands/command.js +1 -0
- package/dist/commands/compact.d.ts +7 -0
- package/dist/commands/compact.js +1 -0
- package/dist/commands/customsubagents.d.ts +15 -0
- package/dist/commands/customsubagents.js +1 -0
- package/dist/commands/help.d.ts +9 -0
- package/dist/commands/help.js +1 -0
- package/dist/commands/mcp.d.ts +9 -0
- package/dist/commands/mcp.js +1 -0
- package/dist/commands/model.d.ts +22 -0
- package/dist/commands/model.js +1 -0
- package/dist/commands/models.d.ts +11 -0
- package/dist/commands/models.js +1 -0
- package/dist/commands/new.d.ts +7 -0
- package/dist/commands/new.js +1 -0
- package/dist/commands/plugin.d.ts +7 -0
- package/dist/commands/plugin.js +1 -0
- package/dist/commands/sandbox.d.ts +12 -0
- package/dist/commands/sandbox.js +1 -0
- package/dist/commands/showtool.d.ts +12 -0
- package/dist/commands/showtool.js +1 -0
- package/dist/commands/status.d.ts +24 -0
- package/dist/commands/status.js +1 -0
- package/dist/commands/stop.d.ts +10 -0
- package/dist/commands/stop.js +1 -0
- package/dist/commands/subagents.d.ts +12 -0
- package/dist/commands/subagents.js +1 -0
- package/dist/commands/usage.d.ts +25 -0
- package/dist/commands/usage.js +1 -0
- package/dist/commands/useplugin.d.ts +7 -0
- package/dist/commands/useplugin.js +1 -0
- package/dist/config-watcher.d.ts +14 -0
- package/dist/config-watcher.js +1 -0
- package/dist/config.d.ts +267 -0
- package/dist/config.js +1 -0
- package/dist/cron/cron-service.d.ts +57 -0
- package/dist/cron/cron-service.js +1 -0
- package/dist/cron/heartbeat-token.d.ts +29 -0
- package/dist/cron/heartbeat-token.js +1 -0
- package/dist/cron/schedule.d.ts +3 -0
- package/dist/cron/schedule.js +1 -0
- package/dist/cron/store.d.ts +4 -0
- package/dist/cron/store.js +1 -0
- package/dist/cron/types.d.ts +47 -0
- package/dist/cron/types.js +1 -0
- package/dist/gateway/bridge.d.ts +38 -0
- package/dist/gateway/bridge.js +1 -0
- package/dist/gateway/channel-manager.d.ts +45 -0
- package/dist/gateway/channel-manager.js +1 -0
- package/dist/gateway/channels/qr-image.d.ts +5 -0
- package/dist/gateway/channels/qr-image.js +1 -0
- package/dist/gateway/channels/telegram.d.ts +39 -0
- package/dist/gateway/channels/telegram.js +1 -0
- package/dist/gateway/channels/webchat.d.ts +51 -0
- package/dist/gateway/channels/webchat.js +1 -0
- package/dist/gateway/channels/whatsapp.d.ts +40 -0
- package/dist/gateway/channels/whatsapp.js +1 -0
- package/dist/gateway/node-registry.d.ts +38 -0
- package/dist/gateway/node-registry.js +1 -0
- package/dist/heracli/index.d.ts +3 -0
- package/dist/heracli/index.js +2 -0
- package/dist/heracli/logs.d.ts +13 -0
- package/dist/heracli/logs.js +1 -0
- package/dist/heracli/security/audit.d.ts +17 -0
- package/dist/heracli/security/audit.js +1 -0
- package/dist/heracli/security/checks/channel-policies.d.ts +6 -0
- package/dist/heracli/security/checks/channel-policies.js +1 -0
- package/dist/heracli/security/checks/credentials.d.ts +6 -0
- package/dist/heracli/security/checks/credentials.js +1 -0
- package/dist/heracli/security/checks/fs-permissions.d.ts +6 -0
- package/dist/heracli/security/checks/fs-permissions.js +1 -0
- package/dist/heracli/security/checks/network.d.ts +4 -0
- package/dist/heracli/security/checks/network.js +1 -0
- package/dist/heracli/security/report.d.ts +4 -0
- package/dist/heracli/security/report.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/installer/hera.d.ts +3 -0
- package/dist/installer/hera.js +2 -0
- package/dist/media/message-processor.d.ts +23 -0
- package/dist/media/message-processor.js +1 -0
- package/dist/memory/memory-manager.d.ts +21 -0
- package/dist/memory/memory-manager.js +1 -0
- package/dist/memory/memory-provider.d.ts +22 -0
- package/dist/memory/memory-provider.js +1 -0
- package/dist/memory/memory-search.d.ts +102 -0
- package/dist/memory/memory-search.js +1 -0
- package/dist/memory/recall-strategies.d.ts +2 -0
- package/dist/memory/recall-strategies.js +1 -0
- package/dist/nostromo/auth.d.ts +29 -0
- package/dist/nostromo/auth.js +1 -0
- package/dist/nostromo/nostromo.d.ts +23 -0
- package/dist/nostromo/nostromo.js +1 -0
- package/dist/nostromo/ui-html-layout.d.ts +3 -0
- package/dist/nostromo/ui-html-layout.js +1 -0
- package/dist/nostromo/ui-html-modals.d.ts +3 -0
- package/dist/nostromo/ui-html-modals.js +1 -0
- package/dist/nostromo/ui-js-agent.d.ts +3 -0
- package/dist/nostromo/ui-js-agent.js +1 -0
- package/dist/nostromo/ui-js-channels.d.ts +3 -0
- package/dist/nostromo/ui-js-channels.js +1 -0
- package/dist/nostromo/ui-js-competences.d.ts +3 -0
- package/dist/nostromo/ui-js-competences.js +1 -0
- package/dist/nostromo/ui-js-config.d.ts +3 -0
- package/dist/nostromo/ui-js-config.js +1 -0
- package/dist/nostromo/ui-js-core.d.ts +3 -0
- package/dist/nostromo/ui-js-core.js +1 -0
- package/dist/nostromo/ui-js-ops.d.ts +3 -0
- package/dist/nostromo/ui-js-ops.js +1 -0
- package/dist/nostromo/ui-js-prompts.d.ts +3 -0
- package/dist/nostromo/ui-js-prompts.js +1 -0
- package/dist/nostromo/ui-styles.d.ts +3 -0
- package/dist/nostromo/ui-styles.js +1 -0
- package/dist/nostromo/ui.d.ts +2 -0
- package/dist/nostromo/ui.js +1 -0
- package/dist/server.d.ts +80 -0
- package/dist/server.js +1 -0
- package/dist/stt/local-whisper.d.ts +9 -0
- package/dist/stt/local-whisper.js +1 -0
- package/dist/stt/openai-whisper.d.ts +14 -0
- package/dist/stt/openai-whisper.js +1 -0
- package/dist/stt/stt-loader.d.ts +4 -0
- package/dist/stt/stt-loader.js +1 -0
- package/dist/stt/stt-provider.d.ts +4 -0
- package/dist/stt/stt-provider.js +1 -0
- package/dist/tools/browser-tools.d.ts +9 -0
- package/dist/tools/browser-tools.js +1 -0
- package/dist/tools/cron-tools.d.ts +4 -0
- package/dist/tools/cron-tools.js +1 -0
- package/dist/tools/memory-tools.d.ts +3 -0
- package/dist/tools/memory-tools.js +1 -0
- package/dist/tools/message-tools.d.ts +5 -0
- package/dist/tools/message-tools.js +1 -0
- package/dist/tools/node-tools.d.ts +3 -0
- package/dist/tools/node-tools.js +1 -0
- package/dist/tools/server-tools.d.ts +2 -0
- package/dist/tools/server-tools.js +1 -0
- package/dist/tools/tts-tools.d.ts +3 -0
- package/dist/tools/tts-tools.js +1 -0
- package/dist/tts/tts-service.d.ts +19 -0
- package/dist/tts/tts-service.js +1 -0
- package/dist/utils/chunk.d.ts +3 -0
- package/dist/utils/chunk.js +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/markdown/fences.d.ts +11 -0
- package/dist/utils/markdown/fences.js +1 -0
- package/dist/utils/markdown/ir.d.ts +33 -0
- package/dist/utils/markdown/ir.js +1 -0
- package/dist/utils/markdown/render.d.ts +19 -0
- package/dist/utils/markdown/render.js +1 -0
- package/dist/utils/markdown/tables.d.ts +3 -0
- package/dist/utils/markdown/tables.js +1 -0
- package/dist/utils/media-response.d.ts +29 -0
- package/dist/utils/media-response.js +1 -0
- package/dist/utils/package-paths.d.ts +5 -0
- package/dist/utils/package-paths.js +1 -0
- package/dist/utils/telegram-format.d.ts +13 -0
- package/dist/utils/telegram-format.js +1 -0
- package/installationPkg/.env.example +26 -0
- package/installationPkg/AGENTS.md +143 -0
- package/installationPkg/BOOTSTRAP.md +45 -0
- package/installationPkg/CBINT.json +16 -0
- package/installationPkg/HEARTBEAT.md +5 -0
- package/installationPkg/IDENTITY.md +7 -0
- package/installationPkg/SOUL.md +36 -0
- package/installationPkg/SYSTEM_PROMPT.md +55 -0
- package/installationPkg/SYSTEM_PROMPT_SUBAGENT.md +40 -0
- package/installationPkg/TOOLS.md +36 -0
- package/installationPkg/USER.md +11 -0
- package/installationPkg/config.example.yaml +291 -0
- package/package.json +95 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 TGP (The Good Programmer)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# 💎 Hera Artificial Life
|
|
2
|
+
|
|
3
|
+
**The AI that doesn't just chat — it acts, evolves, and thinks ahead.**
|
|
4
|
+
|
|
5
|
+
Hera is not another chatbot wrapper. It's an autonomous AI platform that combines state-of-the-art language models with unprecedented levels of autonomy, action, and self-evolution. Built on Claude Agent SDK, Hera connects to multiple communication channels while maintaining context, learning from interactions, and proactively managing tasks without constant supervision.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 🌟 What Makes Hera Different
|
|
10
|
+
|
|
11
|
+
### Beyond Chat: True Autonomy
|
|
12
|
+
- **Proactive Actions**: Schedules its own tasks, monitors events, reaches out when needed
|
|
13
|
+
- **Self-Programming**: Creates and modifies its own skills, adapts workflows
|
|
14
|
+
- **Memory Evolution**: Nightly consolidation transforms daily interactions into long-term knowledge with RDF concept mapping
|
|
15
|
+
- **Multi-Modal Intelligence**: Voice (TTS/STT), vision, document processing, web search
|
|
16
|
+
|
|
17
|
+
### Production-Ready Architecture
|
|
18
|
+
- **Multi-Channel Gateway**: Telegram, WhatsApp, Discord, WebChat — unified interface, consistent experience
|
|
19
|
+
- **Nostromo Control Center**: Advanced admin panel for real-time monitoring, configuration, and orchestration
|
|
20
|
+
- **Distributed Execution**: Remote nodes for browser automation, shell execution, cross-platform actions
|
|
21
|
+
- **Extensible by Design**: Skills, MCP tools, plugins — choose your level of integration
|
|
22
|
+
|
|
23
|
+
### Built for Developers
|
|
24
|
+
- **MIT Licensed Components**: Core libraries available as `@hera-al/*` packages on npm
|
|
25
|
+
- **Claude Agent SDK Native**: Full toolkit access, streaming, artifacts, permissions
|
|
26
|
+
- **TypeScript Throughout**: Type-safe, maintainable, modern codebase
|
|
27
|
+
- **Docker Ready**: One command to production
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 🏗️ Architecture
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
35
|
+
│ COMMUNICATION LAYER │
|
|
36
|
+
│ Telegram • WhatsApp • Discord • WebChat • Voice • Browser │
|
|
37
|
+
└────────────────────────┬────────────────────────────────────┘
|
|
38
|
+
│
|
|
39
|
+
┌────────────────────────▼────────────────────────────────────┐
|
|
40
|
+
│ HERA GATEWAY │
|
|
41
|
+
│ • Session Management • Multi-format rendering │
|
|
42
|
+
│ • Permission System • Cron Scheduler │
|
|
43
|
+
│ • Memory Pipeline • Nostromo Admin Panel │
|
|
44
|
+
└────────────────────────┬────────────────────────────────────┘
|
|
45
|
+
│
|
|
46
|
+
┌────────────────────────▼────────────────────────────────────┐
|
|
47
|
+
│ CLAUDE AGENT SDK │
|
|
48
|
+
│ Claude Sonnet 4.5 • Tool orchestration • Streaming │
|
|
49
|
+
└────────────────────────┬────────────────────────────────────┘
|
|
50
|
+
│
|
|
51
|
+
┌───────────────┴───────────────┬─────────────────┐
|
|
52
|
+
│ │ │
|
|
53
|
+
┌────────▼────────┐ ┌─────────▼──────┐ ┌───────▼────────┐
|
|
54
|
+
│ SKILLS │ │ MCP SERVERS │ │ REMOTE NODES │
|
|
55
|
+
│ • Google WS │ │ • Custom │ │ • OSXNode │
|
|
56
|
+
│ • xAI Search │ │ • Community │ │ • Browser CDP │
|
|
57
|
+
│ • Apple Notes │ │ • External │ │ • Shell Exec │
|
|
58
|
+
│ • Dreaming │ │ │ │ │
|
|
59
|
+
│ • Custom... │ │ │ │ │
|
|
60
|
+
└─────────────────┘ └────────────────┘ └────────────────┘
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 🎯 Core Components
|
|
66
|
+
|
|
67
|
+
### Nostromo — The Command Center
|
|
68
|
+
Real-time admin panel providing:
|
|
69
|
+
- **Live Session Monitoring**: Active conversations, context windows, tool usage
|
|
70
|
+
- **Skill Management**: Install, update, configure, and publish skills
|
|
71
|
+
- **Cron Orchestration**: Schedule autonomous tasks, view execution history
|
|
72
|
+
- **Model Registry**: Switch between Claude, GPT-4, local models on the fly
|
|
73
|
+
- **Permission Dashboard**: Approve/deny tool executions, set policies
|
|
74
|
+
- **System Health**: Memory usage, API quotas, node connectivity
|
|
75
|
+
|
|
76
|
+
### The Memory System
|
|
77
|
+
Three-tier memory architecture:
|
|
78
|
+
1. **Session Memory**: Real-time context during conversations
|
|
79
|
+
2. **Daily Logs**: Markdown files with full conversation history
|
|
80
|
+
3. **Long-Term Memory**: Consolidated knowledge with semantic search and RDF Turtle concept maps
|
|
81
|
+
|
|
82
|
+
The `dreaming` skill runs nightly, identifying patterns, extracting insights, and updating the concept graph — Hera literally learns while you sleep.
|
|
83
|
+
|
|
84
|
+
### Skills — Extensibility at Scale
|
|
85
|
+
Skills are self-contained capabilities that extend Hera's reach:
|
|
86
|
+
|
|
87
|
+
**Bundled Skills:**
|
|
88
|
+
- `google-workspace` — Gmail, Drive, Docs, Sheets, Slides (OAuth2 integrated)
|
|
89
|
+
- `xai-search` — Web and X (Twitter) search via Grok Responses API
|
|
90
|
+
- `apple-notes` & `apple-reminders` — Native macOS integration
|
|
91
|
+
- `weather` — Current conditions and forecasts
|
|
92
|
+
- `ssh` — Remote server management
|
|
93
|
+
- `dreaming` — Nightly memory consolidation and concept mapping
|
|
94
|
+
- `the-skill-guardian` — Security scanner for third-party skills (90+ malicious pattern detection)
|
|
95
|
+
- `skill-creator` — Meta-skill for creating and packaging new skills
|
|
96
|
+
|
|
97
|
+
**Create Your Own:**
|
|
98
|
+
```bash
|
|
99
|
+
# Skills live in .claude/skills/<name>/
|
|
100
|
+
# SKILL.md defines capabilities
|
|
101
|
+
# scripts/ subfolder contains executables
|
|
102
|
+
# Full access to Hera's toolkit
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### MCP Integration
|
|
106
|
+
Model Context Protocol (MCP) support allows:
|
|
107
|
+
- Connecting to external data sources (databases, APIs, SaaS)
|
|
108
|
+
- Using community MCP servers (Notion, Linear, GitHub, etc.)
|
|
109
|
+
- Building custom MCP servers for proprietary systems
|
|
110
|
+
|
|
111
|
+
### Remote Nodes
|
|
112
|
+
WebSocket-based execution nodes for distributed actions:
|
|
113
|
+
- **StandardNode**: Shell execution on any machine (npm package: `@hera-al/standardnode`)
|
|
114
|
+
- **OSXNode**: Native macOS app with SwiftUI interface, markdown rendering, notifications
|
|
115
|
+
- **Browser Nodes**: Chrome DevTools Protocol (CDP) automation for web scraping, testing, interaction
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 🚀 Quick Start
|
|
120
|
+
|
|
121
|
+
### Prerequisites
|
|
122
|
+
- Node.js 18+
|
|
123
|
+
- Anthropic API key
|
|
124
|
+
- (Optional) Telegram bot token, OpenAI API key for voice
|
|
125
|
+
|
|
126
|
+
### Installation
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Clone or install
|
|
130
|
+
npm install -g @hera-al/server
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Configuration
|
|
134
|
+
|
|
135
|
+
Create `.env`:
|
|
136
|
+
```env
|
|
137
|
+
# Required
|
|
138
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
139
|
+
DATA_FOLDER=/path/to/data
|
|
140
|
+
|
|
141
|
+
# Channels (optional)
|
|
142
|
+
TELEGRAM_BOT_TOKEN=123456789:ABC...
|
|
143
|
+
WHATSAPP_ENABLED=true
|
|
144
|
+
|
|
145
|
+
# Voice (optional)
|
|
146
|
+
OPENAI_API_KEY=sk-...
|
|
147
|
+
TTS_PROVIDER=openai
|
|
148
|
+
TTS_VOICE=echo
|
|
149
|
+
|
|
150
|
+
# Nostromo (optional)
|
|
151
|
+
NOSTROMO_PORT=3030
|
|
152
|
+
NOSTROMO_ENABLED=true
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
See `.env.example` for all options.
|
|
156
|
+
|
|
157
|
+
### Launch
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Start the gateway
|
|
161
|
+
npm start
|
|
162
|
+
|
|
163
|
+
# Or with Nostromo
|
|
164
|
+
npm run server:with-nostromo
|
|
165
|
+
|
|
166
|
+
# CLI tools
|
|
167
|
+
hera # Interactive management CLI
|
|
168
|
+
heraserver # Start server programmatically
|
|
169
|
+
hera-install # Installation wizard
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Access Nostromo at `http://localhost:3030` (default).
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 📚 Use Cases
|
|
177
|
+
|
|
178
|
+
### Personal AI Assistant
|
|
179
|
+
- Manages emails, calendar, reminders across platforms
|
|
180
|
+
- Proactively surfaces relevant information
|
|
181
|
+
- Learns preferences and adapts over time
|
|
182
|
+
|
|
183
|
+
### Team Collaboration Hub
|
|
184
|
+
- Multi-channel presence (Slack, Discord, Telegram simultaneously)
|
|
185
|
+
- Skill-based workflows (CI/CD triggers, code reviews, deployments)
|
|
186
|
+
- Shared memory and knowledge base
|
|
187
|
+
|
|
188
|
+
### Autonomous Automation
|
|
189
|
+
- Scheduled tasks via cron (data scraping, report generation, monitoring)
|
|
190
|
+
- Self-healing workflows (detect failures, retry with exponential backoff)
|
|
191
|
+
- Cross-platform orchestration (Mac → Linux → Cloud)
|
|
192
|
+
|
|
193
|
+
### Research & Development
|
|
194
|
+
- Memory consolidation identifies patterns in conversations
|
|
195
|
+
- Concept mapping reveals hidden connections
|
|
196
|
+
- Export knowledge graphs for analysis
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 🧩 Ecosystem
|
|
201
|
+
|
|
202
|
+
### Published Packages
|
|
203
|
+
|
|
204
|
+
| Package | Description | npm |
|
|
205
|
+
|---------|-------------|-----|
|
|
206
|
+
| `@hera-al/server` | Core gateway (coming soon) | — |
|
|
207
|
+
| `@hera-al/browser-server` | WebChat UI component | [📦](https://www.npmjs.com/package/@hera-al/browser-server) |
|
|
208
|
+
| `@hera-al/standardnode` | Remote execution node client | (coming soon) |
|
|
209
|
+
|
|
210
|
+
### GitHub Organization
|
|
211
|
+
- **Main repo**: [hera-artificial-life/hera-al](https://github.com/hera-artificial-life/hera-al)
|
|
212
|
+
- **Skill repositories**: Skills developed by the community
|
|
213
|
+
- **OSXNode**: [hera-artificial-life/osxnode](https://github.com/hera-artificial-life/osxnode)
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 🔐 Security
|
|
218
|
+
|
|
219
|
+
### The Skill Guardian
|
|
220
|
+
Before installing any third-party skill, run:
|
|
221
|
+
```bash
|
|
222
|
+
hera skill-scan <path-to-skill>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Detects 90+ malicious patterns including:
|
|
226
|
+
- Code execution & shell injection
|
|
227
|
+
- Data exfiltration & credential theft
|
|
228
|
+
- Persistence mechanisms
|
|
229
|
+
- Prompt injection attacks
|
|
230
|
+
|
|
231
|
+
### Permission System
|
|
232
|
+
Fine-grained control over:
|
|
233
|
+
- Tool execution (approve/deny on demand or via policy)
|
|
234
|
+
- File system access (read/write boundaries)
|
|
235
|
+
- Network requests (allowlist/blocklist domains)
|
|
236
|
+
- Skill capabilities (sandbox mode)
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 🌱 Philosophy: Hera vs. OpenClaw
|
|
241
|
+
|
|
242
|
+
**OpenClaw** is the open-source framework — maximum flexibility, community-driven, all options on the table.
|
|
243
|
+
|
|
244
|
+
**Hera** is the opinionated product — curated experience, cohesive design, decisions made for you. Think Rails vs. Express, or macOS vs. Linux.
|
|
245
|
+
|
|
246
|
+
Both are valid. Hera makes choices so you don't have to. The building blocks (npm packages) are MIT licensed. The product (gateway + curated skills + Nostromo) is the Hera experience.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 🛠️ Development
|
|
251
|
+
|
|
252
|
+
### Project Structure
|
|
253
|
+
```
|
|
254
|
+
grabmeabeer/
|
|
255
|
+
├── src/ # Gateway source code
|
|
256
|
+
│ ├── channels/ # Telegram, WhatsApp, Discord, WebChat
|
|
257
|
+
│ ├── agent/ # Claude SDK integration
|
|
258
|
+
│ ├── memory/ # Semantic search, RDF concept map
|
|
259
|
+
│ ├── cron/ # Scheduler & job management
|
|
260
|
+
│ └── tools/ # Built-in tools (node_exec, TTS, etc.)
|
|
261
|
+
├── browser-server/ # WebChat UI (published to npm)
|
|
262
|
+
├── standardnode/ # Remote node client (published to npm)
|
|
263
|
+
├── .claude/skills/ # Skill directory
|
|
264
|
+
├── bundled/ # Pre-installed skills
|
|
265
|
+
├── installationPkg/ # Installation wizard assets
|
|
266
|
+
└── nostromo/ # Admin panel source
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Contributing
|
|
270
|
+
1. Fork the repo
|
|
271
|
+
2. Create a feature branch
|
|
272
|
+
3. Write tests (when applicable)
|
|
273
|
+
4. Submit a pull request
|
|
274
|
+
|
|
275
|
+
**Skill contributions welcome!** See `.claude/skills/skill-creator/SKILL.md` for the template.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 📖 Documentation
|
|
280
|
+
|
|
281
|
+
- **Installation Guide**: `docs/installation.md` (coming soon)
|
|
282
|
+
- **Skill Development**: `.claude/skills/skill-creator/SKILL.md`
|
|
283
|
+
- **API Reference**: `docs/api.md` (coming soon)
|
|
284
|
+
- **Nostromo Manual**: `docs/nostromo.md` (coming soon)
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## 🙏 Credits
|
|
289
|
+
|
|
290
|
+
### Built With
|
|
291
|
+
- [Claude Agent SDK](https://github.com/anthropics/anthropic-sdk-typescript) — Anthropic
|
|
292
|
+
- [grammY](https://grammy.dev) — Telegram bot framework
|
|
293
|
+
- [Hono](https://hono.dev) — Lightweight web framework
|
|
294
|
+
- [Zod](https://zod.dev) — TypeScript-first schema validation
|
|
295
|
+
- [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) — Fast SQLite bindings
|
|
296
|
+
|
|
297
|
+
### Inspiration
|
|
298
|
+
Standing on the shoulders of giants: OpenClaw, AutoGPT, LangChain, and the entire open-source AI community.
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## 📄 License
|
|
303
|
+
|
|
304
|
+
**MIT License** — see [LICENSE](./LICENSE) for details.
|
|
305
|
+
|
|
306
|
+
Core components (`@hera-al/*` packages) are free and open source. Build, fork, modify, deploy commercially — it's yours.
|
|
307
|
+
|
|
308
|
+
The Hera product (curated gateway + skills + Nostromo) represents our vision of what an AI agent should be. Use the components freely; experience Hera as intended.
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## 🔗 Links
|
|
313
|
+
|
|
314
|
+
- **Website**: Coming soon
|
|
315
|
+
- **npm**: [@hera-al](https://www.npmjs.com/org/hera-al)
|
|
316
|
+
- **GitHub**: [hera-artificial-life](https://github.com/hera-artificial-life)
|
|
317
|
+
- **Author**: TGP (The Good Programmer)
|
|
318
|
+
- **Email**: heralife.dev@gmail.com
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
<p align="center">
|
|
323
|
+
<strong>💎 Hera Artificial Life</strong><br>
|
|
324
|
+
<em>Opinionated AI. Curated experience. Unprecedented autonomy.</em>
|
|
325
|
+
</p>
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-notes
|
|
3
|
+
description: Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.
|
|
4
|
+
homepage: https://github.com/antoniorodr/memo
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "📝",
|
|
10
|
+
"os": ["darwin"],
|
|
11
|
+
"requires": { "bins": ["memo"] },
|
|
12
|
+
"install":
|
|
13
|
+
[
|
|
14
|
+
{
|
|
15
|
+
"id": "brew",
|
|
16
|
+
"kind": "brew",
|
|
17
|
+
"formula": "antoniorodr/memo/memo",
|
|
18
|
+
"bins": ["memo"],
|
|
19
|
+
"label": "Install memo via Homebrew",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Apple Notes CLI
|
|
27
|
+
|
|
28
|
+
Use `memo notes` to manage Apple Notes directly from the terminal. Create, view, edit, delete, search, move notes between folders, and export to HTML/Markdown.
|
|
29
|
+
|
|
30
|
+
Setup
|
|
31
|
+
|
|
32
|
+
- Install (Homebrew): `brew tap antoniorodr/memo && brew install antoniorodr/memo/memo`
|
|
33
|
+
- Manual (pip): `pip install .` (after cloning the repo)
|
|
34
|
+
- macOS-only; if prompted, grant Automation access to Notes.app.
|
|
35
|
+
|
|
36
|
+
View Notes
|
|
37
|
+
|
|
38
|
+
- List all notes: `memo notes`
|
|
39
|
+
- Filter by folder: `memo notes -f "Folder Name"`
|
|
40
|
+
- Search notes (fuzzy): `memo notes -s "query"`
|
|
41
|
+
|
|
42
|
+
Create Notes
|
|
43
|
+
|
|
44
|
+
- Add a new note: `memo notes -a`
|
|
45
|
+
- Opens an interactive editor to compose the note.
|
|
46
|
+
- Quick add with title: `memo notes -a "Note Title"`
|
|
47
|
+
|
|
48
|
+
Edit Notes
|
|
49
|
+
|
|
50
|
+
- Edit existing note: `memo notes -e`
|
|
51
|
+
- Interactive selection of note to edit.
|
|
52
|
+
|
|
53
|
+
Delete Notes
|
|
54
|
+
|
|
55
|
+
- Delete a note: `memo notes -d`
|
|
56
|
+
- Interactive selection of note to delete.
|
|
57
|
+
|
|
58
|
+
Move Notes
|
|
59
|
+
|
|
60
|
+
- Move note to folder: `memo notes -m`
|
|
61
|
+
- Interactive selection of note and destination folder.
|
|
62
|
+
|
|
63
|
+
Export Notes
|
|
64
|
+
|
|
65
|
+
- Export to HTML/Markdown: `memo notes -ex`
|
|
66
|
+
- Exports selected note; uses Mistune for markdown processing.
|
|
67
|
+
|
|
68
|
+
Limitations
|
|
69
|
+
|
|
70
|
+
- Cannot edit notes containing images or attachments.
|
|
71
|
+
- Interactive prompts may require terminal access.
|
|
72
|
+
|
|
73
|
+
Notes
|
|
74
|
+
|
|
75
|
+
- macOS-only.
|
|
76
|
+
- Requires Apple Notes.app to be accessible.
|
|
77
|
+
- For automation, grant permissions in System Settings > Privacy & Security > Automation.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apple-reminders
|
|
3
|
+
description: Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
|
|
4
|
+
homepage: https://github.com/steipete/remindctl
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "⏰",
|
|
10
|
+
"os": ["darwin"],
|
|
11
|
+
"requires": { "bins": ["remindctl"] },
|
|
12
|
+
"install":
|
|
13
|
+
[
|
|
14
|
+
{
|
|
15
|
+
"id": "brew",
|
|
16
|
+
"kind": "brew",
|
|
17
|
+
"formula": "steipete/tap/remindctl",
|
|
18
|
+
"bins": ["remindctl"],
|
|
19
|
+
"label": "Install remindctl via Homebrew",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Apple Reminders CLI (remindctl)
|
|
27
|
+
|
|
28
|
+
Use `remindctl` to manage Apple Reminders directly from the terminal. It supports list filtering, date-based views, and scripting output.
|
|
29
|
+
|
|
30
|
+
Setup
|
|
31
|
+
|
|
32
|
+
- Install (Homebrew): `brew install steipete/tap/remindctl`
|
|
33
|
+
- From source: `pnpm install && pnpm build` (binary at `./bin/remindctl`)
|
|
34
|
+
- macOS-only; grant Reminders permission when prompted.
|
|
35
|
+
|
|
36
|
+
Permissions
|
|
37
|
+
|
|
38
|
+
- Check status: `remindctl status`
|
|
39
|
+
- Request access: `remindctl authorize`
|
|
40
|
+
|
|
41
|
+
View Reminders
|
|
42
|
+
|
|
43
|
+
- Default (today): `remindctl`
|
|
44
|
+
- Today: `remindctl today`
|
|
45
|
+
- Tomorrow: `remindctl tomorrow`
|
|
46
|
+
- Week: `remindctl week`
|
|
47
|
+
- Overdue: `remindctl overdue`
|
|
48
|
+
- Upcoming: `remindctl upcoming`
|
|
49
|
+
- Completed: `remindctl completed`
|
|
50
|
+
- All: `remindctl all`
|
|
51
|
+
- Specific date: `remindctl 2026-01-04`
|
|
52
|
+
|
|
53
|
+
Manage Lists
|
|
54
|
+
|
|
55
|
+
- List all lists: `remindctl list`
|
|
56
|
+
- Show list: `remindctl list Work`
|
|
57
|
+
- Create list: `remindctl list Projects --create`
|
|
58
|
+
- Rename list: `remindctl list Work --rename Office`
|
|
59
|
+
- Delete list: `remindctl list Work --delete`
|
|
60
|
+
|
|
61
|
+
Create Reminders
|
|
62
|
+
|
|
63
|
+
- Quick add: `remindctl add "Buy milk"`
|
|
64
|
+
- With list + due: `remindctl add --title "Call mom" --list Personal --due tomorrow`
|
|
65
|
+
|
|
66
|
+
Edit Reminders
|
|
67
|
+
|
|
68
|
+
- Edit title/due: `remindctl edit 1 --title "New title" --due 2026-01-04`
|
|
69
|
+
|
|
70
|
+
Complete Reminders
|
|
71
|
+
|
|
72
|
+
- Complete by id: `remindctl complete 1 2 3`
|
|
73
|
+
|
|
74
|
+
Delete Reminders
|
|
75
|
+
|
|
76
|
+
- Delete by id: `remindctl delete 4A83 --force`
|
|
77
|
+
|
|
78
|
+
Output Formats
|
|
79
|
+
|
|
80
|
+
- JSON (scripting): `remindctl today --json`
|
|
81
|
+
- Plain TSV: `remindctl today --plain`
|
|
82
|
+
- Counts only: `remindctl today --quiet`
|
|
83
|
+
|
|
84
|
+
Date Formats
|
|
85
|
+
Accepted by `--due` and date filters:
|
|
86
|
+
|
|
87
|
+
- `today`, `tomorrow`, `yesterday`
|
|
88
|
+
- `YYYY-MM-DD`
|
|
89
|
+
- `YYYY-MM-DD HH:mm`
|
|
90
|
+
- ISO 8601 (`2026-01-04T12:34:56Z`)
|
|
91
|
+
|
|
92
|
+
Notes
|
|
93
|
+
|
|
94
|
+
- macOS-only.
|
|
95
|
+
- If access is denied, enable Terminal/remindctl in System Settings → Privacy & Security → Reminders.
|
|
96
|
+
- If running over SSH, grant access on the Mac that runs the command.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: blogwatcher
|
|
3
|
+
description: Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
|
|
4
|
+
homepage: https://github.com/Hyaxia/blogwatcher
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "📰",
|
|
10
|
+
"requires": { "bins": ["blogwatcher"] },
|
|
11
|
+
"install":
|
|
12
|
+
[
|
|
13
|
+
{
|
|
14
|
+
"id": "go",
|
|
15
|
+
"kind": "go",
|
|
16
|
+
"module": "github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest",
|
|
17
|
+
"bins": ["blogwatcher"],
|
|
18
|
+
"label": "Install blogwatcher (go)",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# blogwatcher
|
|
26
|
+
|
|
27
|
+
Track blog and RSS/Atom feed updates with the `blogwatcher` CLI.
|
|
28
|
+
|
|
29
|
+
Install
|
|
30
|
+
|
|
31
|
+
- Go: `go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest`
|
|
32
|
+
|
|
33
|
+
Quick start
|
|
34
|
+
|
|
35
|
+
- `blogwatcher --help`
|
|
36
|
+
|
|
37
|
+
Common commands
|
|
38
|
+
|
|
39
|
+
- Add a blog: `blogwatcher add "My Blog" https://example.com`
|
|
40
|
+
- List blogs: `blogwatcher blogs`
|
|
41
|
+
- Scan for updates: `blogwatcher scan`
|
|
42
|
+
- List articles: `blogwatcher articles`
|
|
43
|
+
- Mark an article read: `blogwatcher read 1`
|
|
44
|
+
- Mark all articles read: `blogwatcher read-all`
|
|
45
|
+
- Remove a blog: `blogwatcher remove "My Blog"`
|
|
46
|
+
|
|
47
|
+
Example output
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
$ blogwatcher blogs
|
|
51
|
+
Tracked blogs (1):
|
|
52
|
+
|
|
53
|
+
xkcd
|
|
54
|
+
URL: https://xkcd.com
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
$ blogwatcher scan
|
|
59
|
+
Scanning 1 blog(s)...
|
|
60
|
+
|
|
61
|
+
xkcd
|
|
62
|
+
Source: RSS | Found: 4 | New: 4
|
|
63
|
+
|
|
64
|
+
Found 4 new article(s) total!
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Notes
|
|
68
|
+
|
|
69
|
+
- Use `blogwatcher <command> --help` to discover flags and options.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: camsnap
|
|
3
|
+
description: Capture frames or clips from RTSP/ONVIF cameras.
|
|
4
|
+
homepage: https://camsnap.ai
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "📸",
|
|
10
|
+
"requires": { "bins": ["camsnap"] },
|
|
11
|
+
"install":
|
|
12
|
+
[
|
|
13
|
+
{
|
|
14
|
+
"id": "brew",
|
|
15
|
+
"kind": "brew",
|
|
16
|
+
"formula": "steipete/tap/camsnap",
|
|
17
|
+
"bins": ["camsnap"],
|
|
18
|
+
"label": "Install camsnap (brew)",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# camsnap
|
|
26
|
+
|
|
27
|
+
Use `camsnap` to grab snapshots, clips, or motion events from configured cameras.
|
|
28
|
+
|
|
29
|
+
Setup
|
|
30
|
+
|
|
31
|
+
- Config file: `~/.config/camsnap/config.yaml`
|
|
32
|
+
- Add camera: `camsnap add --name kitchen --host 192.168.0.10 --user user --pass pass`
|
|
33
|
+
|
|
34
|
+
Common commands
|
|
35
|
+
|
|
36
|
+
- Discover: `camsnap discover --info`
|
|
37
|
+
- Snapshot: `camsnap snap kitchen --out shot.jpg`
|
|
38
|
+
- Clip: `camsnap clip kitchen --dur 5s --out clip.mp4`
|
|
39
|
+
- Motion watch: `camsnap watch kitchen --threshold 0.2 --action '...'`
|
|
40
|
+
- Doctor: `camsnap doctor --probe`
|
|
41
|
+
|
|
42
|
+
Notes
|
|
43
|
+
|
|
44
|
+
- Requires `ffmpeg` on PATH.
|
|
45
|
+
- Prefer a short test capture before longer clips.
|