From 8fcbd886c3363310f75baa4a63f435915bfdb7ac Mon Sep 17 00:00:00 2001 From: WHC Date: Thu, 29 Oct 2026 21:46:23 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20final=20CST-agent=20=E2=86=92=20Hermit?= =?UTF-8?q?=20migration=20notice=20(0.10.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Point readers at WHC/Hermit as canonical; add MIGRATION.md and migrate_remote_to_hermit.sh so existing checkouts can retarget origin. Co-authored-by: Cursor --- MIGRATION.md | 103 ++++++++++++++++++++++++++++ README.md | 15 ++-- docs/README.md | 2 + icons/agent-motion/README.md | 2 + include/cst_version.h | 2 +- scripts/bootstrap_linux.sh | 2 +- scripts/migrate_remote_to_hermit.sh | 52 ++++++++++++++ 7 files changed, 171 insertions(+), 7 deletions(-) create mode 100644 MIGRATION.md create mode 100755 scripts/migrate_remote_to_hermit.sh diff --git a/MIGRATION.md b/MIGRATION.md new file mode 100644 index 0000000..18d34e5 --- /dev/null +++ b/MIGRATION.md @@ -0,0 +1,103 @@ +# 从 CST-Agent 迁移到 Hermit + +**本仓库 `WHC/CST-agent` 保留为兼容入口。** 产品名与规范克隆地址已改为: + +**https://git.whcself.xyz/WHC/Hermit** + +二进制、配置与环境变量自 **0.10.0** 起以 Hermit 为准;`CST-agent` 仓库与旧包名仅作过渡。 + +--- + +## 1. 换源码远程(推荐) + +已有检出: + +```bash +# 一键(在仓库根目录) +./scripts/migrate_remote_to_hermit.sh + +# 或手动 +git remote set-url origin https://git.whcself.xyz/WHC/Hermit.git +git fetch origin +git branch -u origin/main +``` + +新克隆: + +```bash +git clone https://git.whcself.xyz/WHC/Hermit.git +cd Hermit +make -j$(nproc) && make install PREFIX=$HOME/.local +``` + +旧地址仍可拉代码一段时间: + +```bash +git clone https://git.whcself.xyz/WHC/CST-agent.git # 兼容;请改 origin 到 Hermit +``` + +--- + +## 2. 二进制与 PATH + +| 旧 | 新 | +|---|---| +| `cst-agent` | `hermit`(安装时仍提供 `cst-agent` → `hermit` 软链) | +| `cst-agent-update` | 仍可用;内部装的是 `hermit` | +| Release `cst-agent-VERSION-linux-*.tar.gz` | `hermit-VERSION-linux-*.tar.gz`(过渡期可能双发) | + +```bash +hermit --version # hermit 0.10.x +cst-agent --version # 同二进制(软链) +``` + +--- + +## 3. 配置目录 + +| 旧 | 新 | +|---|---| +| `~/.config/cst-agent/` | `~/.config/hermit/` | +| Windows `%APPDATA%\cst-agent` | `%APPDATA%\hermit` | + +程序若发现 **仅有** 旧目录、尚无新目录,会继续读旧路径。建议主动迁移: + +```bash +# Linux / macOS +mkdir -p ~/.config/hermit +# 若尚未迁过: +cp -a ~/.config/cst-agent/. ~/.config/hermit/ 2>/dev/null || true +``` + +工作区 `.agent/` 会话目录**不变**,无需改动。 + +--- + +## 4. 环境变量 + +`HERMIT_*` 优先;未设置时仍读 `CST_*`。 + +| 用途 | 新 | 旧(兼容) | +|---|---|---| +| Provider / Key / Model | `HERMIT_PROVIDER` 等 | `CST_PROVIDER` 等 | +| ASCII / Icons | `HERMIT_ASCII` / `HERMIT_ICONS` | `CST_ASCII` / `CST_ICONS` | +| 议会密码等 | `HERMIT_REALM_PASSWORD`(若已接双读) | `CST_REALM_PASSWORD` | + +systemd:`EnvironmentFile` 已同时尝试 `~/.config/hermit/parliament.env` 与旧路径。 + +--- + +## 5. CI / 脚本 / 文档链接 + +- 安装脚本、bootstrap、文档中的规范 URL 改为 `…/WHC/Hermit`。 +- 本文件与 README 顶栏是 **CST-agent 仓库上的最后一次迁移说明**;后续功能请在 **Hermit** 仓库跟进。 + +--- + +## 6. 核对清单 + +- [ ] `git remote -v` 指向 `WHC/Hermit.git` +- [ ] `hermit --version` 正常;PATH 上可选保留 `cst-agent` 软链 +- [ ] `~/.config/hermit/` 有 credentials / settings(或确认仍在用旧目录回退) +- [ ] 书签 / 镜像 / CI 的 clone URL 已更新 +- [ ](可选)归档或只读化 `CST-agent` 仓库说明,避免双主开发 diff --git a/README.md b/README.md index 5c40c83..c9a72f0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # Hermit +> **仓库已更名。** 规范地址:[WHC/Hermit](https://git.whcself.xyz/WHC/Hermit)。 +> 本仓库 `CST-agent` 仅作迁移兼容入口。换远程:`./scripts/migrate_remote_to_hermit.sh` +> 完整步骤:[MIGRATION.md](MIGRATION.md)。 + 本地 coding agent(原 CST-Agent):终端 TUI、可选 WebUI / 桌面 GUI,在工作区里读改文件、跑命令、管会话。 C11 实现,OpenAI 兼容网关(DeepSeek / Kimi / MiniMax / OpenAI 等)。 @@ -17,20 +21,21 @@ C11 实现,OpenAI 兼容网关(DeepSeek / Kimi / MiniMax / OpenAI 等)。 ### Linux / WSL / macOS ```bash -# 预编译包(快;失败则回退源码) -curl -fsSL https://git.whcself.xyz/WHC/CST-agent/raw/branch/main/scripts/bootstrap_linux.sh | bash -s -- --release +# 预编译包(快;失败则回退源码)— 规范仓库 Hermit +curl -fsSL https://git.whcself.xyz/WHC/Hermit/raw/branch/main/scripts/bootstrap_linux.sh | bash -s -- --release # 源码增量编译 → ~/.local/bin/hermit(+ cst-agent 软链) -curl -fsSL https://git.whcself.xyz/WHC/CST-agent/raw/branch/main/scripts/bootstrap_linux.sh | bash +curl -fsSL https://git.whcself.xyz/WHC/Hermit/raw/branch/main/scripts/bootstrap_linux.sh | bash ``` ```bash ./scripts/bootstrap_linux.sh . -hermit --version # hermit 0.10.0 +hermit --version # hermit 0.10.x cst-agent-update # 升级助手仍可用 +./scripts/migrate_remote_to_hermit.sh # 已有 CST-agent 检出时改 origin ``` -[Release](https://git.whcself.xyz/WHC/CST-agent/releases):`hermit-VERSION-linux-{x86_64,x86,aarch64}.tar.gz`。 +[Release](https://git.whcself.xyz/WHC/Hermit/releases)(旧 [CST-agent releases](https://git.whcself.xyz/WHC/CST-agent/releases) 过渡期可能仍有镜像):`hermit-VERSION-linux-{x86_64,x86,aarch64}.tar.gz`。 ### Windows diff --git a/docs/README.md b/docs/README.md index 7a16ac7..4680eee 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,5 +1,7 @@ # Hermit 文档索引 +规范仓库:[WHC/Hermit](https://git.whcself.xyz/WHC/Hermit)。从旧名迁移见根目录 [MIGRATION.md](../MIGRATION.md)。 + 二进制:`hermit`(兼容软链 `cst-agent`)。配置目录:`~/.config/hermit`(若无则回退 `~/.config/cst-agent`)。 | 文档 | 内容 | diff --git a/icons/agent-motion/README.md b/icons/agent-motion/README.md index f0c4044..75ecfef 100644 --- a/icons/agent-motion/README.md +++ b/icons/agent-motion/README.md @@ -18,4 +18,6 @@ icons/{状态}-shell.svg 是大的带壳图标;icons/{状态}.svg 是小的无 普通字符终端不直接渲染 SVG;图标适用于支持图形的终端界面、Webview 或 CLI 伴随应用。 +**TUI 双轨**:默认极简字符/色块帧见 `src/hermit_glyph.c`;`make hermit-font`(`scripts/build_hermit_font.py`)把本目录 SVG 批量打成 `res/hermit-icons.ttf`(PUA `U+E700+`),`HERMIT_ICONS=font` 时直接输出码点序列。 + 更新:橘杏色身体、莓紫眼睛、低饱和蓝绿终端壳。预览主角色以 620ms 缓入缓出插值连续改变眼睛路径与身体姿态,支持中途切换;不重建主角色。状态符号淡入淡出。独立 SVG 保留各状态循环动效;跨状态变形逻辑位于 index.html。 diff --git a/include/cst_version.h b/include/cst_version.h index 217835a..a81d868 100644 --- a/include/cst_version.h +++ b/include/cst_version.h @@ -3,7 +3,7 @@ #define CST_VERSION_MAJOR 0 #define CST_VERSION_MINOR 10 -#define CST_VERSION_PATCH 0 +#define CST_VERSION_PATCH 1 #define CST_VERSION_STR_(x) #x #define CST_VERSION_STR(x) CST_VERSION_STR_(x) diff --git a/scripts/bootstrap_linux.sh b/scripts/bootstrap_linux.sh index f485520..70c5a20 100755 --- a/scripts/bootstrap_linux.sh +++ b/scripts/bootstrap_linux.sh @@ -128,7 +128,7 @@ install_from_release() { } main() { - local repo_url="${CST_AGENT_REPO:-https://git.whcself.xyz/WHC/CST-agent.git}" + local repo_url="${CST_AGENT_REPO:-${HERMIT_REPO:-https://git.whcself.xyz/WHC/Hermit.git}}" local prefix="${CST_AGENT_PREFIX:-$HOME/.local}" local dir="" pull=1 changed=0 mode="${CST_INSTALL_MODE:-source}" arg for arg in "$@"; do diff --git a/scripts/migrate_remote_to_hermit.sh b/scripts/migrate_remote_to_hermit.sh new file mode 100755 index 0000000..b0f932c --- /dev/null +++ b/scripts/migrate_remote_to_hermit.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +# Retarget this checkout's origin to the Hermit repo (canonical name). +# Safe to rerun. Does not rewrite history. +# +# ./scripts/migrate_remote_to_hermit.sh +# HERMIT_REMOTE_URL=… ./scripts/migrate_remote_to_hermit.sh +set -euo pipefail +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +cd "$ROOT" + +NEW_URL="${HERMIT_REMOTE_URL:-https://git.whcself.xyz/WHC/Hermit.git}" +OLD_HINT="CST-agent" + +if [[ ! -d .git ]]; then + echo "not a git checkout: $ROOT" >&2 + exit 1 +fi + +cur="$(git remote get-url origin 2>/dev/null || true)" +echo "==> current origin: ${cur:-"(none)"}" +echo "==> target origin: $NEW_URL" + +if [[ -n "$cur" && "$cur" == "$NEW_URL" ]]; then + echo "already on Hermit remote" +else + if git remote get-url origin >/dev/null 2>&1; then + git remote set-url origin "$NEW_URL" + else + git remote add origin "$NEW_URL" + fi + # Keep a pointer at the old name for a while. + if ! git remote get-url cst-agent >/dev/null 2>&1; then + if [[ -n "$cur" && "$cur" == *"$OLD_HINT"* ]]; then + git remote add cst-agent "$cur" || true + echo "==> saved previous URL as remote 'cst-agent'" + else + git remote add cst-agent "https://git.whcself.xyz/WHC/CST-agent.git" || true + fi + fi +fi + +git fetch origin +branch="$(git rev-parse --abbrev-ref HEAD)" +if git show-ref --verify --quiet "refs/remotes/origin/$branch"; then + git branch --set-upstream-to="origin/$branch" "$branch" 2>/dev/null || true +fi + +echo +echo "OK. Canonical repo: $NEW_URL" +echo " git remote -v" +echo " See MIGRATION.md for config / binary / env notes." +git remote -v