-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenclaw.plugin.json
More file actions
161 lines (161 loc) · 4.86 KB
/
openclaw.plugin.json
File metadata and controls
161 lines (161 loc) · 4.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
{
"id": "aceforge",
"name": "AceForge",
"description": "Self-evolving skill engine \u2014 detects patterns, crystallizes skills, manages lifecycle, proactive intelligence, self-validation",
"version": "0.9.6",
"openclaw": {
"extensions": [
"./index.ts"
]
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"crystallizationThreshold": {
"type": "number",
"default": 3,
"description": "Minimum tool recurrences before crystallization (escalates to 5 at 20+ skills)"
},
"successRateMinimum": {
"type": "number",
"default": 0.7,
"description": "Minimum success rate for skill proposals"
},
"retirementDays": {
"type": "number",
"default": 30,
"description": "Days of zero activations before a skill is flagged for retirement"
},
"notificationChannel": {
"type": "string",
"default": "auto",
"description": "Notification channel: telegram, slack, log, or auto (auto-detect)"
},
"digestMode": {
"type": "boolean",
"default": false,
"description": "Queue notifications during analysis and send as a single digest message"
},
"dryRun": {
"type": "boolean",
"default": false,
"description": "Observation-only mode: log what would be proposed without writing skills to disk"
}
}
},
"hooks": [
"after_tool_call",
"llm_output",
"agent_end",
"before_prompt_build"
],
"tools": [
"forge",
"forge_reflect",
"forge_propose",
"forge_approve_skill",
"forge_reject_skill",
"forge_quality",
"forge_registry",
"forge_rewards",
"forge_tree",
"forge_gaps"
],
"commands": [
"/forge"
],
"services": [
"aceforge-startup"
],
"capabilities": {
"executesCode": false,
"readsConfig": true,
"writesWorkspace": true,
"networkAccess": "optional",
"description": "Reads openclaw.json for notification channel config. Writes to ~/.openclaw/workspace/.forge/ (trace data, proposals) and ~/.openclaw/workspace/skills/ (deployed skills). Optional outbound network: LLM API endpoints for skill generation/review, Telegram/Slack for notifications."
},
"envVars": {
"optional": [
{
"name": "ACEFORGE_GENERATOR_PROVIDER",
"description": "LLM provider for skill generation (default: minimax)"
},
{
"name": "ACEFORGE_GENERATOR_API_KEY",
"description": "API key for generator LLM"
},
{
"name": "ACEFORGE_GENERATOR_MODEL",
"description": "Model name for generator"
},
{
"name": "ACEFORGE_GENERATOR_URL",
"description": "Base URL for generator endpoint"
},
{
"name": "ACEFORGE_REVIEWER_PROVIDER",
"description": "LLM provider for skill review (default: deepseek)"
},
{
"name": "ACEFORGE_REVIEWER_API_KEY",
"description": "API key for reviewer LLM"
},
{
"name": "ACEFORGE_REVIEWER_MODEL",
"description": "Model name for reviewer"
},
{
"name": "ACEFORGE_REVIEWER_URL",
"description": "Base URL for reviewer endpoint"
},
{
"name": "ACEFORGE_NOTIFICATION_CHANNEL",
"description": "Force notification channel: telegram, slack, or log"
},
{
"name": "ACEFORGE_TELEGRAM_BOT_TOKEN",
"description": "Telegram bot token for notifications"
},
{
"name": "ACEFORGE_OWNER_CHAT_ID",
"description": "Telegram chat ID for notifications"
},
{
"name": "ACEFORGE_SLACK_WEBHOOK_URL",
"description": "Slack webhook URL for notifications"
},
{
"name": "ACEFORGE_VIKING_URL",
"description": "OpenViking URL for context-enriched challenges"
},
{
"name": "ACEFORGE_DRY_RUN",
"description": "Observation-only mode \u2014 log proposals without writing to disk"
},
{
"name": "ACEFORGE_SHARED_SKILLS",
"description": "Also deploy approved skills to ~/.openclaw/skills/ for multi-agent sharing"
},
{
"name": "ACEFORGE_NOTIFY_DIGEST",
"description": "Queue notifications during analysis and send as single digest"
}
]
},
"configPaths": [
"~/.openclaw/openclaw.json",
"~/.openclaw/workspace/.forge/",
"~/.openclaw/workspace/skills/"
],
"networkEndpoints": {
"description": "All outbound network is optional and user-configured. No hardcoded endpoints.",
"optional": [
"User-configured LLM API endpoint (generator)",
"User-configured LLM API endpoint (reviewer)",
"Telegram Bot API (if notification channel is telegram)",
"Slack Webhook (if notification channel is slack)",
"OpenViking (if configured for challenge generation)"
]
}
}