Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
704955248b | ||
|
|
5899f93a0a | ||
|
|
0e4c6d5faa | ||
|
|
15b8fc95ff | ||
|
|
4307856790 | ||
|
|
acfe37f0c0 | ||
|
|
8db3616687 | ||
|
|
5be5c34fd6 |
No files matched your search
@@ -159,7 +159,7 @@
|
|||||||
auto_accept="--noconfirm"
|
auto_accept="--noconfirm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo pacman -Syu $auto_accept ||
|
sudo pacman -Syu $auto_accept --overwrite '/usr/lib/node_modules/*' ||
|
||||||
return 1
|
return 1
|
||||||
echo -e "\n"
|
echo -e "\n"
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,9 @@
|
|||||||
runit_script_dir: /etc/runit/sv
|
runit_script_dir: /etc/runit/sv
|
||||||
runit_service_dir: /etc/runit/runsvdir/default
|
runit_service_dir: /etc/runit/runsvdir/default
|
||||||
runit_service_script: run
|
runit_service_script: run
|
||||||
|
runit_log_dir: log
|
||||||
|
global_log: /var/log
|
||||||
|
global_log_config: config
|
||||||
|
|
||||||
- name: General | Facts | System | Global 02
|
- name: General | Facts | System | Global 02
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
@@ -21,6 +24,7 @@
|
|||||||
lynis_install_dir: "{{ global_src }}/lynis"
|
lynis_install_dir: "{{ global_src }}/lynis"
|
||||||
dwm_install_dir: "{{ global_src }}/dwm"
|
dwm_install_dir: "{{ global_src }}/dwm"
|
||||||
st_install_dir: "{{ global_src }}/st"
|
st_install_dir: "{{ global_src }}/st"
|
||||||
|
runit_log_script: "{{ runit_service_script }}"
|
||||||
|
|
||||||
- name: General | Facts | System | Global 03
|
- name: General | Facts | System | Global 03
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
|
|||||||
@@ -0,0 +1,91 @@
|
|||||||
|
schema_version = 3
|
||||||
|
|
||||||
|
[providers]
|
||||||
|
|
||||||
|
[providers.models]
|
||||||
|
|
||||||
|
[providers.models.ollama]
|
||||||
|
|
||||||
|
[providers.models.ollama.default]
|
||||||
|
model = "qwen3.5:4b"
|
||||||
|
|
||||||
|
[risk_profiles]
|
||||||
|
|
||||||
|
[risk_profiles.locked_down]
|
||||||
|
allowed_commands = ["git", "npm", "cargo", "ls", "cat", "grep", "find", "echo", "pwd", "wc", "head", "tail", "date", "df", "du", "uname", "uptime", "hostname", "python", "python3", "pip", "node", "free"]
|
||||||
|
block_high_risk_commands = true
|
||||||
|
forbidden_paths = ["/etc", "/root", "/home", "/usr", "/bin", "/sbin", "/lib", "/opt", "/boot", "/dev", "/proc", "/sys", "/var", "/tmp", "~/.ssh", "~/.gnupg", "~/.aws", "~/.config"]
|
||||||
|
level = "supervised"
|
||||||
|
require_approval_for_medium_risk = true
|
||||||
|
sandbox_enabled = true
|
||||||
|
workspace_only = true
|
||||||
|
|
||||||
|
[runtime_profiles.unbounded]
|
||||||
|
agentic = true
|
||||||
|
agentic_timeout_secs = 1800
|
||||||
|
compact_context = false
|
||||||
|
delegation_timeout_secs = 900
|
||||||
|
keep_tool_context_turns = 8
|
||||||
|
max_actions_per_hour = 4294967295
|
||||||
|
max_context_tokens = 128000
|
||||||
|
max_cost_per_day_cents = 4294967295
|
||||||
|
max_delegation_depth = 8
|
||||||
|
max_history_messages = 200
|
||||||
|
max_system_prompt_chars = 64000
|
||||||
|
max_tool_iterations = 100
|
||||||
|
max_tool_result_chars = 64000
|
||||||
|
memory_recall_limit = 10
|
||||||
|
parallel_tools = true
|
||||||
|
shell_timeout_secs = 600
|
||||||
|
strict_tool_parsing = false
|
||||||
|
|
||||||
|
[risk_profiles.locked_down.delegation_policy]
|
||||||
|
mode = "forbidden"
|
||||||
|
|
||||||
|
[agents]
|
||||||
|
|
||||||
|
[agents.codebot]
|
||||||
|
model_provider = "ollama.default"
|
||||||
|
runtime_profile = "unbounded"
|
||||||
|
risk_profile = "locked_down"
|
||||||
|
|
||||||
|
[memory]
|
||||||
|
backend = "none"
|
||||||
|
|
||||||
|
[onboard_state]
|
||||||
|
quickstart_completed = true
|
||||||
|
|
||||||
|
[runtime_profiles]
|
||||||
|
|
||||||
|
[runtime_profiles.unbounded.context_compression]
|
||||||
|
enabled = false
|
||||||
|
identifier_policy = "strict"
|
||||||
|
max_passes = 3
|
||||||
|
protect_first_n = 3
|
||||||
|
protect_last_n = 4
|
||||||
|
source_max_chars = 50000
|
||||||
|
summary_max_chars = 4000
|
||||||
|
threshold_ratio = 0.5
|
||||||
|
timeout_secs = 60
|
||||||
|
tool_result_retrim_chars = 2000
|
||||||
|
|
||||||
|
[runtime_profiles.unbounded.eval]
|
||||||
|
enabled = false
|
||||||
|
max_retries = 1
|
||||||
|
min_quality_score = 0.5
|
||||||
|
|
||||||
|
[runtime_profiles.unbounded.history_pruning]
|
||||||
|
collapse_tool_results = true
|
||||||
|
enabled = false
|
||||||
|
keep_recent = 4
|
||||||
|
max_tokens = 8192
|
||||||
|
|
||||||
|
[runtime_profiles.unbounded.thinking]
|
||||||
|
default_level = "medium"
|
||||||
|
display = "off"
|
||||||
|
native_thinking = false
|
||||||
|
|
||||||
|
[runtime_profiles.unbounded.tool_receipts]
|
||||||
|
enabled = false
|
||||||
|
inject_system_prompt = true
|
||||||
|
show_in_response = false
|
||||||
@@ -89,11 +89,21 @@
|
|||||||
- name: Main | General Setup
|
- name: Main | General Setup
|
||||||
block:
|
block:
|
||||||
|
|
||||||
- ansible.builtin.include_tasks: tasks/general/software/swap.yml
|
- name: Main | General Setup | Swap
|
||||||
- ansible.builtin.include_tasks: tasks/general/software/packages.yml
|
ansible.builtin.include_tasks: tasks/general/software/swap.yml
|
||||||
|
|
||||||
|
- name: Main | General Setup | runit
|
||||||
|
ansible.builtin.include_tasks: tasks/general/software/runit.yml
|
||||||
|
|
||||||
|
- name: Main | General Setup | Packages
|
||||||
|
ansible.builtin.include_tasks: tasks/general/software/packages.yml
|
||||||
when: internet
|
when: internet
|
||||||
- ansible.builtin.include_tasks: tasks/general/software/services.yml
|
|
||||||
- ansible.builtin.include_tasks: tasks/general/software/sendmail.yml
|
- name: Main | General Setup | Services
|
||||||
|
ansible.builtin.include_tasks: tasks/general/software/services.yml
|
||||||
|
|
||||||
|
- name: Main | General Setup | Sendmail
|
||||||
|
ansible.builtin.include_tasks: tasks/general/software/sendmail.yml
|
||||||
when: ansible_system == "FreeBSD"
|
when: ansible_system == "FreeBSD"
|
||||||
and internet
|
and internet
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
# 20261006 Hyperling
|
||||||
|
|
||||||
|
# Allow ansible.builtin.service to be used on Artix similar to Devuan.
|
||||||
|
- name: General | Software | runit | Fix Artix
|
||||||
|
block:
|
||||||
|
|
||||||
|
- name: General | Software | runit | Fix Artix | Script Dir
|
||||||
|
ansible.builtin.file:
|
||||||
|
src: /etc/runit/sv
|
||||||
|
dest: /etc/sv
|
||||||
|
state: link
|
||||||
|
force: true
|
||||||
|
|
||||||
|
- name: General | Software | runit | Fix Artix | Service Dir
|
||||||
|
ansible.builtin.file:
|
||||||
|
src: /etc/runit/runsvdir/default
|
||||||
|
dest: /var/service
|
||||||
|
state: link
|
||||||
|
force: true
|
||||||
|
|
||||||
|
when: ansible_service_mgr == "runit"
|
||||||
|
and ansible_pkg_mgr == "pacman"
|
||||||
@@ -353,7 +353,7 @@
|
|||||||
|
|
||||||
# Report the currently installed packages.
|
# Report the currently installed packages.
|
||||||
- name: Workstation | Linux | Software | Android | Report Modules
|
- name: Workstation | Linux | Software | Android | Report Modules
|
||||||
ansible.builtin.shell: "{{ android_sdkmanager2_list }} > {{ android_report_file }}"
|
ansible.builtin.shell: "{{ android_sdkmanager2_list }} --all > {{ android_report_file }}"
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ user }}"
|
become_user: "{{ user }}"
|
||||||
register: shell_check
|
register: shell_check
|
||||||
|
|||||||
@@ -44,12 +44,23 @@
|
|||||||
- name: Workstation | Linux | Software | ZeroClaw | Facts 02
|
- name: Workstation | Linux | Software | ZeroClaw | Facts 02
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
ollama_runit_dir: "{{ runit_script_dir }}/{{ ollama }}"
|
ollama_runit_dir: "{{ runit_script_dir }}/{{ ollama }}"
|
||||||
|
ollama_runit_log_dest: "{{ global_log }}/{{ ollama }}"
|
||||||
zeroclaw_runit_dir: "{{ runit_script_dir }}/{{ zeroclaw }}"
|
zeroclaw_runit_dir: "{{ runit_script_dir }}/{{ zeroclaw }}"
|
||||||
|
zeroclaw_runit_log_dest: "{{ global_log }}/{{ zeroclaw }}"
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | Facts 03
|
- name: Workstation | Linux | Software | ZeroClaw | Facts 03
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
ollama_runit_start: "{{ ollama_runit_dir }}/{{ runit_service_script }}"
|
ollama_runit_start: "{{ ollama_runit_dir }}/{{ runit_service_script }}"
|
||||||
zeroclaw_runit_start: "{{ zeroclaw_runit_dir }}{{ runit_service_script }}"
|
ollama_runit_log_dir: "{{ ollama_runit_dir }}/{{ runit_log_dir }}"
|
||||||
|
ollama_runit_log_config: "{{ ollama_runit_log_dest }}/{{ global_log_config }}"
|
||||||
|
zeroclaw_runit_start: "{{ zeroclaw_runit_dir }}/{{ runit_service_script }}"
|
||||||
|
zeroclaw_runit_log_dir: "{{ zeroclaw_runit_dir }}/{{ runit_log_dir }}"
|
||||||
|
zeroclaw_runit_log_config: "{{ zeroclaw_runit_log_dest }}/{{ global_log_config }}"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | ZeroClaw | Facts 04
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
ollama_runit_log_start: "{{ ollama_runit_log_dir }}/{{ runit_log_script }}"
|
||||||
|
zeroclaw_runit_log_start: "{{ zeroclaw_runit_log_dir }}/{{ runit_log_script }}"
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | Install
|
- name: Workstation | Linux | Software | ZeroClaw | Install
|
||||||
ansible.builtin.package:
|
ansible.builtin.package:
|
||||||
@@ -59,13 +70,14 @@
|
|||||||
- "{{ zerocode }}"
|
- "{{ zerocode }}"
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | Script [runit]
|
- name: Workstation | Linux | Software | ZeroClaw | ollama | runit | Script
|
||||||
ansible.builtin.shell: "{{ item }}"
|
ansible.builtin.shell: "{{ item }}"
|
||||||
loop:
|
loop:
|
||||||
- "mkdir -p {{ ollama_runit_dir }}"
|
- "mkdir -p {{ ollama_runit_dir }}"
|
||||||
- "echo '#!/bin/sh -e' > {{ ollama_runit_start }}"
|
- "echo '#!/bin/sh -e' > {{ ollama_runit_start }}"
|
||||||
- "echo '# Allow pulling LLMs for use with ZeroClaw.'>> {{ ollama_runit_start }}"
|
- "echo '# Allow pulling LLMs for use with ZeroClaw.' >> {{ ollama_runit_start }}"
|
||||||
- "echo 'exec 2>&1' >> {{ ollama_runit_start }}"
|
- "echo 'exec 2>&1' >> {{ ollama_runit_start }}"
|
||||||
|
- "echo 'export HOME={{ user_user.home}}' >> {{ ollama_runit_start }}"
|
||||||
- "echo 'export OLLAMA_MAX_LOADED_MODELS=1' >> {{ ollama_runit_start }}"
|
- "echo 'export OLLAMA_MAX_LOADED_MODELS=1' >> {{ ollama_runit_start }}"
|
||||||
- "echo 'exec chpst -u {{ user }} ollama serve' >> {{ ollama_runit_start }}"
|
- "echo 'exec chpst -u {{ user }} ollama serve' >> {{ ollama_runit_start }}"
|
||||||
- "chmod +x {{ ollama_runit_start }}"
|
- "chmod +x {{ ollama_runit_start }}"
|
||||||
@@ -73,13 +85,44 @@
|
|||||||
changed_when: shell_check.rc == 0
|
changed_when: shell_check.rc == 0
|
||||||
when: ansible_service_mgr == "runit"
|
when: ansible_service_mgr == "runit"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | ZeroClaw | ollama | runit | Log | Script
|
||||||
|
ansible.builtin.shell: "{{ item }}"
|
||||||
|
loop:
|
||||||
|
- "mkdir -p {{ ollama_runit_log_dir }}"
|
||||||
|
- "echo '#!/bin/sh -e' > {{ ollama_runit_log_start }}"
|
||||||
|
- "echo 'exec svlogd -tt {{ ollama_runit_log_dest }}' >> {{ ollama_runit_log_start }}"
|
||||||
|
- "chmod +x {{ ollama_runit_log_start }}"
|
||||||
|
register: shell_check
|
||||||
|
changed_when: shell_check.rc == 0
|
||||||
|
when: ansible_service_mgr == "runit"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | ZeroClaw | ollama | runit | Log | Config
|
||||||
|
ansible.builtin.shell: "{{ item }}"
|
||||||
|
loop:
|
||||||
|
- "mkdir -p {{ ollama_runit_log_dest }}"
|
||||||
|
- "echo 's10000000 # rotate at 10 MB' > {{ ollama_runit_log_config }}"
|
||||||
|
- "echo 'n5 # keep 5 old files' >> {{ ollama_runit_log_config }}"
|
||||||
|
register: shell_check
|
||||||
|
changed_when: shell_check.rc == 0
|
||||||
|
when: ansible_service_mgr == "runit"
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | ollama | Enable
|
- name: Workstation | Linux | Software | ZeroClaw | ollama | Enable
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: "{{ ollama }}"
|
name: "{{ ollama }}"
|
||||||
state: started
|
state: started
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | Models | Install
|
- name: Workstation | Linux | Software | ZeroClaw | ollama | Wait
|
||||||
|
ansible.builtin.uri:
|
||||||
|
url: http://127.0.0.1:11434/api/version
|
||||||
|
status_code: 200
|
||||||
|
timeout: 5
|
||||||
|
register: health
|
||||||
|
until: health.status == 200
|
||||||
|
retries: 12
|
||||||
|
delay: 5
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | ZeroClaw | ollama | Models | Install
|
||||||
ansible.builtin.shell: |
|
ansible.builtin.shell: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
item='{{ item }}'
|
item='{{ item }}'
|
||||||
@@ -87,7 +130,7 @@
|
|||||||
echo "OKAY" &&
|
echo "OKAY" &&
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
ollama pull $item &&
|
ollama pull $item 1>/dev/null &&
|
||||||
echo "INSTALLED" &&
|
echo "INSTALLED" &&
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@@ -99,7 +142,7 @@
|
|||||||
become: true
|
become: true
|
||||||
become_user: "{{ user }}"
|
become_user: "{{ user }}"
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | Models | Remove
|
- name: Workstation | Linux | Software | ZeroClaw | ollama | Models | Remove
|
||||||
ansible.builtin.shell: |
|
ansible.builtin.shell: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
item='{{ item }}'
|
item='{{ item }}'
|
||||||
@@ -119,13 +162,14 @@
|
|||||||
become: true
|
become: true
|
||||||
become_user: "{{ user }}"
|
become_user: "{{ user }}"
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | Config
|
- name: Workstation | Linux | Software | ZeroClaw | zeroclaw | Config
|
||||||
ansible.builtin.debug:
|
ansible.builtin.copy:
|
||||||
msg: TBD
|
src: files/settings/zeroclaw.config.toml
|
||||||
### ~/.zeroclaw/config.toml`
|
dest: "{{ user_user.home }}/.zeroclaw/config.toml"
|
||||||
### `default_provider = "ollama"` pointing at `http://127.0.0.1:11434`
|
owner: "{{ user }}"
|
||||||
|
mode: "0644"
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | ZeroClaw | Test
|
- name: Workstation | Linux | Software | ZeroClaw | zeroclaw | Test
|
||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: TBD
|
msg: TBD
|
||||||
### zeroclaw agent -m "Hello!" # quick test
|
### zeroclaw agent -m "Hello!" # quick test
|
||||||
|
|||||||
Reference in new issue
Block a user