-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenclaw.plugin.json
More file actions
109 lines (109 loc) · 6.43 KB
/
openclaw.plugin.json
File metadata and controls
109 lines (109 loc) · 6.43 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
{
"id": "openclaw-linear",
"name": "Linear Agent",
"description": "Linear integration with OAuth support, agent pipeline, and webhook-driven AI agent lifecycle",
"version": "0.8.2",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"clientId": { "type": "string", "description": "Linear OAuth Client ID" },
"clientSecret": { "type": "string", "description": "Linear OAuth Client Secret", "sensitive": true },
"redirectUri": { "type": "string", "description": "Linear OAuth Redirect URI (optional, defaults to gateway URL)" },
"accessToken": { "type": "string", "description": "Linear API access token for agent activities", "sensitive": true },
"defaultAgentId": { "type": "string", "description": "OpenClaw agent ID to use for pipeline stages" },
"enableAudit": { "type": "boolean", "description": "Run auditor stage after implementation", "default": true },
"codexBaseRepo": { "type": "string", "description": "Path to git repo for Codex worktrees", "default": "/home/claw/ai-workspace" },
"enableOrchestration": { "type": "boolean", "description": "Allow agents to spawn sub-agents via spawn_agent/ask_agent tools", "default": true },
"worktreeBaseDir": { "type": "string", "description": "Base directory for persistent git worktrees (default: ~/.openclaw/worktrees)" },
"repos": {
"type": "object",
"description": "Multi-repo map — each key is a repo name, value is a path string or object with path + GitHub identity",
"additionalProperties": {
"oneOf": [
{ "type": "string", "description": "Filesystem path (backward compat)" },
{
"type": "object",
"required": ["path"],
"properties": {
"path": { "type": "string", "description": "Absolute filesystem path to git repo" },
"github": { "type": "string", "description": "GitHub owner/repo (e.g. 'calltelemetry/cisco-cdr')" },
"hostname": { "type": "string", "description": "Git host (default: 'github.com')", "default": "github.com" }
}
}
]
}
},
"teamMappings": {
"type": "object",
"description": "Map Linear team keys to repos, agents, and team-specific context",
"additionalProperties": {
"type": "object",
"properties": {
"repos": {
"type": "array",
"items": { "type": "string" },
"description": "Repo names (keys in 'repos' config) for this team"
},
"defaultAgent": {
"type": "string",
"description": "OpenClaw agent ID to handle issues from this team"
},
"context": {
"type": "string",
"description": "Extra context injected into worker/audit prompts for this team"
}
}
}
},
"dispatchStatePath": { "type": "string", "description": "Path to dispatch state JSON file (default: ~/.openclaw/linear-dispatch-state.json)" },
"planningStatePath": { "type": "string", "description": "Path to planning state JSON file (default: ~/.openclaw/linear-planning-state.json)" },
"notifications": {
"type": "object",
"description": "Dispatch lifecycle notification config — fan-out to any combination of channels",
"properties": {
"targets": {
"type": "array",
"description": "Notification targets — each routes to an OpenClaw channel",
"items": {
"type": "object",
"required": ["channel", "target"],
"properties": {
"channel": { "type": "string", "description": "OpenClaw channel name: discord, slack, telegram, signal, etc." },
"target": { "type": "string", "description": "Channel/group/user ID to send to" },
"accountId": { "type": "string", "description": "Account ID for multi-account channel setups (optional)" }
}
}
},
"events": {
"type": "object",
"description": "Per-event-type toggles (all default true, set false to suppress)",
"properties": {
"dispatch": { "type": "boolean" },
"working": { "type": "boolean" },
"auditing": { "type": "boolean" },
"audit_pass": { "type": "boolean" },
"audit_fail": { "type": "boolean" },
"escalation": { "type": "boolean" },
"stuck": { "type": "boolean" },
"watchdog_kill": { "type": "boolean" }
}
},
"richFormat": { "type": "boolean", "description": "Send rich embeds (Discord) and HTML (Telegram) instead of plain text", "default": false }
}
},
"promptsPath": { "type": "string", "description": "Override path for prompts.yaml (default: ships with plugin)" },
"maxReworkAttempts": { "type": "number", "description": "Max audit failures before escalation", "default": 2 },
"inactivitySec": { "type": "number", "description": "Kill sessions with no I/O for this many seconds (default: 120)", "default": 120 },
"maxTotalSec": { "type": "number", "description": "Max total runtime for agent sessions in seconds (default: 7200)", "default": 7200 },
"toolTimeoutSec": { "type": "number", "description": "Max runtime for a single code_run CLI invocation in seconds (default: 600)", "default": 600 },
"claudeApiKey": { "type": "string", "description": "Anthropic API key for Claude CLI backend (passed as ANTHROPIC_API_KEY env var)", "sensitive": true },
"enableGuidance": { "type": "boolean", "description": "Inject Linear workspace/team guidance into agent prompts (default: true)", "default": true },
"teamGuidanceOverrides": { "type": "object", "description": "Per-team guidance toggle. Key = Linear team ID, value = boolean. Unset teams inherit enableGuidance.", "additionalProperties": { "type": "boolean" } },
"enableTmux": { "type": "boolean", "default": true, "description": "Enable tmux wrapping for code_run CLI backends (enables steering)" },
"enableRetro": { "type": "boolean", "default": true, "description": "Enable post-task retrospective analysis" },
"retroDir": { "type": "string", "description": "Override path for coding retrospective files (default: {stateDir}/shared/coding)" }
}
}
}