feat: Hermit 1.1.0 — HERMIT_* env, Tauri desktop shell
ci / tcc-check (push) Failing after 42s
ci / linux (aarch64, 0) (push) Skipped
ci / linux (x86, 1) (push) Skipped
ci / linux (x86_64, 1) (push) Skipped
ci / windows (push) Skipped

Wire hermit_getenv across the engine, rebrand WebUI/systemd/docs, and
add apps/desktop (Tauri 2 + React) with a DeepSeek-Harness-like UI.
Qt app/ is frozen; full libcstcore FFI is scaffolded behind --features engine.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
WHC
2026-10-30 13:15:47 +08:00
co-authored by Cursor
parent 15c6c4a02a
commit ea38247161
71 changed files with 15336 additions and 143 deletions
+6 -4
View File
@@ -106,7 +106,9 @@ cmd="\${1:-status}"
case "\$cmd" in
status)
"\$BIN" --version
if command -v systemctl >/dev/null 2>&1 && systemctl --user is-active cst-agent-parliament.service >/dev/null 2>&1; then
if command -v systemctl >/dev/null 2>&1 && systemctl --user is-active hermit-parliament.service >/dev/null 2>&1; then
systemctl --user status hermit-parliament.service --no-pager
elif command -v systemctl >/dev/null 2>&1 && systemctl --user is-active cst-agent-parliament.service >/dev/null 2>&1; then
systemctl --user status cst-agent-parliament.service --no-pager
else
"\$BIN" --service-stop >/dev/null 2>&1 || true
@@ -116,9 +118,9 @@ status)
install-unit)
make -C "$dir" install-service PREFIX="$prefix"
;;
start) systemctl --user start cst-agent-parliament.service ;;
stop) systemctl --user stop cst-agent-parliament.service; "\$BIN" --service-stop || true ;;
restart) systemctl --user restart cst-agent-parliament.service ;;
start) systemctl --user start hermit-parliament.service 2>/dev/null || systemctl --user start cst-agent-parliament.service ;;
stop) systemctl --user stop hermit-parliament.service 2>/dev/null || true; systemctl --user stop cst-agent-parliament.service 2>/dev/null || true; "\$BIN" --service-stop || true ;;
restart) systemctl --user restart hermit-parliament.service 2>/dev/null || systemctl --user restart cst-agent-parliament.service ;;
*)
echo "usage: hermit-service {status|install-unit|start|stop|restart}" >&2
exit 2
+7 -5
View File
@@ -1,13 +1,13 @@
#!/data/data/com.termux/files/usr/bin/bash
# Install or upgrade CST-Agent on Android Termux. Safe to rerun: an existing
# Install or upgrade Hermit on Android Termux. Safe to rerun: an existing
# checkout is fast-forwarded, rebuilt and reinstalled.
#
# bootstrap_termux.sh [DIR] [--no-pull]
# cst-agent-update (installed by this script; same as rerunning it)
# hermit-update (installed by this script; same as rerunning it)
set -euo pipefail
main() {
local repo_url="${CST_AGENT_REPO:-https://git.whcself.xyz/WHC/CST-agent.git}"
local repo_url="${HERMIT_REPO:-${CST_AGENT_REPO:-https://git.whcself.xyz/WHC/Hermit.git}}"
local dir="" pull=1 changed=0 arg
for arg in "$@"; do
case "$arg" in
@@ -21,10 +21,12 @@ main() {
esac
done
if [[ -z "$dir" ]]; then
if [[ -n "${CST_AGENT_DIR:-}" ]]; then
dir="$CST_AGENT_DIR"
if [[ -n "${HERMIT_DIR:-${CST_AGENT_DIR:-}}" ]]; then
dir="${HERMIT_DIR:-$CST_AGENT_DIR}"
elif [[ -f Makefile && -f src/main.c && -d .git ]]; then
dir="$(pwd)"
elif [[ -d "$HOME/Hermit/.git" ]]; then
dir="$HOME/Hermit"
else
dir="$HOME/CST-agent"
fi
+23
View File
@@ -0,0 +1,23 @@
[Unit]
Description=Hermit parliament seat service
Documentation=https://git.whcself.xyz/WHC/Hermit
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Prefer --service-fg under systemd so the unit tracks the real process.
ExecStart=@BIN@ --service-fg --peer-port ${HERMIT_PEER_PORT:-${CST_PEER_PORT:-9100}}
Restart=on-failure
RestartSec=3
Environment=HERMIT_INSTANCE_ID=%H
# Put the Realm password in a drop-in, e.g.:
# ~/.config/systemd/user/hermit-parliament.service.d/override.conf
# [Service]
# Environment=HERMIT_REALM_PASSWORD=…
# CST_* still accepted. Config under ~/.config/hermit/ (legacy cst-agent/).
EnvironmentFile=-%h/.config/hermit/parliament.env
EnvironmentFile=-%h/.config/cst-agent/parliament.env
[Install]
WantedBy=default.target
+2 -2
View File
@@ -16,8 +16,8 @@ RequestExecutionLevel user
!define OUTFILE "cst-agent-${VERSION}-windows-x86_64-setup.exe"
!endif
!define APP "CST-Agent"
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\cst-agent"
!define APP "Hermit"
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\hermit"
!include "MUI2.nsh"
!include "LogicLib.nsh"