Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
H
hermes-node-agent
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lisa
hermes-node-agent
Commits
d3e11d8d
Commit
d3e11d8d
authored
May 01, 2026
by
Lisa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GUI: individual capability checkboxes in ConfigEditor (exec, browser_control, computer_control)
parent
31e0f15d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
0 deletions
+37
-0
agent-manager.py
windows/agent-manager.py
+37
-0
No files found.
windows/agent-manager.py
View file @
d3e11d8d
...
...
@@ -145,6 +145,20 @@ class ConfigEditor(wx.Frame):
self
.
heartbeat
=
wx
.
TextCtrl
(
self
.
panel
,
value
=
"30"
)
grid
.
Add
(
self
.
heartbeat
,
1
,
wx
.
EXPAND
)
# Capabilities
cap_sizer
=
wx
.
BoxSizer
(
wx
.
HORIZONTAL
)
self
.
cb_exec
=
wx
.
CheckBox
(
self
.
panel
,
label
=
"exec"
)
self
.
cb_exec
.
SetValue
(
True
)
self
.
cb_browser
=
wx
.
CheckBox
(
self
.
panel
,
label
=
"browser_control"
)
self
.
cb_computer
=
wx
.
CheckBox
(
self
.
panel
,
label
=
"computer_control"
)
label_txt
=
wx
.
StaticText
(
self
.
panel
,
label
=
"Capabilities:"
)
cap_sizer
.
Add
(
label_txt
,
0
,
wx
.
ALIGN_CENTER_VERTICAL
|
wx
.
RIGHT
,
10
)
cap_sizer
.
Add
(
self
.
cb_exec
,
0
,
wx
.
RIGHT
,
10
)
cap_sizer
.
Add
(
self
.
cb_browser
,
0
,
wx
.
RIGHT
,
10
)
cap_sizer
.
Add
(
self
.
cb_computer
,
0
)
self
.
sizer
.
Add
(
cap_sizer
,
0
,
wx
.
ALL
|
wx
.
EXPAND
,
15
)
grid
.
AddGrowableCol
(
1
,
1
)
self
.
sizer
.
Add
(
grid
,
0
,
wx
.
ALL
|
wx
.
EXPAND
,
15
)
...
...
@@ -171,6 +185,28 @@ class ConfigEditor(wx.Frame):
self
.
sexec_path
.
SetValue
(
cfg
.
get
(
'sexec_path'
,
str
(
Path
.
home
()
/
'.openclaw'
/
'skills'
/
'sexec'
/
'sexec.ps1'
)))
self
.
reconnect
.
SetValue
(
str
(
cfg
.
get
(
'reconnect_interval'
,
5
)))
self
.
heartbeat
.
SetValue
(
str
(
cfg
.
get
(
'heartbeat_interval'
,
30
)))
# Capabilities checkboxes
caps
=
cfg
.
get
(
'capabilities'
,
[
'exec'
])
self
.
cb_exec
.
SetValue
(
'exec'
in
caps
)
self
.
cb_browser
.
SetValue
(
'browser_control'
in
caps
)
self
.
cb_computer
.
SetValue
(
'computer_control'
in
caps
)
# Load capabilities
caps
=
cfg
.
get
(
'capabilities'
,
[
'exec'
])
self
.
cb_exec
.
SetValue
(
'exec'
in
caps
)
self
.
cb_browser
.
SetValue
(
'browser_control'
in
caps
)
self
.
cb_computer
.
SetValue
(
'computer_control'
in
caps
)
def
_get_capabilities
(
self
)
->
list
:
"""Collect capabilities from checkboxes."""
caps
=
[]
if
self
.
cb_exec
.
GetValue
():
caps
.
append
(
'exec'
)
if
self
.
cb_browser
.
GetValue
():
caps
.
append
(
'browser_control'
)
if
self
.
cb_computer
.
GetValue
():
caps
.
append
(
'computer_control'
)
return
caps
def
on_save
(
self
,
event
):
cfg
=
{
...
...
@@ -180,6 +216,7 @@ class ConfigEditor(wx.Frame):
'sexec_path'
:
self
.
sexec_path
.
GetValue
(),
'reconnect_interval'
:
int
(
self
.
reconnect
.
GetValue
()),
'heartbeat_interval'
:
int
(
self
.
heartbeat
.
GetValue
()),
'capabilities'
:
self
.
_get_capabilities
(),
}
if
not
cfg
[
'gateway_url'
]
or
not
cfg
[
'token'
]:
wx
.
MessageBox
(
"Gateway URL and Token are required"
,
"Error"
,
wx
.
OK
|
wx
.
ICON_ERROR
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment