95 lines
2.5 KiB
Markdown
95 lines
2.5 KiB
Markdown
# 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`(必要时)
|