关于 paperclip-wiki-fetch
paperclip-wiki-fetch 是通过 llm-wiki 插件桥接接口读取 Paperclip Wiki 页面和来源列表的技能。它说明只读请求的路由与参数格式,也涵盖空间选择和页面路径处理。
主要功能
- 01获取页面内容
- 02列出 Wiki 页面
- 03列出已捕获来源
- 04列出 Wiki 空间与操作
- 05说明桥接请求和路径规则
适用场景
- 01按路径读取 Wiki 页面
- 02检查可用页面和来源
- 03读取前选择正确的 Wiki 空间
MCP 相关
它指导 MCP 客户端通过 paperclipApiRequest 调用插件桥接接口,包括省略开头的 `/api`,因为 MCP 会自动添加。技能记录了读取页面内容、页面、来源、空间和操作的路由。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bbengamin/ skills --skill paperclip-wiki-fetch安装后在 Claude Code 中输入/paperclip-wiki-fetch确认已加载。
详细介绍
Paperclip Wiki Fetch
通过 paperclipai.plugin-llm-wiki 插件桥接 API 获取 Paperclip wiki 数据。
此技能用于只读 wiki 检索。不要使用 /api/wiki/...;llm-wiki 通过 /api/plugins/paperclipai.plugin-llm-wiki/data/... 下的插件桥接路由公开数据。
输入
调用 API 前,请确认以下值:
- Paperclip API 基础 URL,例如
https://your-paperclip-host.example.com - 环境变量中的 bearer token,例如
TOKEN companyIdwikiId,通常为defaultspaceSlug— 除非指定了特定空间,否则为default;使用api/spaces路由列出空间- 页面
path,例如wiki/sources/rl-30-day-validation-plan.md
如果用户提供了看起来公开的 wiki URL,请将其视为 SPA 路由,并从中提取页面路径。例如:
https://your-paperclip-host.example.com/<company-slug>/wiki/page/wiki/sources/rl-30-day-validation-plan.md
映射为:
wiki/sources/rl-30-day-validation-plan.md
不要在 path 中包含公司 slug 前缀、/wiki/page/、查询字符串或片段。
路径形式
此插件挂载了两个接口。请确保前缀正确,否则所有调用都会返回 404:
- 通用数据桥接接口(读取):
/api/plugins/paperclipai.plugin-llm-wiki/data/<key>,JSON 请求体为{ "params": { ... } }。 - 限定范围的 REST 路由:
/api/plugins/paperclipai.plugin-llm-wiki/api/<route>(注意多出的/api部分),使用扁平 JSON 请求体或查询字符串。
**MCP 注意事项:**通过 MCP paperclipApiRequest 调用时,省略开头的 /api(MCP 会自动添加)。传入 /api/plugins/... 会变成 /api/api/plugins/... → 404 API route not found。直接使用 REST / curl 时,则应使用完整的 /api/plugins/... 路径并提供 bearer token。
路由
通过数据桥接接口读取(请求体为 { "params": { ... } }):
POST /api/plugins/paperclipai.plugin-llm-wiki/data/page-content # page markdown body + title, pageType, updatedAt, hash
POST /api/plugins/paperclipai.plugin-llm-wiki/data/pages # list wiki pages (optional includeRaw)
POST /api/plugins/paperclipai.plugin-llm-wiki/data/sources # list captured raw sources (rawPath, title, status)
限定范围的 REST 读取路由(使用查询字符串,而非 params):
GET /api/plugins/paperclipai.plugin-llm-wiki/api/spaces?companyId=<id>&wikiId=default # list wiki spaces
GET /api/plugins/paperclipai.plugin-llm-wiki/api/operations?companyId=<id>&spaceSlug=<s> # list ingest/query/lint operations
所有读取路由的访问权限均为 board-or-agent。
空间
此 wiki 按空间划分(wiki 根目录下以 slug 为前缀的文件夹)。spaceSlug 默认为 default,但也存在按创建者或团队划分的空间(例如 creator-jane,其 pathPrefix: spaces/<slug>)。使用 api/spaces 路由列出空间。每次读取时都传入目标 spaceSlug;省略该参数将访问 default。空间内的路径为相对路径(wiki/sources/foo.md、raw/...),不带 spaces/<slug> 前缀。
请求格式
发送带有顶层 params 对象的 JSON:
{
"params": {
"companyId": "<company-id>",
"wikiId": "default",
"spaceSlug": "default",
"path": "wiki/sources/rl-30-day-validation-plan.md"
}
}
对于 data/pages 和 data/sources,除非 API 明确支持按路径筛选以完成所请求的任务,否则请省略 path。
Curl 示例
获取页面内容:
curl -s -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
"https://your-paperclip-host.example.com/api/plugins/paperclipai.plugin-llm-wiki/data/page-content" \
-d '{
"params": {
"companyId": "<company-id>",
"wikiId": "default",
"spaceSlug": "default",
"path": "wiki/sources/rl-30-day-validation-plan.md"
}
}'
列出页面:
curl -s -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
"https://your-paperclip-host.example.com/api/plugins/paperclipai.plugin-llm-wiki/data/pages" \
-d '{
"params": {
"companyId": "<company-id>",
"wikiId": "default",
"spaceSlug": "default"
}
}'
列出已捕获的来源:
curl -s -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
"https://your-paperclip-host.example.com/api/plugins/paperclipai.plugin-llm-wiki/data/sources" \
-d '{
"params": {
"companyId": "<company-id>",
"wikiId": "default",
"spaceSlug": "default"
}
}'
操作规则
- 用户请求 wiki 数据且凭据已就绪时,可直接读取。
- 不要打印 bearer token,也不要将其写入文件。
- 如果 CLI 已配置,优先使用
paperclipai context show --json获取 API 基础 URL 和公司 ID。 - 仅当无法从上下文推断时,才询问缺失的公司、wiki、空间、页面路径或 token 来源。
- 如果 wiki 请求返回列表,请在选择页面前检查标题、路径、更新时间和哈希值。
- 如果获取页面失败,请确认路由为插件桥接路由、页面路径不含 SPA 前缀,且请求体使用
params。 - 除非添加了明确的写入路由且操作人员批准了修改工作流,否则应将此 API 视为只读。