Files
skill-convertor/README.md
2026-04-15 01:17:01 +08:00

95 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`(必要时)