chore: initial commit

This commit is contained in:
zhaoyilun
2026-04-15 01:17:01 +08:00
commit ff748ebbeb
1162 changed files with 6107 additions and 0 deletions

94
README.md Normal file
View File

@@ -0,0 +1,94 @@
# SGClaw Skill Converter (Go 版本)
这是一个 Go CLI + Web 的 SGClaw 技能生成器(轻量方案):
- 命令行:读取 JS 脚本并输出标准 JSON
- Web核心页面化支持上传/粘贴脚本、选择模型参数、填写 API Key、设置超时、指定导出目录
- AI默认接入 GLM-5.1(可通过 `--no-ai` 禁用)
默认输出:
- `skills/<skill_name>/SKILL.toml`
- `skills/<skill_name>/SKILL.md`
- `skills/<skill_name>/scripts/<tool>.js`
- `skills/<skill_name>/references/implementation-notes.md`
- `skills/<skill_name>/assets/notes.md`
## 命令行
```bash
go run . --js-script-path path/to/script.js --skill-name zhihu-hotlist --write
```
参数:
- `--js-script-path`: 脚本路径(与 `--js-script-code` 二选一)
- `--js-script-code`: 直接传递 JS 文本
- `--skill-name`: 技能名(建议 kebab-case
- `--skill-domain`: 目标域名(裸域名,如 `www.zhihu.com`
- `--skill-use-case`: 用例说明
- `--tool-name`: 工具名snake_case
- `--tool-description`: 工具描述
- `--arg-spec`: 参数说明,支持 `k=v,k2=v2`、JSON 字符串、`@json_file`
- `--artifact-fields`: 逗号分隔字段(可覆盖)
- `--preferred-mode`: `compact` / `full`
- `--write`: 写盘到 `skills/<skill_name>`
- `--no-ai`: 禁用 GLM-5.1
## Web 服务
```bash
go run . --serve --host 127.0.0.1 --port 8787
```
打开:`http://127.0.0.1:8787`
接口:
- `GET /api/config`
- `POST /api/convert`
### 页面可改配置
在浏览器打开页面后可直接改:
- `导出目录`(对应 `POST /api/convert``skill_root`
- `AI Base URL`
- `模型`
- `API Key`
- `超时`
- `use_ai`(是否启用 AI
页面会先显示服务端当前可用配置,提交时以页面填写值为准覆盖到本次转换(不落盘持久化)。
## 打包成 exe
```bash
go build -o sgclaw-skill-converter.exe .
```
Windows 下直接运行:
```bash
./sgclaw-skill-converter.exe --serve --host 127.0.0.1 --port 8787
```
## GLM-5.1 配置(兼容 claude code
优先级:环境变量 > `~/.claude/settings.json`
```bash
set GLM_API_KEY=<你的 token>
set GLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4
set GLM_MODEL=glm-5.1
```
`~/.claude/settings.json` 回退读取:
- `ANTHROPIC_BASE_URL` / `GLM_BASE_URL`
- `ANTHROPIC_AUTH_TOKEN` / `GLM_API_KEY`
- `ANTHROPIC_DEFAULT_OPUS_MODEL` / `GLM_MODEL`
- `env` / `envs` / `environment` 节点
## 输出 JSON
- `skill_name`
- `target_dir`
- `files`
- `metadata.skill_contract`
- `validation`
- `risk_check`
- `blocking_reason`(必要时)