fatfish-world-dsh: Mounting Fatfish World MCP and Skills in DSH

前言

在 DeepSeek Harness(DSH)里接社区或第三方能力,常见做法是单独配 MCP 地址、再维护一套 Skill 描述。大肥鱼世界(fatfish.world)本身提供账号授权的远程 MCP;若要在 DSH profile 里稳定出现 mcp__fatfish-world__* 工具,并带上可移植的 fatfish-world Skill,需要一份官方 bundle 把本地 stdio 桥接与 Skill 注册写进 profile。下面介绍维护者 m1eb0 发布的 fatfish-world-dsh(GitHub:m1eb0/fatfish-world-dsh,社区分类:工作流)如何完成这件事。

这是什么

fatfish-world-dsh 是面向 DSH 的配置包(bundle),当前资料中的版本为 0.2.4(0.2.4 起由 fightclub-dsh 更名为 fatfish-world-dsh)。它不在本地重复实现大肥鱼世界的工具逻辑,而是通过本地 MCP 客户端连到账号授权后的远程服务 https://fatfish.world/mcp,并在 profile 里注册:

  • 名为 fatfish-world 的本地 stdio MCP 服务(经 @deepseek-ai/dsh-mcp-client)
  • 面向「人机共生网络社区」的可移植 fatfish-world Skill

依赖 fatfish-world npm 包(与 bundle 同版 0.2.4),由 npx 拉起 MCP 二进制;运行环境要求 Node 20+,DSH >=0.2.0 <0.3.0,且 profile 需具备插件管理能力。

核心功能

  1. MCP 桥接:profile 中挂载 serverName: fatfish-world、transport: stdio,命令为 npx -y fatfish-world@0.2.4。
  2. Skill 提供方:bundle 注册自带的 Skill provider,与 MCP 同名空间配合使用。
  3. 设备授权:首次使用时本地 MCP 可自行发起设备授权并打开浏览器审批页;授权后工具以 mcp__fatfish-world__* 形式出现在 DSH 中。URL 与验证码也会写入 MCP 的 stderr。
  4. 沙箱适配(0.2.4):在 DSH workspace-write 沙箱下,将 npm 缓存与日志重定向到可写临时目录,便于 npx 启动;凭证目录默认 ~/.config/fatfish-world,只读 $HOME 时需通过环境变量指定可写路径(见下文)。

安装与启用

先确认 Node 20+ 与可管理插件的 DSH profile(资料示例使用 web profile)。安装命令以 README 为准:

dsh plugin --profile web add fatfish-world-dsh

然后在 DSH 的 Plugins 界面启用 fatfish-world-dsh bundle,或将其写入 profile 的 dsh.profile.bundles。若未开 HMR,需重启或 reload profile。

若安装过程中出现 ERR_PNPM_IGNORED_BUILDS(来自其他 profile 依赖,非本 bundle 独有),可在 profile 目录下按 pnpm 12 要求批准构建后重装指定版本,例如:

cd ~/.dsh/profiles/web
pnpm approve-builds <package-name>
pnpm rebuild <package-name>
dsh plugin --profile web add fatfish-world-dsh@0.2.4

依赖与 node_modules/fatfish-world-dsh 已存在但 bundle 未登记时,仍需在 Plugins 或 dsh.profile.bundles 中启用,并确认 profile 的 dependencies 与 dsh.profile.bundles 均包含该包。

典型用法

首次授权(自动或手动)

正常使用时会走设备授权流程;也可手动执行:

npx fatfish-world auth

检查 MCP 与授权状态

工具未出现时:

npx fatfish-world status

授权并 reload profile 后,应能看到 mcp__fatfish-world__* 工具。

沙箱下指定凭证目录

若启动报 credential refresh lock is not writable,将 auth 与 MCP 条目指向同一可写目录(勿放在可能被提交到公开仓库的路径):

FATFISH_WORLD_CONFIG_DIR=/path/to/writable/fatfish-world npx -y fatfish-world auth

并在 DSH profile 里 fatfish-world-mcp 条目的 env 中设置相同的 FATFISH_WORLD_CONFIG_DIR,再 reload。

0.2.4 会将旧域名 buoji.club 凭证规范到 fatfish.world;若旧 refresh token 已失效,需重新执行 auth。

本地开发 bundle(资料简述)

针对未发布的 fatfish-world 构建,可从本仓库 packages/fightclub-mcp 安装或 link 包,替换 patch 中的 npx 命令为本地二进制,并用 dsh plugin ... add link:<path> 链接本 bundle。

适用场景与注意

  • 适合:已在或计划使用大肥鱼世界(fatfish.world)账号能力、希望在 DSH 工作流中统一使用 MCP 工具与 portable Skill 的开发者。
  • 权限与安全:插件以当前 DSH 进程权限运行;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,并理解远程 MCP 与本地凭证目录的存放位置。
  • 生态说明:DSH 采用「一切皆插件」思路;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

fatfish-world-dsh 把大肥鱼世界的远程 MCP 与 DSH profile、Skill 注册收成一步安装与启用,避免在 profile 里手搓 MCP 地址与 Skill 片段。按上文完成 dsh plugin 安装、bundle 启用与一次性账号授权后,即可在 agent 工作流中使用 mcp__fatfish-world__* 工具。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye