codinghub
CodingHub 工具广场操作指南。当用户要求搜索/安装/发布/更新 CodingHub 工具,发帖到论坛,管理知识库,或与 CodingHub 平台交互时使用。支持双通道:MCP 优先,HTTP 直连自动降级(Python 或 Node.js CJS CLI 封装,跨平台)。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
CodingHub 工具广场操作指南。当用户要求搜索/安装/发布/更新 CodingHub 工具,发帖到论坛,管理知识库,或与 CodingHub 平台交互时使用。支持双通道:MCP 优先,HTTP 直连自动降级(Python 或 Node.js CJS CLI 封装,跨平台)。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
使用 CodeWiki-CN MCP 工具为代码仓库生成 Wiki 文档并管理 LLM Wiki 知识库。支持三层增强模式:codebase-memory-mcp(深度增强:Leiden 聚类、Cypher 查询、跨服务追踪、复杂度分析)、CodeGraph(调用图增强)、或纯 CodeWiki(标准模式)。自动检测可用 MCP 服务器并选择最优模式。当用户要求生成 Wiki、代码文档、仓库文档、分析代码库结构时使用。
UI/UX design intelligence with searchable database
Use when building and packaging the project for deployment, including frontend build, backend JAR, and creating distribution zip
中文 review 沟通参考——话术模板、分级标注(必须修复/建议修改/仅供参考)、国内团队常见反模式应对。仅在用户显式 /chinese-code-review 时调用,不要根据上下文自动触发。
中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions 时调用,不要根据上下文自动触发。
中文文档排版参考——中英文空格、全半角标点、术语保留、链接格式、中文文案排版指北约定。仅在用户显式 /chinese-documentation 时调用,不要根据上下文自动触发。
| name | codinghub |
| description | CodingHub 工具广场操作指南。当用户要求搜索/安装/发布/更新 CodingHub 工具,发帖到论坛,管理知识库,或与 CodingHub 平台交互时使用。支持双通道:MCP 优先,HTTP 直连自动降级(Python 或 Node.js CJS CLI 封装,跨平台)。 |
| version | 3.3.0 |
| allowed-tools | null |
| disable | false |
通过 MCP(优先) 或 HTTP 直连(降级) 与 CodingHub 工具广场交互,支持工具发现、安装、发布、更新、论坛交流,以及知识库管理。
Agent 收到 CodingHub 任务
↓
调用 qw_mcp_list(keyword="codinghub") 检测
├── 存在 mcp__codinghub__h3_coding_hub_* 工具
│ ├── 解析 MCP Server URL,提取 host(协议+主机名)
│ ├── 写入 config.json 的 host 字段
│ └── → 走 MCP 通道
└── 不存在 → 走 HTTP 直连通道(按"运行时选择"小节挑选 chub 脚本)
检测规则:MCP 工具名取决于 MCP Server 的 name 配置(
codinghub、aihub都可能)。只要工具名中包含h3_coding_hub_前缀即视为 MCP 可用。host 同步:MCP 存在时需将 config.json 的
host字段更新为 MCP Server 的地址(协议+主机名,不含端口),确保config.json中的地址与实际 MCP 服务一致,后续网站访问和 HTTP 直连均可正确工作。获取 MCP Server URL 的方法:
- 调用
qw_mcp_list返回的 MCP 工具信息中通常包含serverUrl或所属服务的地址- 或在 MCP 客户端配置文件(如
~/.codebuddy/mcp.json)中查找codinghub服务的url字段(如http://192.168.1.100:8082/mcp)- 从 URL 中提取
协议+主机名(去掉端口和路径部分)作为host值写入 config.json不要直接声称"CodingHub 不可用"。MCP 不可用时必须自动降级到 HTTP 直连。
当用户说"打开 codinghub 网站"、"访问 codinghub"时,用浏览器打开 {config.host}:{config.frontendPort}
位置: 与 SKILL.md 同目录的 config.json(使用相对路径读取,不要硬编码绝对路径)。
{
"host": "http://localhost",
"backendPort": "8082",
"frontendPort": "80",
"username": "wangbao",
"password": "123456",
"accessToken": "",
"refreshToken": "",
"accessTokenExpiry": ""
}
| 字段 | 说明 |
|---|---|
host | 后端主机地址(不含端口,如 http://localhost) |
backendPort | 后端端口(如 8082) |
frontendPort | 前端端口(如 80) |
username / password | 账号凭据(MCP 参数级认证 / HTTP 登录都使用) |
accessToken | JWT access token(15 分钟过期,chub CLI 自动写入) |
refreshToken | JWT refresh token(7 天过期,chub CLI 自动写入) |
accessTokenExpiry | access token 过期时间 ISO 8601(chub CLI 自动管理) |
baseUrl说明:下文中 curl 示例里的{baseUrl}占位符均表示{host}:{backendPort}拼接结果,例如http://localhost:8082。Agent 使用时从config.json的host+backendPort动态拼接,不要硬编码。
不要把 config.json 提交到 git。如果 skill 位于项目仓库内,确保
.gitignore包含.codebuddy/skills/codinghub/config.json。
需要凭据时按以下优先级执行:
memory_search 搜索 "CodingHub" 凭据memory 工具(target="user")备份到长期记忆HTTP 直连通道的所有 API 调用必须通过 chub CLI 执行,不要手写 curl、Python 或 fetch。
chub 有两个功能等价的实现,子命令、参数、退出码、JSON 输出格式完全一致:
| 实现 | 路径 | 运行时 | 优先级 |
|---|---|---|---|
| Python | scripts/chub.py | Python 3.8+ 与 requests 库 | 首选 |
| Node.js CJS | scripts/chub.cjs | Node.js ≥ 18.13,零第三方依赖 | 降级 |
选择规则:
python --version(Windows/macOS 通用)→ 使用 Python 版本node -v,若版本号 ≥ 18.13 → 使用 Node 版本会话初始化(Bash 一次设置 $CHUB,后续所有命令统一使用):
# Python 优先,Node.js 兜底;把结果缓存到 CHUB 变量
SKILL_DIR="/d/repos/CodingHub/.codebuddy/skills/codinghub"
if command -v python >/dev/null 2>&1 && python -c "import requests" 2>/dev/null; then
CHUB="python ${SKILL_DIR}/scripts/chub.py"
elif command -v node >/dev/null 2>&1; then
CHUB="node ${SKILL_DIR}/scripts/chub.cjs"
else
echo "[chub] 需要 Python 3.8+ (requests) 或 Node.js ≥ 18.13" >&2; false
fi
# 健康检查,确认通道可用
$CHUB ping
Windows Git Bash / macOS Bash 通用上述脚本。若用 PowerShell,把
CHUB设成python <path>\scripts\chub.py(或若 Python 不可用时用node <path>\scripts\chub.cjs)。Python 的 requests 依赖:
chub.py需要requests库,首次调用前用pip install requests安装。初始化脚本中的python -c "import requests"会自动检测。Node 降级时的版本要求:若 Python 不可用回退到 Node.js,需 Node.js ≥ 18.13(
AbortSignal.timeout和File全局对象在旧版本不存在)。Node 版本不需要npm install。
chub CLI 在每次需要认证的请求前自动执行三级降级,Agent 无需手动处理 token:
accessToken + accessTokenExpiry,预留 60s 缓冲)/api/v1/auth/refresh 拿新 access(refreshToken 不变)/api/v1/auth/login 重新登录,写回 access + refresh收到 401 时脚本自动强制降级重试(force=True),Agent 无需感知。所有 token 自动写回 config.json。
完整用法运行 $CHUB --help(或查看 scripts/chub.cjs 文件头注释)。输出统一为 JSON,顶层字段遵循 CodingHub 的 ApiResponse 包装(code/message/data/success)。
| 子命令 | 说明 |
|---|---|
ping | 健康检查 GET /mcp/health |
whoami | 查看当前配置(脱敏,不泄露密码/token 明文) |
login | 强制重新登录(清空 access,重新走 login 流程) |
| 子命令 | 典型参数 |
|---|---|
tool-search | --query <kw> [--category ID] [--tag <标签名>] [--limit N] |
tool-get <toolId> | 获取详情(data.content 是 markdown) |
tool-files <toolId> | 获取文件列表 |
tool-download <toolId> <fileId> <outPath> | 下载文件到指定路径 |
tool-create | --name N --category ID --content C --version V [--desc D] [--tags t1,t2] |
tool-modify <toolId> | --name/--category/--content/--version/--desc/--tags(不传 version 自动递增) |
tool-file-upload <toolId> <file> [<file2>...] | [--readme R] 上传文件 |
tool-file-delete <toolId> <fileId> | 删除文件 |
| 子命令 | 典型参数 |
|---|---|
post-search | --query <kw> [--limit N] |
post-get <postId> | 获取详情 |
post-create | --title T --content C --category ID [--tags t1,t2] |
| 子命令 | 典型参数 |
|---|---|
kb-list | [--page N] [--size N] |
kb-search <kbId> <query> | [--topK K] [--rerank true|false] [--expand N] |
kb-create | --name N [--desc D] [--chunkMode M] [--chunkSize N] [--chunkOverlap N] |
kb-update <kbId> | --name N [--desc D] |
kb-delete <kbId> | 删除知识库 |
| 码 | 含义 |
|---|---|
| 0 | 成功 |
| 1 | 参数错误 |
| 2 | HTTP 错误或业务错误 |
| 3 | 配置缺失 / IO 异常 / 依赖缺失 |
Agent 应在 Bash 执行后检查 $?,非 0 时读取 stderr([chub] 前缀的错误信息)处理。
按需加载: 工具参数与 HTTP API 完整对照表详见
references/tool-reference.md;知识库完整操作详见references/kb-management.md;常见陷阱速查详见gotchas.md;任务完成后按assets/template.md格式输出结果报告。执行具体操作前先 Read 对应文件。
触发词: "查询工具列表"、"安装工具"、"有没有 XX 工具"、"安装 XX MCP"
当安装的是 MCP 类型工具(如 "安装 dbhub mcp"、"使用 codinghub mcp 安装 XX mcp")时:
| 规则 | 说明 |
|---|---|
| 下载目录 | 统一下载到 ~/CodingHub/(Windows: C:\Users\<用户名>\CodingHub\,macOS/Linux: ~/CodingHub/) |
| 目录不存在时 | 自动创建(mkdir -p ~/CodingHub) |
| 文件命名 | 保留原始文件名(如 dbhub-mcp-1.0.0.zip) |
| 后续步骤 | 下载完成后按工具文档中的安装说明继续执行(解压、配置 MCP Server 等) |
| 报告要求 | 任务结果报告中必须注明安装包下载到的完整路径 |
非 MCP 类型工具(如普通 skill)仍按原有逻辑下载到 skill 目录或用户指定路径。
h3_coding_hub_tool_search 按关键词搜索(可选传 tag 参数按标签名称过滤,忽略大小写)h3_coding_hub_tool_get 获取完整文档(含安装说明)h3_coding_hub_tool_files 获取文件列表h3_coding_hub_tool_download 获取下载链接(返回相对路径,需拼 {baseUrl})~/CodingHub/(MCP 类型)或目标 skill 目录(非 MCP 类型)tools.version$CHUB tool-search --query "<kw>" # 搜索
$CHUB tool-search --tag "开源" # 按标签搜索(忽略大小写)
$CHUB tool-get <toolId> # 读文档
$CHUB tool-files <toolId> # 列文件
# MCP 类型工具 → 下载到 ~/CodingHub/
$CHUB tool-download <toolId> <fileId> ~/CodingHub/<filename>
# 非 MCP 类型 → 下载到 skill 目录或指定路径
$CHUB tool-download <toolId> <fileId> /path/to/save.ext
| 规则 | 说明 |
|---|---|
| 位置 | 放在被安装 skill 的文件夹下,如 .codebuddy/skills/ui-ux-pro-max/tools.version |
| 内容 | 仅有版本号,如 1.0.0,不要包含 skill 名称或其他信息 |
| 用途 | 版本检查:安装前先读目标 skill 的 tools.version,与远程对比,仅版本不同时下载/更新 |
触发词: "发布 skill"、"上传工具到 CodingHub"
categoryId(通过 h3_coding_hub_tool_search 或 GET /api/v1/categories 推断)content(markdown,含介绍、安装、示例)h3_coding_hub_tool_create,记录 toolIdh3_coding_hub_tool_file_upload 获取 REST 端点信息curl -X POST {baseUrl}/api/v1/tools/{toolId}/files \
-F "files=@/path/to/file.zip" -F "readme=工具简介"
# 分类 ID 可直接 curl 拿(无需认证)
curl -s {baseUrl}/api/v1/categories
# 创建工具(自动 login + 携带 token)
$CHUB tool-create --name "my-skill" --category 1 \
--content "$(cat /tmp/skill.md)" --version "1.0.0" --desc "一句话介绍"
# 上传文件(multipart,无需认证)
$CHUB tool-file-upload <toolId> /path/to/skill.zip --readme "工具简介"
触发词: "更新工具"、"升级 skill 版本"
h3_coding_hub_tool_search 找到工具h3_coding_hub_tool_files 获取现有文件h3_coding_hub_tool_file_delete 删除旧文件h3_coding_hub_tool_modify 更新信息(不传 version 自动递增 1.0.0 → 1.0.1)$CHUB tool-search --query "<skill名>" # 找 toolId
$CHUB tool-files <toolId> # 看旧文件
$CHUB tool-file-delete <toolId> <fileId> # 删旧文件
$CHUB tool-modify <toolId> --content "$(cat /tmp/new.md)" # 更新内容 (不传 --version 自动递增)
$CHUB tool-file-upload <toolId> /path/to/new.zip
自动版本号规则: 1.0.0 → 1.0.1;1.0.0-beta → 1.0.1-beta;1.2.3 → 1.2.4。
触发词: "发帖到论坛"、"把这个文档发布到论坛"
categoryId(论坛分类)h3_coding_hub_post_createcurl -s {baseUrl}/api/forum/categories # 拿分类 ID
$CHUB post-create --title "标题" --content "$(cat /tmp/post.md)" --category 1
触发词: "创建知识库"、"上传文档"、"检索知识库"
按需加载:详见
references/kb-management.md。
$CHUB kb-list
$CHUB kb-create --name "kb1" --desc "说明"
$CHUB kb-search <kbId> "查询语句" --topK 5
$CHUB kb-update <kbId> --name "新名字"
$CHUB kb-delete <kbId>
$CHUB tool-get <toolId> 或 h3_coding_hub_tool_get 确认内容$CHUB tool-files <toolId> 或 h3_coding_hub_tool_files 确认列表$CHUB post-get <postId> 或 h3_coding_hub_post_get 确认内容h3_coding_hub_kb_document_status 或 GET /api/v1/knowledge/{kbId})→ 全部 READY 后 → $CHUB kb-search <kbId> "..." 验证检索