WHCandCursor 2602806aea docs: product-facing README; archive CST theory notes (0.9.34)
Rewrite the homepage for day-to-day use, move paper/eval drafts under
docs/archive, and add a docs index so theory no longer leads the project.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-29 20:00:22 +08:00
2026-10-19 10:41:00 +08:00

CST-Agent

本地 coding agent:终端 TUI、可选 WebUI / 桌面 GUI,在工作区里读改文件、跑命令、管会话。 C11 实现,OpenAI 兼容网关(DeepSeek / Kimi / MiniMax / OpenAI 等)。

适合:有监督的本地改动与仓库探索(权限确认、diff、/undo、沙箱)。
慎用:完全无人值守的长任务;headless 默认自动批准。

文档索引:docs/README.md。


安装

Linux / WSL / macOS(推荐)

# 预编译包(快;失败则自动回退源码编译)
curl -fsSL https://git.whcself.xyz/WHC/CST-agent/raw/branch/main/scripts/bootstrap_linux.sh | bash -s -- --release

# 或始终从源码增量编译安装到 ~/.local/bin
curl -fsSL https://git.whcself.xyz/WHC/CST-agent/raw/branch/main/scripts/bootstrap_linux.sh | bash

已有仓库目录:

./scripts/bootstrap_linux.sh .              # 源码
./scripts/bootstrap_linux.sh . --release    # 只装 Release 二进制
cst-agent-update                            # 之后升级
cst-agent --version

Release 也提供静态 musl 包 cst-agent-VERSION-linux-{x86_64,x86,aarch64}.tar.gz(旁有 .sha256),解压后把 cst-agent 放进 PATH 即可。

Windows 10 1903+

irm https://git.whcself.xyz/WHC/CST-agent/raw/branch/main/scripts/install_windows.ps1 | iex

或下载 cst-agent-VERSION-windows-x86_64-setup.exe / 便携 zip。详见 docs/README-windows.md。

Termux

curl -fsSL https://git.whcself.xyz/WHC/CST-agent/raw/branch/main/scripts/bootstrap_termux.sh | bash

第一次用

cd ~/my-project && cst-agent

首次选择 provider 并输入 API key(遮罩输入,按 provider 存到配置目录 credentials,权限 0600)。 之后用 /provider、/model、/effort、/key 切换;选择会记在 settings.json。

完整环境变量:docs/env_openai.md。
多设备议会:docs/parliament.md。

平台 脚本
Linux / macOS scripts/bootstrap_linux.sh
Termux scripts/bootstrap_termux.sh
Windows 安装 scripts/install_windows.ps1
Linux 静态包 scripts/package_linux.sh x86_64|x86|aarch64
Windows 交叉构建 scripts/bootstrap_windows.sh
Windows 原生(MSYS2) scripts/bootstrap_msys2.sh

构建

make -j$(nproc)          # 增量;有 ccache 会自动用;make help 看目标
make -j$(nproc) check    # 单元测试
make asan                # ASan + UBSan
make CC=tcc AR=ar check  # TinyCC 快校验(CI 同款)
make install PREFIX=$HOME/.local
make install-service PREFIX=$HOME/.local   # 可选:systemd --user 议会单元

NixOS:nix-shell --run 'make -j$(nproc)'。macOS:brew install curl ncurses pkg-config 后直接 make。
平台细节:docs/compat.md。

# CMake(多编译器 / 无 TUI)
cmake -B build -DCMAKE_C_COMPILER=gcc -DCST_BUILD_TUI=ON
cmake --build build -j && ctest --test-dir build --output-on-failure

可选 Qt 桌面前端:app/README.md。
Android APK:docs/android.md。

CI 与发布

推送 main / v* 时 .gitea/workflows/ci.yml 会:TinyCC check → 打 Linux/Windows 发行包 → scripts/ci_publish.sh 上传 Gitea Release。
共用逻辑:scripts/lib_release.sh。本地上传:GITEA_TOKEN=... scripts/release.sh dist/cst-agent-*。


用法速览

cst-agent                              # TUI,工作区=当前目录
cst-agent --web                        # 浏览器 http://127.0.0.1:8787/
cst-agent --headless --prompt '…'      # 无人值守(默认自动批准)
cst-agent --ask-key --provider deepseek
参数 作用
-c / -N / -R ID / -L 继续上次 / 新会话 / 恢复 / 列表
-A ask|auto|yolo / -y 审批模式
-T default|minimal 工具集(minimal = 读写 shell 四件套)
-M coding|general 工作模式
-P / -m / -e provider / 模型 / 推理强度
-w DIR 工作区

会话目录:<workspace>/.agent/sessions/<uuid>/(自带 .gitignore)。WebUI 协议:docs/webui.md。

Provider 默认

provider API Base 默认模型 Key
minimax(默认) https://api.minimax.cn/v1 MiniMax-M2.7 MINIMAX_API_KEY
deepseek https://api.deepseek.com/v1 deepseek-flash DEEPSEEK_API_KEY
kimi https://api.moonshot.ai/v1 kimi-k3 MOONSHOT_API_KEY
kimi-code https://api.kimi.ai/coding/v1 k3 KIMI_API_KEY
openai https://api.openai.com/v1 gpt-4.1-mini OPENAI_API_KEY
teamorouter https://api.teamorouter.com/v1 /models 首个 TEAMOROUTER_API_KEY

优先级:CLI → 已保存 credentials → 环境变量 → TUI 询问。详见 docs/env_openai.md。

内置能力(摘要)

  • 文件:read_file / list_dir / glob / grep / edit_file / apply_patch / write_file / delete_file / move_file
  • 命令:run_shell(沙箱 + 可中断;超时 CST_SHELL_TIMEOUT)
  • 网络:web_fetch;Kimi/DeepSeek 另有官方 web_search
  • 任务:todo_write、ask_user、task 子 agent、后台 job_*(完成会推 TUI / 下一回合笔记)
  • 扩展:Skills、插件、MCP(docs/plugins.md);worker 编排(docs/workers.md)

同一步里连续只读调用会自动并行(默认最多 8,CST_PAR_MAX 可调)。截断结果带 [truncated … evidence=ID],用 evidence_read 续读。

审批与沙箱

Shift+Tab / /approval 在 ask → auto → yolo 间切换。auto 下 Linux 优先 Landlock(否则 seccomp),macOS sandbox_init,Windows Low IL;详见源码与 docs/compat.md。
写文件前自动快照,/undo 可回滚;工作区 AGENTS.md 会注入系统提示。

TUI 常用

按键 / 命令 说明
Enter / Esc 发送(busy 时入队)/ 取消当前回合
Tab / Shift+Tab 补全或 Build↔Plan / 审批模式
Ctrl+P / Ctrl+T 命令面板 / 任务面板
Ctrl+X 再按字母 Leader 快捷键(/keys 或 F1 查看)
/provider /model /effort /key 切换后端
/realm /motion 议会登录提示、Seat Deck 动效
/web /quit 起 WebUI / 退出

完整快捷键与斜杠命令仍以 TUI 内 /help、/keys 为准。

工具协议(可选)

默认 native-eos(OpenAI tools[],流结束后执行)。也可 native-inc、文本帧 ctl / ctl-heredoc、xml(CST_PROTOCOL / /protocol)。日常使用保持默认即可。


平台

OS Arch TUI 备注
Linux glibc/musl x86_64 / x86 / aarch64 ncursesw 静态 Release 为 musl
WSL2 x86_64 ncursesw 工作区放在 Linux 文件系统
macOS arm64 / x86_64 Homebrew ncurses
Termux aarch64 等 Termux ncurses
Windows 10 1903+ x86_64 捆绑 ncurses shell 为 busybox-w32

开发者备忘

make check
scripts/prompt_smoke.sh          # 系统提示契约(无 API)
scripts/e2e_webui.sh             # WebUI 录制流(无 API)
scripts/e2e_fixture.sh mini_calc --provider deepseek   # 可选:带 key 的夹具

fixtures/ 下是可重复的本地任务夹具(TASK.md + check.sh),用于手工或脚本验收,不是产品依赖。

许可证与第三方:vendor/sashidown、vendor/cjson(MIT)、vendor/monocypher 随仓库提供。

S
Description
No description provided
Readme
3.5 MiB
Languages
C 60.7%
CSS 7.5%
C++ 7.2%
QML 4.2%
Shell 3.9%
Other 16.5%