基础工具与工作流 · daymade/claude-code-skills

gangtise-copilot

Gangtise (岗底斯投研) OpenAPI skill suite installer and diagnostic tool. One-click install 19 official skills (data, research, utility), configure accessKey/secretAccessKey, run health diagnostics. Trigger when user mentions Gangtise, 岗底斯, any gangtise-* skill, credential setup, or reports errors like 'token is invalid' / '接口地址错误'.

风险提醒:橙色 · 评估后使用AI 侦查报告
作者 daymadeGitHub daymade/claude-code-skills ↗Stars 1385许可 MIT(仓库根 LICENSE,Copyright (c) 2025 daymade;GitHub API spdx MIT)commit d5c4678cb5
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

核心是可执行脚本而非提示词编排:安装(install_gangtise.sh)、配凭证(configure_auth.sh)、诊断(diagnose.sh)三个能力入口全部由 bash/python 脚本实现,SKILL.md 只做路由与说明书。

daymade-financial/gangtise-copilot/SKILL.md
| 1. Install Gangtise skills (minimal default, workshop alias, full, or `--only` custom) | `scripts/install_gangtise.sh` | See `references/installation_flow.md` |
注:wrapper 层围绕『上游 19 技能不可发现』这一真实痛点(无公开 manifest、zip 零散放 OBS 且禁止列目录、双命名线混乱),用脚本把『发现+分发+配凭证+诊断』收敛成一条命令。

安装原理:从华为云 OBS 官方桶下载 4 个 zip 包 → 解压到 /tmp 暂存 → 复制到 canonical 位置 ~/.local/share/gangtise-copilot/skills → 对每个检测到的 agent(claude-code/openclaw/codex)skills 目录建符号链接。

daymade-financial/gangtise-copilot/scripts/install_gangtise.sh
BASE_URL="https://gts-download.obs.myhuaweicloud.com/skills"
注:4 个 zip 共含 19 个技能目录(bundle map 硬编码在脚本里:gangtise-skills-client/gangtise-research/gangtise-skills/gangtise-web-client);symlink 架构让凭证轮换与上游升级自动传播到所有 agent;每次重跑幂等(rm -rf canonical 后重拷,非符号链接的旧安装备份到 /tmp/gangtise-copilot-backups)。

凭证管理原理:单共享凭证文件 + 每技能符号链接。configure_auth.sh 把 accessKey/secretAccessKey 写入 ~/.config/gangtise/authorization.json(mode 600),写 ~/.GTS_AUTHORIZATION 裸 token 供上游 CLI,并给每个已装技能的 scripts/.authorization 建指向共享文件的 symlink。

daymade-financial/gangtise-copilot/scripts/configure_auth.sh
AUTH_FILE="${XDG_CONFIG_DIR}/authorization.json" RUNTIME_TOKEN_FILE="$HOME/.GTS_AUTHORIZATION"
注:因为 19 个技能各要一份 .authorization,轮换时改一个共享文件即可;mode 600 约束明文密钥;写完后做 live auth 验证(见下条)。SKILL.md 明示即使共享文件已存在也要跑 configure_auth.sh 刷新缺失的 symlink。

live 验证原理:configure_auth.sh 与 diagnose.sh 都把凭证 POST 到 Gangtise OAuth 端点换 token;diagnose 再用 token 打 RAG 端点做能力层 liveness;响应经 classify_response.py 分类(不打印 token/响应体)。

daymade-financial/gangtise-copilot/scripts/diagnose.sh
AUTH_ENDPOINT="https://open.gangtise.com/application/auth/oauth/open/loginV2" RAG_ENDPOINT="https://open.gangtise.com/application/open-data/ai/search/knowledge_base"
注:服务端对无效凭证也返回 HTTP 200,所以脚本按 body 形状(code==000000)判断而非 HTTP 码;RAG 行能区分 reachable/空结果/权限拒/认证拒/配额等,保留 http_status/code/errorType/traceId 而隐去 token。classify_response.py 注释:'Classify Gangtise auth/RAG responses without printing tokens or response bodies.'

价值层是 19-skill 能力矩阵路由:SKILL.md 内嵌『数据层 6 + 工作流层 10 + 工具层 3』的注册表,把用户的数据问题(K 线/财报/估值/研报/首席观点/观点 PK…)路由到对应上游技能与 runner。

daymade-financial/gangtise-copilot/SKILL.md
Gangtise's 19 skills form a **two-dimensional matrix** (data tier × operation type) that is not clearly documented. Use this table to route a user question to the right skill
注:矩阵还记录 ISSUE-007 这类真实陷阱(多数账号无 skills-backend/* ACL,-client 系技能不可用),因此默认 preset 收敛为 minimal(3 个 legacy open-* 技能)。

wrapper 架构原则:绝不 vendor 上游文件——目录内无任何 Gangtise 技能内容拷贝,每次运行从 canonical OBS URL 重新下载当前版本;修 bug 走运行时修复(references/known_issues.md)而非改上游。

daymade-financial/gangtise-copilot/SKILL.md
**Never vendor upstream files.** This skill directory contains no copy, fork, or excerpt of any Gangtise skill content.
注:『Repairs happen at runtime, not at ship time』+『Always ask before touching upstream files』(AskUserQuestion 征询);这解释了为何 references/known_issues.md 有 24.5KB 的运行时问题与修复配方。

2核心能力

01一键安装 19 个 Gangtise 官方技能到多 agent(minimal/workshop/full/--only 预设 + 目标检测)
02accessKey/secretAccessKey 配置 + 服务器端 live 验证(换 token 并回显 uid/userName)
03只读健康诊断:安装完整性/凭证文件与 symlink/两种能力层 liveness(OAuth + RAG),退出码 0/1/2
0419-skill 能力注册表路由(数据层/工作流层/工具层矩阵 + 每 runner 参数)
05凭证轮换单点编辑(改一个共享文件,symlink 自动传播)
06从 GitHub 单文件回退下载安装(git clone 超时/不可用时走 api.github.com contents)

3外部依赖

类型依赖
network华为云 OBS 技能分发桶
apiGangtise OAuth loginV2(accessKey/secretAccessKey 换 Bearer token)
apiGangtise RAG knowledge_base 语义检索(diagnose 能力层 liveness)
networkGitHub contents API(SKILL.md 回退下载法,非脚本默认路径)
clicurl / unzip / python3 / git(脚本前置检查与执行工具)

4风险提醒 风险提醒:橙色 · 评估后使用

风险提醒:橙色 · 评估后使用
  • 供应链信任面:安装第三方 OBS 内容,无签名/hash 校验 — installer 只做 HTTP 200 + 大小检查;解压的 19 个技能含可执行脚本,直接进 agent skills 目录并被 symlink 激活。上游内容不在本仓审计范围,用户需信任 Gangtise 官方 OBS 与 HTTPS。
  • 凭证以明文落盘且会随 live 验证出网 — authorization.json(600)与 ~/.GTS_AUTHORIZATION 是明文;diagnose/configure 会把密钥 POST 到 open.gangtise.com。凭证出网对象可预期(官方域),但明文 token 文件对同机其他进程可见。
  • 凭证可能出现在命令行/进程参数 — configure_auth.sh 支持 --access-key/--secret-key flag 与交互输入;flag 方式会进 shell 历史/进程列表。优先用交互提示或环境变量并清理历史。
  • 上游 API 契约不稳定(HTTP 200 + body code、token 已带 Bearer 前缀) — known_issues/credentials_setup 记录契约怪癖(200 恒真、accessToken 自带 'Bearer '、expiresIn 10800 等),wrapper 已适配但依赖上游不破坏性变更。
风险提醒:橙色,评估后使用。命中橙色档两条件:① 凭证接触——configure_auth.sh/diagnose.sh 读取并写入明文 accessKey/secretAccessKey(~/.config/gangtise/authorization.json、~/.GTS_AUTHORIZATION),且会把密钥 POST 到 open.gangtise.com 做 live 验证(接触即橙,无论是否外发);② 依赖第三方远端包——安装器从第三方 OBS 桶下载 19 个上游技能 zip(无签名/hash 校验,仅大小门槛),解压后的可执行代码超出本仓审计范围,构成供应链面。外发对象可预期(Gangtise 官方域 + OBS),脚本无混淆/无隐蔽外发/回显纪律好(mode 600、不打印 token、classify 脱敏、安装器不碰无关目录),故未到红色档。

5第二遍独立确认

  • [ok] OBS 桶下载端点与 bundle 数量(19 技能/4 zip) — install_gangtise.sh BASE_URL 常量 + BUNDLES 数组(4 项,共 19 技能名)与 SKILL.md bundle map 一致;curl --fail -o + wc -c 大小门槛在源码中。
  • [ok] 凭证读写在三个脚本中都真实存在 — configure_auth.sh 写 ~/.config/gangtise/authorization.json(600)+ ~/.GTS_AUTHORIZATION + live auth;diagnose.sh 读 authorization.json 的 accessKey/secretAccessKey 并 POST loginV2;均逐字可查。
  • [ok] live 验证按 body shape(code==000000)而非 HTTP 码 — configure_auth.sh 'if echo "$response" | grep -q '"code":"000000"'' 与 credentials_setup.md『Gangtise returns HTTP 200 for both success and failure』一致。
  • [ok] 诊断只读且不打印 token — diagnose.sh 无写文件语句;classify_response.py docstring『without printing tokens or response bodies』+ 字段白名单(http_status/code/errorType/traceId);tests 断言 'secret' 不出现在分类结果。
  • [ok] wrapper 不 vendor 上游 + 上游内容不在本仓 — 目录 glob 无 gangtise-* 上游技能内容(仅 scripts/references/config-template/tests);SKILL.md『no copy, fork, or excerpt of any Gangtise skill content』成立。
  • [ok] 安全反例搜索:是否有漏网端点/回调/混淆 — 全目录扫描仅 OBS、open.gangtise.com(loginV2 + knowledge_base + 文档中 skills-backend/open-quote 示例)、api.github.com(SKILL.md 回退法)、status.huaweicloud.com(文档链接);无遥测/无外发到第三方。
  • [ok] 功能声明 vs 实际能力 — 『One-click install 19 official skills, configure accessKey/secretAccessKey, run health diagnostics』三项分别对应 install/configure/diagnose 脚本 + SKILL 路由;最小化 preset 规避 ISSUE-007 的说明与 known_issues.md 复现证据一致。
  • [ok] 元数据(commit/license/stars) — 本地 HEAD == pin d5c4678cb5d4fd6acc9c922690df035dbd33d247;GitHub API:MIT、stars 1385(2026-09-09 实采)、pushed_at 2026-09-09T12:33:29Z。

6结论

  • 解决真实痛点:上游 19 技能不可发现(无 manifest、OBS 禁列目录、双命名线),wrapper 用一次安装收敛全部发现/分发/凭证/诊断。
  • 凭证管理收敛为单共享文件 + symlink 传播,轮换只改一处。
  • 诊断脚本严格只读 + 响应脱敏,自带测试,安全纪律在同类安装器里少见。
  • 经验沉淀成 ISSUE 知识库:Bearer 双前缀、bundle-only 技能、skills-backend ACL 都有根因+复现+修复配方。
  • 保守默认:minimal preset 避开 ISSUE-007 的 ACL 坑,不让用户一键装出半残套件。
  • 适合:适合持有 Gangtise(岗底斯投研)OpenAPI 账号/授权的投研用户:一次性安装官方技能套件、配置 accessKey/secretAccessKey、用 diagnose 定位『token is invalid / 接口地址错误 / 装得不对』类问题,并通过内置注册表把数据问题路由到正确上游技能。也适合想维护多 agent(Claude Code/OpenClaw/Codex)统一技能库的人。
    不适合:不适合没有 Gangtise 账号/不想接触第三方金融数据服务的人(装了也过不了 auth);不适合对『从第三方 OBS 安装未签名技能包』有顾虑、要求供应链可审计的环境;不适合只需单个上游技能、不愿引入 wrapper 的轻量用户(可 curl+unzip 手动装);不适合期望 wrapper 自带 Gangtise 数据的场景——它只是安装/配置/诊断层,数据查询需账号授权后走上游技能。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-09
    方式 A · 人下载镜像包下载 gangtise-copilot.tar.gz
    sha256: 7ba5dccf4fc1c4ad…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit d5c4678cb5;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库daymade / daymade/claude-code-skills
    Stars1385
    最近推送2026-09-09
    本 skill commitd5c4678cb5
    许可MIT(仓库根 LICENSE,Copyright (c) 2025 daymade;GitHub API spdx MIT)
    本站信息
    收录日期2026-09-06
    分类基础工具与工作流
    侦查报告2026-09-06 · 2 遍
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。