@redigg/redigg 0.1.0

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.
Files changed (322) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/agent/ResearchAgent.d.ts +35 -0
  4. package/dist/agent/ResearchAgent.js +818 -0
  5. package/dist/agent/ResearchAgent.js.map +1 -0
  6. package/dist/agent/subagent/SubAgent.d.ts +23 -0
  7. package/dist/agent/subagent/SubAgent.js +87 -0
  8. package/dist/agent/subagent/SubAgent.js.map +1 -0
  9. package/dist/agent/subagent/SubAgentManager.d.ts +19 -0
  10. package/dist/agent/subagent/SubAgentManager.js +40 -0
  11. package/dist/agent/subagent/SubAgentManager.js.map +1 -0
  12. package/dist/bin.d.ts +2 -0
  13. package/dist/bin.js +34 -0
  14. package/dist/bin.js.map +1 -0
  15. package/dist/cli.d.ts +1 -0
  16. package/dist/cli.js +179 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/events/EventManager.d.ts +39 -0
  19. package/dist/events/EventManager.js +20 -0
  20. package/dist/events/EventManager.js.map +1 -0
  21. package/dist/gateway/index.d.ts +9 -0
  22. package/dist/gateway/index.js +474 -0
  23. package/dist/gateway/index.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.js +97 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/llm/LLMClient.d.ts +30 -0
  28. package/dist/llm/LLMClient.js +21 -0
  29. package/dist/llm/LLMClient.js.map +1 -0
  30. package/dist/llm/OpenAIClient.d.ts +16 -0
  31. package/dist/llm/OpenAIClient.js +58 -0
  32. package/dist/llm/OpenAIClient.js.map +1 -0
  33. package/dist/memory/MemoryManager.d.ts +41 -0
  34. package/dist/memory/MemoryManager.js +221 -0
  35. package/dist/memory/MemoryManager.js.map +1 -0
  36. package/dist/memory/evolution/MemoryEvolutionSystem.d.ts +17 -0
  37. package/dist/memory/evolution/MemoryEvolutionSystem.js +71 -0
  38. package/dist/memory/evolution/MemoryEvolutionSystem.js.map +1 -0
  39. package/dist/memory/search/BM25Search.d.ts +22 -0
  40. package/dist/memory/search/BM25Search.js +61 -0
  41. package/dist/memory/search/BM25Search.js.map +1 -0
  42. package/dist/memory/structure/PageIndex.d.ts +26 -0
  43. package/dist/memory/structure/PageIndex.js +156 -0
  44. package/dist/memory/structure/PageIndex.js.map +1 -0
  45. package/dist/quality/QualityManager.d.ts +12 -0
  46. package/dist/quality/QualityManager.js +61 -0
  47. package/dist/quality/QualityManager.js.map +1 -0
  48. package/dist/scheduling/CronManager.d.ts +21 -0
  49. package/dist/scheduling/CronManager.js +66 -0
  50. package/dist/scheduling/CronManager.js.map +1 -0
  51. package/dist/session/SessionManager.d.ts +37 -0
  52. package/dist/session/SessionManager.js +238 -0
  53. package/dist/session/SessionManager.js.map +1 -0
  54. package/dist/skills/SkillManager.d.ts +31 -0
  55. package/dist/skills/SkillManager.js +254 -0
  56. package/dist/skills/SkillManager.js.map +1 -0
  57. package/dist/skills/agent/PACK.md +13 -0
  58. package/dist/skills/agent/agent-orchestration/SKILL.md +37 -0
  59. package/dist/skills/agent/agent-orchestration/index.d.ts +9 -0
  60. package/dist/skills/agent/agent-orchestration/index.js +70 -0
  61. package/dist/skills/agent/agent-orchestration/index.js.map +1 -0
  62. package/dist/skills/agent/evolution/SKILL.md +25 -0
  63. package/dist/skills/agent/evolution/index.d.ts +9 -0
  64. package/dist/skills/agent/evolution/index.js +57 -0
  65. package/dist/skills/agent/evolution/index.js.map +1 -0
  66. package/dist/skills/agent/heartbeat/index.d.ts +8 -0
  67. package/dist/skills/agent/heartbeat/index.js +44 -0
  68. package/dist/skills/agent/heartbeat/index.js.map +1 -0
  69. package/dist/skills/agent/memory-management/SKILL.md +40 -0
  70. package/dist/skills/agent/memory-management/index.d.ts +8 -0
  71. package/dist/skills/agent/memory-management/index.js +44 -0
  72. package/dist/skills/agent/memory-management/index.js.map +1 -0
  73. package/dist/skills/agent/scheduling/SKILL.md +33 -0
  74. package/dist/skills/agent/scheduling/index.d.ts +13 -0
  75. package/dist/skills/agent/scheduling/index.js +80 -0
  76. package/dist/skills/agent/scheduling/index.js.map +1 -0
  77. package/dist/skills/agent/session-management/SKILL.md +35 -0
  78. package/dist/skills/agent/session-management/index.d.ts +11 -0
  79. package/dist/skills/agent/session-management/index.js +54 -0
  80. package/dist/skills/agent/session-management/index.js.map +1 -0
  81. package/dist/skills/agent/skill-management/SKILL.md +31 -0
  82. package/dist/skills/agent/skill-management/index.d.ts +8 -0
  83. package/dist/skills/agent/skill-management/index.js +25 -0
  84. package/dist/skills/agent/skill-management/index.js.map +1 -0
  85. package/dist/skills/evolution/SkillEvolutionSystem.d.ts +12 -0
  86. package/dist/skills/evolution/SkillEvolutionSystem.js +157 -0
  87. package/dist/skills/evolution/SkillEvolutionSystem.js.map +1 -0
  88. package/dist/skills/lib/ScholarTool.d.ts +14 -0
  89. package/dist/skills/lib/ScholarTool.js +71 -0
  90. package/dist/skills/lib/ScholarTool.js.map +1 -0
  91. package/dist/skills/research/PACK.md +7 -0
  92. package/dist/skills/research/academic-survey-self-improve/SKILL.md +17 -0
  93. package/dist/skills/research/academic-survey-self-improve/index.d.ts +10 -0
  94. package/dist/skills/research/academic-survey-self-improve/index.js +75 -0
  95. package/dist/skills/research/academic-survey-self-improve/index.js.map +1 -0
  96. package/dist/skills/research/concept-explainer/SKILL.md +3 -0
  97. package/dist/skills/research/concept-explainer/index.d.ts +8 -0
  98. package/dist/skills/research/concept-explainer/index.js +37 -0
  99. package/dist/skills/research/concept-explainer/index.js.map +1 -0
  100. package/dist/skills/research/literature-review/SKILL.md +25 -0
  101. package/dist/skills/research/literature-review/index.d.ts +9 -0
  102. package/dist/skills/research/literature-review/index.js +132 -0
  103. package/dist/skills/research/literature-review/index.js.map +1 -0
  104. package/dist/skills/research/paper-analysis/SKILL.md +3 -0
  105. package/dist/skills/research/paper-analysis/index.d.ts +9 -0
  106. package/dist/skills/research/paper-analysis/index.js +64 -0
  107. package/dist/skills/research/paper-analysis/index.js.map +1 -0
  108. package/dist/skills/research/pdf-generator/SKILL.md +16 -0
  109. package/dist/skills/research/pdf-generator/index.d.ts +10 -0
  110. package/dist/skills/research/pdf-generator/index.js +88 -0
  111. package/dist/skills/research/pdf-generator/index.js.map +1 -0
  112. package/dist/skills/system/PACK.md +8 -0
  113. package/dist/skills/system/code-analysis/SKILL.md +43 -0
  114. package/dist/skills/system/code-analysis/index.d.ts +12 -0
  115. package/dist/skills/system/code-analysis/index.js +172 -0
  116. package/dist/skills/system/code-analysis/index.js.map +1 -0
  117. package/dist/skills/system/local-file-ops/SKILL.md +55 -0
  118. package/dist/skills/system/local-file-ops/index.d.ts +9 -0
  119. package/dist/skills/system/local-file-ops/index.js +111 -0
  120. package/dist/skills/system/local-file-ops/index.js.map +1 -0
  121. package/dist/skills/types.d.ts +41 -0
  122. package/dist/skills/types.js +2 -0
  123. package/dist/skills/types.js.map +1 -0
  124. package/dist/skills/vendor/PACK.md +11 -0
  125. package/dist/skills/vendor/agent-browser/CONTRIBUTING.md +63 -0
  126. package/dist/skills/vendor/agent-browser/SKILL.md +328 -0
  127. package/dist/skills/vendor/find-skills/SKILL.md +133 -0
  128. package/dist/skills/vendor/proactive-agent/SKILL-v2.3-backup.md +554 -0
  129. package/dist/skills/vendor/proactive-agent/SKILL-v3-draft.md +499 -0
  130. package/dist/skills/vendor/proactive-agent/SKILL.md +632 -0
  131. package/dist/skills/vendor/proactive-agent/assets/AGENTS.md +155 -0
  132. package/dist/skills/vendor/proactive-agent/assets/HEARTBEAT.md +128 -0
  133. package/dist/skills/vendor/proactive-agent/assets/MEMORY.md +47 -0
  134. package/dist/skills/vendor/proactive-agent/assets/ONBOARDING.md +103 -0
  135. package/dist/skills/vendor/proactive-agent/assets/SOUL.md +40 -0
  136. package/dist/skills/vendor/proactive-agent/assets/TOOLS.md +55 -0
  137. package/dist/skills/vendor/proactive-agent/assets/USER.md +36 -0
  138. package/dist/skills/vendor/proactive-agent/references/onboarding-flow.md +158 -0
  139. package/dist/skills/vendor/proactive-agent/references/security-patterns.md +109 -0
  140. package/dist/skills/vendor/searxng/CHANGELOG.md +38 -0
  141. package/dist/skills/vendor/searxng/PUBLISH.md +147 -0
  142. package/dist/skills/vendor/searxng/PUBLISHING_CHECKLIST.md +111 -0
  143. package/dist/skills/vendor/searxng/README.md +168 -0
  144. package/dist/skills/vendor/searxng/SKILL.md +69 -0
  145. package/dist/skills/vendor/self-improving-agent/.learnings/ERRORS.md +5 -0
  146. package/dist/skills/vendor/self-improving-agent/.learnings/FEATURE_REQUESTS.md +5 -0
  147. package/dist/skills/vendor/self-improving-agent/.learnings/LEARNINGS.md +5 -0
  148. package/dist/skills/vendor/self-improving-agent/SKILL.md +647 -0
  149. package/dist/skills/vendor/self-improving-agent/assets/LEARNINGS.md +45 -0
  150. package/dist/skills/vendor/self-improving-agent/assets/SKILL-TEMPLATE.md +177 -0
  151. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/HOOK.md +23 -0
  152. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/handler.d.ts +9 -0
  153. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/handler.js +54 -0
  154. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/handler.js.map +1 -0
  155. package/dist/skills/vendor/self-improving-agent/references/examples.md +374 -0
  156. package/dist/skills/vendor/self-improving-agent/references/hooks-setup.md +223 -0
  157. package/dist/skills/vendor/self-improving-agent/references/openclaw-integration.md +248 -0
  158. package/dist/skills/vendor/skill-vetter/SKILL.md +138 -0
  159. package/dist/src/agent/ResearchAgent.d.ts +35 -0
  160. package/dist/src/agent/ResearchAgent.js +818 -0
  161. package/dist/src/agent/ResearchAgent.js.map +1 -0
  162. package/dist/src/agent/subagent/SubAgent.d.ts +23 -0
  163. package/dist/src/agent/subagent/SubAgent.js +87 -0
  164. package/dist/src/agent/subagent/SubAgent.js.map +1 -0
  165. package/dist/src/agent/subagent/SubAgentManager.d.ts +19 -0
  166. package/dist/src/agent/subagent/SubAgentManager.js +40 -0
  167. package/dist/src/agent/subagent/SubAgentManager.js.map +1 -0
  168. package/dist/src/bin.d.ts +2 -0
  169. package/dist/src/bin.js +34 -0
  170. package/dist/src/bin.js.map +1 -0
  171. package/dist/src/cli.d.ts +1 -0
  172. package/dist/src/cli.js +179 -0
  173. package/dist/src/cli.js.map +1 -0
  174. package/dist/src/events/EventManager.d.ts +39 -0
  175. package/dist/src/events/EventManager.js +20 -0
  176. package/dist/src/events/EventManager.js.map +1 -0
  177. package/dist/src/gateway/index.d.ts +9 -0
  178. package/dist/src/gateway/index.js +474 -0
  179. package/dist/src/gateway/index.js.map +1 -0
  180. package/dist/src/index.d.ts +3 -0
  181. package/dist/src/index.js +105 -0
  182. package/dist/src/index.js.map +1 -0
  183. package/dist/src/llm/LLMClient.d.ts +30 -0
  184. package/dist/src/llm/LLMClient.js +21 -0
  185. package/dist/src/llm/LLMClient.js.map +1 -0
  186. package/dist/src/llm/OpenAIClient.d.ts +16 -0
  187. package/dist/src/llm/OpenAIClient.js +58 -0
  188. package/dist/src/llm/OpenAIClient.js.map +1 -0
  189. package/dist/src/memory/MemoryManager.d.ts +41 -0
  190. package/dist/src/memory/MemoryManager.js +221 -0
  191. package/dist/src/memory/MemoryManager.js.map +1 -0
  192. package/dist/src/memory/evolution/MemoryEvolutionSystem.d.ts +17 -0
  193. package/dist/src/memory/evolution/MemoryEvolutionSystem.js +71 -0
  194. package/dist/src/memory/evolution/MemoryEvolutionSystem.js.map +1 -0
  195. package/dist/src/memory/search/BM25Search.d.ts +22 -0
  196. package/dist/src/memory/search/BM25Search.js +61 -0
  197. package/dist/src/memory/search/BM25Search.js.map +1 -0
  198. package/dist/src/memory/structure/PageIndex.d.ts +26 -0
  199. package/dist/src/memory/structure/PageIndex.js +156 -0
  200. package/dist/src/memory/structure/PageIndex.js.map +1 -0
  201. package/dist/src/quality/QualityManager.d.ts +12 -0
  202. package/dist/src/quality/QualityManager.js +61 -0
  203. package/dist/src/quality/QualityManager.js.map +1 -0
  204. package/dist/src/scheduling/CronManager.d.ts +21 -0
  205. package/dist/src/scheduling/CronManager.js +66 -0
  206. package/dist/src/scheduling/CronManager.js.map +1 -0
  207. package/dist/src/session/SessionManager.d.ts +37 -0
  208. package/dist/src/session/SessionManager.js +238 -0
  209. package/dist/src/session/SessionManager.js.map +1 -0
  210. package/dist/src/skills/SkillManager.d.ts +33 -0
  211. package/dist/src/skills/SkillManager.js +260 -0
  212. package/dist/src/skills/SkillManager.js.map +1 -0
  213. package/dist/src/skills/evolution/SkillEvolutionSystem.d.ts +12 -0
  214. package/dist/src/skills/evolution/SkillEvolutionSystem.js +157 -0
  215. package/dist/src/skills/evolution/SkillEvolutionSystem.js.map +1 -0
  216. package/dist/src/skills/lib/ScholarTool.d.ts +14 -0
  217. package/dist/src/skills/lib/ScholarTool.js +71 -0
  218. package/dist/src/skills/lib/ScholarTool.js.map +1 -0
  219. package/dist/src/skills/types.d.ts +41 -0
  220. package/dist/src/skills/types.js +2 -0
  221. package/dist/src/skills/types.js.map +1 -0
  222. package/dist/src/storage/sqlite.d.ts +8 -0
  223. package/dist/src/storage/sqlite.js +73 -0
  224. package/dist/src/storage/sqlite.js.map +1 -0
  225. package/dist/src/utils/logger.d.ts +12 -0
  226. package/dist/src/utils/logger.js +53 -0
  227. package/dist/src/utils/logger.js.map +1 -0
  228. package/dist/storage/sqlite.d.ts +8 -0
  229. package/dist/storage/sqlite.js +73 -0
  230. package/dist/storage/sqlite.js.map +1 -0
  231. package/dist/utils/logger.d.ts +12 -0
  232. package/dist/utils/logger.js +53 -0
  233. package/dist/utils/logger.js.map +1 -0
  234. package/package.json +71 -0
  235. package/skills/agent/PACK.md +13 -0
  236. package/skills/agent/agent-orchestration/SKILL.md +37 -0
  237. package/skills/agent/agent-orchestration/index.ts +84 -0
  238. package/skills/agent/evolution/SKILL.md +25 -0
  239. package/skills/agent/evolution/index.ts +67 -0
  240. package/skills/agent/heartbeat/index.ts +48 -0
  241. package/skills/agent/memory-management/SKILL.md +40 -0
  242. package/skills/agent/memory-management/index.ts +48 -0
  243. package/skills/agent/scheduling/SKILL.md +33 -0
  244. package/skills/agent/scheduling/index.ts +97 -0
  245. package/skills/agent/session-management/SKILL.md +35 -0
  246. package/skills/agent/session-management/index.ts +65 -0
  247. package/skills/agent/skill-management/SKILL.md +31 -0
  248. package/skills/agent/skill-management/index.ts +32 -0
  249. package/skills/research/PACK.md +7 -0
  250. package/skills/research/academic-survey-self-improve/SKILL.md +17 -0
  251. package/skills/research/academic-survey-self-improve/index.ts +87 -0
  252. package/skills/research/concept-explainer/SKILL.md +3 -0
  253. package/skills/research/concept-explainer/index.ts +42 -0
  254. package/skills/research/literature-review/SKILL.md +25 -0
  255. package/skills/research/literature-review/index.ts +168 -0
  256. package/skills/research/paper-analysis/SKILL.md +3 -0
  257. package/skills/research/paper-analysis/index.ts +73 -0
  258. package/skills/research/pdf-generator/SKILL.md +16 -0
  259. package/skills/research/pdf-generator/index.d.ts +10 -0
  260. package/skills/research/pdf-generator/index.js +114 -0
  261. package/skills/research/pdf-generator/index.js.map +1 -0
  262. package/skills/research/pdf-generator/index.ts +97 -0
  263. package/skills/system/PACK.md +8 -0
  264. package/skills/system/code-analysis/SKILL.md +43 -0
  265. package/skills/system/code-analysis/index.ts +180 -0
  266. package/skills/system/local-file-ops/SKILL.md +55 -0
  267. package/skills/system/local-file-ops/index.ts +123 -0
  268. package/skills/vendor/PACK.md +11 -0
  269. package/skills/vendor/agent-browser/.clawhub/origin.json +7 -0
  270. package/skills/vendor/agent-browser/CONTRIBUTING.md +63 -0
  271. package/skills/vendor/agent-browser/SKILL.md +328 -0
  272. package/skills/vendor/agent-browser/_meta.json +6 -0
  273. package/skills/vendor/find-skills/.clawhub/origin.json +7 -0
  274. package/skills/vendor/find-skills/SKILL.md +133 -0
  275. package/skills/vendor/find-skills/_meta.json +6 -0
  276. package/skills/vendor/proactive-agent/.clawhub/origin.json +7 -0
  277. package/skills/vendor/proactive-agent/SKILL-v2.3-backup.md +554 -0
  278. package/skills/vendor/proactive-agent/SKILL-v3-draft.md +499 -0
  279. package/skills/vendor/proactive-agent/SKILL.md +632 -0
  280. package/skills/vendor/proactive-agent/_meta.json +6 -0
  281. package/skills/vendor/proactive-agent/assets/AGENTS.md +155 -0
  282. package/skills/vendor/proactive-agent/assets/HEARTBEAT.md +128 -0
  283. package/skills/vendor/proactive-agent/assets/MEMORY.md +47 -0
  284. package/skills/vendor/proactive-agent/assets/ONBOARDING.md +103 -0
  285. package/skills/vendor/proactive-agent/assets/SOUL.md +40 -0
  286. package/skills/vendor/proactive-agent/assets/TOOLS.md +55 -0
  287. package/skills/vendor/proactive-agent/assets/USER.md +36 -0
  288. package/skills/vendor/proactive-agent/references/onboarding-flow.md +158 -0
  289. package/skills/vendor/proactive-agent/references/security-patterns.md +109 -0
  290. package/skills/vendor/proactive-agent/scripts/security-audit.sh +149 -0
  291. package/skills/vendor/searxng/.clawdhub/origin.json +7 -0
  292. package/skills/vendor/searxng/CHANGELOG.md +38 -0
  293. package/skills/vendor/searxng/PUBLISH.md +147 -0
  294. package/skills/vendor/searxng/PUBLISHING_CHECKLIST.md +111 -0
  295. package/skills/vendor/searxng/README.md +168 -0
  296. package/skills/vendor/searxng/SKILL.md +69 -0
  297. package/skills/vendor/searxng/_meta.json +6 -0
  298. package/skills/vendor/searxng/config/settings.yml +36 -0
  299. package/skills/vendor/searxng/run-searxng.sh +48 -0
  300. package/skills/vendor/searxng/scripts/searxng.py +211 -0
  301. package/skills/vendor/self-improving-agent/.clawhub/origin.json +7 -0
  302. package/skills/vendor/self-improving-agent/.learnings/ERRORS.md +5 -0
  303. package/skills/vendor/self-improving-agent/.learnings/FEATURE_REQUESTS.md +5 -0
  304. package/skills/vendor/self-improving-agent/.learnings/LEARNINGS.md +5 -0
  305. package/skills/vendor/self-improving-agent/SKILL.md +647 -0
  306. package/skills/vendor/self-improving-agent/_meta.json +6 -0
  307. package/skills/vendor/self-improving-agent/assets/LEARNINGS.md +45 -0
  308. package/skills/vendor/self-improving-agent/assets/SKILL-TEMPLATE.md +177 -0
  309. package/skills/vendor/self-improving-agent/hooks/openclaw/HOOK.md +23 -0
  310. package/skills/vendor/self-improving-agent/hooks/openclaw/handler.js +56 -0
  311. package/skills/vendor/self-improving-agent/hooks/openclaw/handler.ts +62 -0
  312. package/skills/vendor/self-improving-agent/references/examples.md +374 -0
  313. package/skills/vendor/self-improving-agent/references/hooks-setup.md +223 -0
  314. package/skills/vendor/self-improving-agent/references/openclaw-integration.md +248 -0
  315. package/skills/vendor/self-improving-agent/scripts/activator.sh +20 -0
  316. package/skills/vendor/self-improving-agent/scripts/error-detector.sh +55 -0
  317. package/skills/vendor/self-improving-agent/scripts/extract-skill.sh +221 -0
  318. package/skills/vendor/skill-vetter/.clawhub/origin.json +7 -0
  319. package/skills/vendor/skill-vetter/SKILL.md +138 -0
  320. package/skills/vendor/skill-vetter/_meta.json +6 -0
  321. package/web/README.md +73 -0
  322. package/web/package.json +65 -0
@@ -0,0 +1,111 @@
1
+ # ClawdHub Publishing Checklist
2
+
3
+ ## ✅ Pre-Publication Checklist
4
+
5
+ ### Required Files
6
+ - [x] `SKILL.md` - Skill definition with metadata
7
+ - [x] `README.md` - Comprehensive documentation
8
+ - [x] `LICENSE` - MIT License
9
+ - [x] `CHANGELOG.md` - Version history
10
+ - [x] `scripts/searxng.py` - Main implementation
11
+ - [x] `.clawdhub/metadata.json` - ClawdHub metadata
12
+
13
+ ### SKILL.md Requirements
14
+ - [x] `name` field
15
+ - [x] `description` field
16
+ - [x] `author` field
17
+ - [x] `version` field
18
+ - [x] `homepage` field
19
+ - [x] `triggers` keywords (optional but recommended)
20
+ - [x] `metadata` with emoji and requirements
21
+
22
+ ### Code Quality
23
+ - [x] Script executes successfully
24
+ - [x] Error handling implemented
25
+ - [x] Dependencies documented (inline PEP 723)
26
+ - [x] Help text / usage instructions
27
+ - [x] Clean, readable code
28
+
29
+ ### Documentation
30
+ - [x] Clear description of what it does
31
+ - [x] Prerequisites listed
32
+ - [x] Installation instructions
33
+ - [x] Usage examples (CLI + conversational)
34
+ - [x] Configuration options
35
+ - [x] Troubleshooting section
36
+ - [x] Feature list
37
+
38
+ ### Testing
39
+ - [x] Tested with target system (SearXNG)
40
+ - [x] Basic search works
41
+ - [x] Category search works
42
+ - [x] JSON output works
43
+ - [x] Error cases handled gracefully
44
+ - [ ] Tested on different SearXNG instances (optional)
45
+ - [ ] Tested with authenticated SearXNG (optional)
46
+
47
+ ### Metadata
48
+ - [x] Version number follows semver
49
+ - [x] Author attribution
50
+ - [x] License specified
51
+ - [x] Tags/keywords for discovery
52
+ - [x] Prerequisites documented
53
+
54
+ ## ⚠️ Optional Improvements
55
+
56
+ ### Nice to Have (not blocking)
57
+ - [ ] CI/CD for automated testing
58
+ - [ ] Multiple example configurations
59
+ - [ ] Screenshot/demo GIF
60
+ - [ ] Video demonstration
61
+ - [ ] Integration tests
62
+ - [ ] Authentication support (for private instances)
63
+ - [ ] Config file support (beyond env vars)
64
+ - [ ] Auto-discovery of local SearXNG instances
65
+
66
+ ### Future Enhancements
67
+ - [ ] Result caching
68
+ - [ ] Search history
69
+ - [ ] Favorite searches
70
+ - [ ] Custom result templates
71
+ - [ ] Export results to various formats
72
+ - [ ] Integration with other Clawdbot skills
73
+
74
+ ## 🚀 Publishing Steps
75
+
76
+ 1. **Review all files** - Make sure everything is polished
77
+ 2. **Test one more time** - Fresh installation test
78
+ 3. **Version bump if needed** - Update SKILL.md, metadata.json, CHANGELOG.md
79
+ 4. **Git commit** - Clean commit message
80
+ 5. **Submit to ClawdHub** - Follow ClawdHub submission process
81
+ 6. **Monitor feedback** - Be ready to address issues
82
+
83
+ ## 📝 Current Status
84
+
85
+ **Ready for publication:** ✅ YES
86
+
87
+ **Confidence level:** High
88
+
89
+ **Known limitations:**
90
+ - Requires a running SearXNG instance (clearly documented)
91
+ - SSL verification disabled for self-signed certs (by design)
92
+ - No authentication support yet (acceptable for v1.0.0)
93
+
94
+ **Recommended for:** Users who:
95
+ - Value privacy
96
+ - Run their own SearXNG instance
97
+ - Want to avoid commercial search APIs
98
+ - Need local/offline search capability
99
+
100
+ ## 🎯 Next Steps
101
+
102
+ 1. **Publish to ClawdHub** - Skill is ready!
103
+ 2. **Gather user feedback** - Real-world usage
104
+ 3. **Plan v1.1.0** - Authentication support, more features
105
+ 4. **Community contributions** - Accept PRs for improvements
106
+
107
+ ---
108
+
109
+ **Assessment:** This skill is publication-ready! 🎉
110
+
111
+ All critical requirements are met, documentation is excellent, and the code works reliably.
@@ -0,0 +1,168 @@
1
+ # SearXNG Search Skill for Clawdbot
2
+
3
+ Privacy-respecting web search using your local SearXNG instance.
4
+
5
+ ## Prerequisites
6
+
7
+ **This skill requires a running SearXNG instance.**
8
+
9
+ If you don't have SearXNG set up yet:
10
+
11
+ 1. **Docker (easiest)**:
12
+ ```bash
13
+ docker run -d -p 8080:8080 searxng/searxng
14
+ ```
15
+
16
+ 2. **Manual installation**: Follow the [official guide](https://docs.searxng.org/admin/installation.html)
17
+
18
+ 3. **Public instances**: Use any public SearXNG instance (less private)
19
+
20
+ ## Features
21
+
22
+ - 🔒 **Privacy-focused**: Uses your local SearXNG instance
23
+ - 🌐 **Multi-engine**: Aggregates results from multiple search engines
24
+ - 📰 **Multiple categories**: Web, images, news, videos, and more
25
+ - 🎨 **Rich output**: Beautiful table formatting with result snippets
26
+ - 🚀 **Fast JSON mode**: Programmatic access for scripts and integrations
27
+
28
+ ## Quick Start
29
+
30
+ ### Basic Search
31
+ ```
32
+ Search "python asyncio tutorial"
33
+ ```
34
+
35
+ ### Advanced Usage
36
+ ```
37
+ Search "climate change" with 20 results
38
+ Search "cute cats" in images category
39
+ Search "breaking news" in news category from last day
40
+ ```
41
+
42
+ ## Configuration
43
+
44
+ **You must configure your SearXNG instance URL before using this skill.**
45
+
46
+ ### Set Your SearXNG Instance
47
+
48
+ Configure the `SEARXNG_URL` environment variable in your Clawdbot config:
49
+
50
+ ```json
51
+ {
52
+ "env": {
53
+ "SEARXNG_URL": "https://your-searxng-instance.com"
54
+ }
55
+ }
56
+ ```
57
+
58
+ Or export it in your shell:
59
+ ```bash
60
+ export SEARXNG_URL=https://your-searxng-instance.com
61
+ ```
62
+
63
+ ## Direct CLI Usage
64
+
65
+ You can also use the skill directly from the command line:
66
+
67
+ ```bash
68
+ # Basic search
69
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "query"
70
+
71
+ # More results
72
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "query" -n 20
73
+
74
+ # Category search
75
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "query" --category images
76
+
77
+ # JSON output (for scripts)
78
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "query" --format json
79
+
80
+ # Time-filtered news
81
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "latest AI news" --category news --time-range day
82
+ ```
83
+
84
+ ## Available Categories
85
+
86
+ - `general` - General web search (default)
87
+ - `images` - Image search
88
+ - `videos` - Video search
89
+ - `news` - News articles
90
+ - `map` - Maps and locations
91
+ - `music` - Music and audio
92
+ - `files` - File downloads
93
+ - `it` - IT and programming
94
+ - `science` - Scientific papers and resources
95
+
96
+ ## Time Ranges
97
+
98
+ Filter results by recency:
99
+ - `day` - Last 24 hours
100
+ - `week` - Last 7 days
101
+ - `month` - Last 30 days
102
+ - `year` - Last year
103
+
104
+ ## Examples
105
+
106
+ ### Web Search
107
+ ```bash
108
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "rust programming language"
109
+ ```
110
+
111
+ ### Image Search
112
+ ```bash
113
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "sunset photography" --category images -n 10
114
+ ```
115
+
116
+ ### Recent News
117
+ ```bash
118
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "tech news" --category news --time-range day
119
+ ```
120
+
121
+ ### JSON Output for Scripts
122
+ ```bash
123
+ uv run ~/clawd/skills/searxng/scripts/searxng.py search "python tips" --format json | jq '.results[0]'
124
+ ```
125
+
126
+ ## SSL/TLS Notes
127
+
128
+ The skill is configured to work with self-signed certificates (common for local SearXNG instances). If you need strict SSL verification, edit the script and change `verify=False` to `verify=True` in the httpx request.
129
+
130
+ ## Troubleshooting
131
+
132
+ ### Connection Issues
133
+
134
+ If you get connection errors:
135
+
136
+ 1. **Check your SearXNG instance is running:**
137
+ ```bash
138
+ curl -k $SEARXNG_URL
139
+ # Or: curl -k http://localhost:8080 (default)
140
+ ```
141
+
142
+ 2. **Verify the URL in your config**
143
+ 3. **Check SSL certificate issues**
144
+
145
+ ### No Results
146
+
147
+ If searches return no results:
148
+
149
+ 1. Check your SearXNG instance configuration
150
+ 2. Ensure search engines are enabled in SearXNG settings
151
+ 3. Try different search categories
152
+
153
+ ## Privacy Benefits
154
+
155
+ - **No tracking**: All searches go through your local instance
156
+ - **No data collection**: Results are aggregated locally
157
+ - **Engine diversity**: Combines results from multiple search providers
158
+ - **Full control**: You manage the SearXNG instance
159
+
160
+ ## About SearXNG
161
+
162
+ SearXNG is a free, open-source metasearch engine that respects your privacy. It aggregates results from multiple search engines while not storing your search data.
163
+
164
+ Learn more: https://docs.searxng.org/
165
+
166
+ ## License
167
+
168
+ This skill is part of the Clawdbot ecosystem and follows the same license terms.
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: searxng
3
+ description: Privacy-respecting metasearch using your local SearXNG instance. Search the web, images, news, and more without external API dependencies.
4
+ author: Avinash Venkatswamy
5
+ version: 1.0.1
6
+ homepage: https://searxng.org
7
+ triggers:
8
+ - "search for"
9
+ - "search web"
10
+ - "find information"
11
+ - "look up"
12
+ metadata: {"clawdbot":{"emoji":"🔍","requires":{"bins":["python3"]},"config":{"env":{"SEARXNG_URL":{"description":"SearXNG instance URL","default":"http://localhost:8080","required":true}}}}}
13
+ ---
14
+
15
+ # SearXNG Search
16
+
17
+ Search the web using your local SearXNG instance - a privacy-respecting metasearch engine.
18
+
19
+ ## Commands
20
+
21
+ ### Web Search
22
+ ```bash
23
+ uv run {baseDir}/scripts/searxng.py search "query" # Top 10 results
24
+ uv run {baseDir}/scripts/searxng.py search "query" -n 20 # Top 20 results
25
+ uv run {baseDir}/scripts/searxng.py search "query" --format json # JSON output
26
+ ```
27
+
28
+ ### Category Search
29
+ ```bash
30
+ uv run {baseDir}/scripts/searxng.py search "query" --category images
31
+ uv run {baseDir}/scripts/searxng.py search "query" --category videos
32
+ ```
33
+
34
+ ### Advanced Options
35
+ ```bash
36
+ uv run {baseDir}/scripts/searxng.py search "query" --language en
37
+ uv run {baseDir}/scripts/searxng.py search "query" --time-range day
38
+ ```
39
+
40
+ ## Configuration
41
+
42
+ **Required:** Set the `SEARXNG_URL` environment variable to your SearXNG instance:
43
+
44
+ ```bash
45
+ export SEARXNG_URL=https://your-searxng-instance.com
46
+ ```
47
+
48
+ Or configure in your Clawdbot config:
49
+ ```json
50
+ {
51
+ "env": {
52
+ "SEARXNG_URL": "https://your-searxng-instance.com"
53
+ }
54
+ }
55
+ ```
56
+
57
+ Default (if not set): `http://localhost:8080`
58
+
59
+ ## Features
60
+
61
+ - 🔒 Privacy-focused (uses your local instance)
62
+ - 🌐 Multi-engine aggregation
63
+ - 📰 Multiple search categories
64
+ - 🎨 Rich formatted output
65
+ - 🚀 Fast JSON mode for programmatic use
66
+
67
+ ## API
68
+
69
+ Uses your local SearXNG JSON API endpoint (no authentication required by default).
@@ -0,0 +1,6 @@
1
+ {
2
+ "ownerId": "kn76z88c7kaynewbq2n2cv8831801bfs",
3
+ "slug": "searxng",
4
+ "version": "1.0.3",
5
+ "publishedAt": 1769472992634
6
+ }
@@ -0,0 +1,36 @@
1
+ # Minimal SearXNG configuration with JSON API and Bing enabled
2
+ # See https://docs.searxng.org/admin/settings/settings.html
3
+
4
+ use_default_settings: true
5
+
6
+ search:
7
+ # Enable JSON format for API access
8
+ formats:
9
+ - html
10
+ - json
11
+
12
+ server:
13
+ # CHANGE THIS in production!
14
+ secret_key: "temporary-key-please-change-me"
15
+ bind_address: "0.0.0.0"
16
+ port: 8080
17
+ limiter: false # Disable rate limiting for local use
18
+ public_instance: false
19
+
20
+ # Enable Bing search engine (critical for Chinese queries)
21
+ engines:
22
+ - name: bing
23
+ engine: bing
24
+ shortcut: bi
25
+ disabled: false
26
+ # Add user-agent to reduce timeout issues
27
+ headers:
28
+ User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
29
+
30
+ # Optional: Enable other engines for redundancy
31
+ # - name: duckduckgo
32
+ # engine: duckduckgo
33
+ # disabled: false
34
+ # - name: brave
35
+ # engine: brave
36
+ # disabled: false
@@ -0,0 +1,48 @@
1
+ #!/bin/sh
2
+
3
+
4
+ docker stop searxng || true
5
+ docker rm searxng || true
6
+ mkdir ./config || true
7
+
8
+ cat > config/settings.yml << EOF
9
+ # Minimal SearXNG configuration with JSON API and Bing enabled
10
+ # See https://docs.searxng.org/admin/settings/settings.html
11
+
12
+ use_default_settings: true
13
+
14
+ search:
15
+ # Enable JSON format for API access
16
+ formats:
17
+ - html
18
+ - json
19
+
20
+ server:
21
+ # CHANGE THIS in production!
22
+ secret_key: "temporary-key-please-change-me"
23
+ bind_address: "0.0.0.0"
24
+ port: 8080
25
+ limiter: false # Disable rate limiting for local use
26
+ public_instance: false
27
+
28
+ # Enable Bing search engine (critical for Chinese queries)
29
+ engines:
30
+ - name: bing
31
+ engine: bing
32
+ shortcut: bi
33
+ disabled: false
34
+ # Add user-agent to reduce timeout issues
35
+ headers:
36
+ User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
37
+
38
+ # Optional: Enable other engines for redundancy
39
+ # - name: duckduckgo
40
+ # engine: duckduckgo
41
+ # disabled: false
42
+ # - name: brave
43
+ # engine: brave
44
+ # disabled: false
45
+ EOF
46
+
47
+
48
+ docker run --restart always --network host --name searxng -d -e GRANIAN_HOST=127.0.0.1 -v "./config/:/etc/searxng:Z" searxng/searxng:latest
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env python3
2
+ # /// script
3
+ # requires-python = ">=3.11"
4
+ # dependencies = ["httpx", "rich"]
5
+ # ///
6
+ """SearXNG CLI - Privacy-respecting metasearch via your local instance."""
7
+
8
+ import argparse
9
+ import os
10
+ import sys
11
+ import json
12
+ import warnings
13
+ import httpx
14
+ from rich.console import Console
15
+ from rich.table import Table
16
+ from rich import print as rprint
17
+ from urllib.parse import urlencode
18
+
19
+ # Suppress SSL warnings for local self-signed certificates
20
+ warnings.filterwarnings('ignore', message='Unverified HTTPS request')
21
+
22
+ console = Console()
23
+ SEARXNG_URL = os.getenv("SEARXNG_URL", "http://localhost:8080")
24
+
25
+ def search_searxng(
26
+ query: str,
27
+ limit: int = 10,
28
+ category: str = "general",
29
+ language: str = "auto",
30
+ time_range: str = None,
31
+ output_format: str = "table"
32
+ ) -> dict:
33
+ """
34
+ Search using SearXNG instance.
35
+
36
+ Args:
37
+ query: Search query string
38
+ limit: Number of results to return
39
+ category: Search category (general, images, news, videos, etc.)
40
+ language: Language code (auto, en, de, fr, etc.)
41
+ time_range: Time range filter (day, week, month, year)
42
+ output_format: Output format (table, json)
43
+
44
+ Returns:
45
+ Dict with search results
46
+ """
47
+ params = {
48
+ "q": query,
49
+ "format": "json",
50
+ "categories": category,
51
+ }
52
+
53
+ if language != "auto":
54
+ params["language"] = language
55
+
56
+ if time_range:
57
+ params["time_range"] = time_range
58
+
59
+ try:
60
+ # Disable SSL verification for local self-signed certs
61
+ response = httpx.get(
62
+ f"{SEARXNG_URL}/search",
63
+ params=params,
64
+ timeout=30,
65
+ verify=False # For local self-signed certs
66
+ )
67
+ response.raise_for_status()
68
+
69
+ data = response.json()
70
+
71
+ # Limit results
72
+ if "results" in data:
73
+ data["results"] = data["results"][:limit]
74
+
75
+ return data
76
+
77
+ except httpx.HTTPError as e:
78
+ console.print(f"[red]Error connecting to SearXNG:[/red] {e}", file=sys.stderr)
79
+ return {"error": str(e), "results": []}
80
+ except Exception as e:
81
+ console.print(f"[red]Unexpected error:[/red] {e}", file=sys.stderr)
82
+ return {"error": str(e), "results": []}
83
+
84
+
85
+ def display_results_table(data: dict, query: str):
86
+ """Display search results in a rich table."""
87
+ results = data.get("results", [])
88
+
89
+ if not results:
90
+ rprint(f"[yellow]No results found for:[/yellow] {query}")
91
+ return
92
+
93
+ table = Table(title=f"SearXNG Search: {query}", show_lines=False)
94
+ table.add_column("#", style="dim", width=3)
95
+ table.add_column("Title", style="bold")
96
+ table.add_column("URL", style="blue", width=50)
97
+ table.add_column("Engines", style="green", width=20)
98
+
99
+ for i, result in enumerate(results, 1):
100
+ title = result.get("title", "No title")[:70]
101
+ url = result.get("url", "")[:45] + "..."
102
+ engines = ", ".join(result.get("engines", []))[:18]
103
+
104
+ table.add_row(
105
+ str(i),
106
+ title,
107
+ url,
108
+ engines
109
+ )
110
+
111
+ console.print(table)
112
+
113
+ # Show additional info
114
+ if data.get("number_of_results"):
115
+ rprint(f"\n[dim]Total results available: {data['number_of_results']}[/dim]")
116
+
117
+ # Show content snippets for top 3
118
+ rprint("\n[bold]Top results:[/bold]")
119
+ for i, result in enumerate(results[:3], 1):
120
+ title = result.get("title", "No title")
121
+ url = result.get("url", "")
122
+ content = result.get("content", "")[:200]
123
+
124
+ rprint(f"\n[bold cyan]{i}. {title}[/bold cyan]")
125
+ rprint(f" [blue]{url}[/blue]")
126
+ if content:
127
+ rprint(f" [dim]{content}...[/dim]")
128
+
129
+
130
+ def display_results_json(data: dict):
131
+ """Display results in JSON format for programmatic use."""
132
+ print(json.dumps(data, indent=2))
133
+
134
+
135
+ def main():
136
+ parser = argparse.ArgumentParser(
137
+ description="SearXNG CLI - Search the web via your local SearXNG instance",
138
+ formatter_class=argparse.RawDescriptionHelpFormatter,
139
+ epilog=f"""
140
+ Examples:
141
+ %(prog)s search "python asyncio"
142
+ %(prog)s search "climate change" -n 20
143
+ %(prog)s search "cute cats" --category images
144
+ %(prog)s search "breaking news" --category news --time-range day
145
+ %(prog)s search "rust tutorial" --format json
146
+
147
+ Environment:
148
+ SEARXNG_URL: SearXNG instance URL (default: {SEARXNG_URL})
149
+ """
150
+ )
151
+
152
+ subparsers = parser.add_subparsers(dest="command", help="Commands")
153
+
154
+ # Search command
155
+ search_parser = subparsers.add_parser("search", help="Search the web")
156
+ search_parser.add_argument("query", nargs="+", help="Search query")
157
+ search_parser.add_argument(
158
+ "-n", "--limit",
159
+ type=int,
160
+ default=10,
161
+ help="Number of results (default: 10)"
162
+ )
163
+ search_parser.add_argument(
164
+ "-c", "--category",
165
+ default="general",
166
+ choices=["general", "images", "videos", "news", "map", "music", "files", "it", "science"],
167
+ help="Search category (default: general)"
168
+ )
169
+ search_parser.add_argument(
170
+ "-l", "--language",
171
+ default="auto",
172
+ help="Language code (auto, en, de, fr, etc.)"
173
+ )
174
+ search_parser.add_argument(
175
+ "-t", "--time-range",
176
+ choices=["day", "week", "month", "year"],
177
+ help="Time range filter"
178
+ )
179
+ search_parser.add_argument(
180
+ "-f", "--format",
181
+ choices=["table", "json"],
182
+ default="table",
183
+ help="Output format (default: table)"
184
+ )
185
+
186
+ args = parser.parse_args()
187
+
188
+ if not args.command:
189
+ parser.print_help()
190
+ return
191
+
192
+ if args.command == "search":
193
+ query = " ".join(args.query)
194
+
195
+ data = search_searxng(
196
+ query=query,
197
+ limit=args.limit,
198
+ category=args.category,
199
+ language=args.language,
200
+ time_range=args.time_range,
201
+ output_format=args.format
202
+ )
203
+
204
+ if args.format == "json":
205
+ display_results_json(data)
206
+ else:
207
+ display_results_table(data, query)
208
+
209
+
210
+ if __name__ == "__main__":
211
+ main()
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 1,
3
+ "registry": "https://clawhub.ai",
4
+ "slug": "self-improving-agent",
5
+ "installedVersion": "1.0.11",
6
+ "installedAt": 1772701278821
7
+ }
@@ -0,0 +1,5 @@
1
+ # Errors Log
2
+
3
+ Command failures, exceptions, and unexpected behaviors.
4
+
5
+ ---
@@ -0,0 +1,5 @@
1
+ # Feature Requests
2
+
3
+ Capabilities requested by user that don't currently exist.
4
+
5
+ ---
@@ -0,0 +1,5 @@
1
+ # Learnings Log
2
+
3
+ Captured learnings, corrections, and discoveries. Review before major tasks.
4
+
5
+ ---