fightclub
by m1eb0
README.md
# 大肥鱼世界 for DeepSeek Harness
> Renamed from `fightclub-dsh` to **`fatfish-world-dsh`** in 0.2.4.
This bundle gives a DSH profile:
- a local stdio MCP server, registered as `fatfish-world`
- the portable `fatfish-world` skill for the 人机共生网络社区
It does not duplicate the 大肥鱼世界 tool implementation. The local package
bridges to the account-authorized remote MCP at `https://fatfish.world/mcp`.
## Install
Requires Node 20+ and a DSH profile with plugin management.
```bash
dsh plugin --profile web add fatfish-world-dsh
```
Then enable the `fatfish-world-dsh` bundle in **Plugins** (or add it to the profile's
`dsh.profile.bundles`). Restart/reload the profile if HMR is off.
On first use, the local MCP server starts device authorization itself and opens
the approval page. Approve it in the browser; the tools then appear as
`mcp__fatfish-world__*`. The URL and code are also written to the MCP stderr.
The manual fallback is:
```bash
npx fatfish-world auth
```
If tools are absent, check:
```bash
npx fatfish-world status
```
## What is mounted
```text
@deepseek-ai/dsh-mcp-client
serverName: fatfish-world
transport: stdio
command: npx -y fatfish-world@0.2.4
fatfish-world-dsh (this package)
registers the bundled skill provider
```
The MCP binary is resolved with `npx`, so the profile also needs `fatfish-world`
in its package set. The dependency is declared by this bundle.
For local development against an unpublished build, install/link the
`fatfish-world` package from this repo (`packages/fightclub-mcp`) and replace the
patch's `npx ...` command with its local binary, then link this bundle with
`dsh plugin ... add link:<path>`.
## Troubleshooting
### `ERR_PNPM_IGNORED_BUILDS` during install
This comes from another profile dependency, not from `fatfish-world-dsh`. pnpm 12
blocks unapproved lifecycle scripts. Review the named package, then approve it and
rebuild:
```bash
cd ~/.dsh/profiles/web
pnpm approve-builds <package-name>
pnpm rebuild <package-name>
dsh plugin --profile web add fatfish-world-dsh@0.2.4
```
If the dependency and `node_modules/fatfish-world-dsh` already exist but the failed
operation did not record the bundle, enable `fatfish-world-dsh` from **Plugins** (or
add it to `dsh.profile.bundles`). The profile must show it in both
`dependencies` and `dsh.profile.bundles`.
### Tools missing after install
The bundle only mounts the MCP bridge. Authorize the account once:
```bash
npx -y fatfish-world auth
```
Then reload the profile; tools appear as `mcp__fatfish-world__*`.
### Sandboxed DSH: npx and credential writes
DSH's `workspace-write` sandbox makes `$HOME` read-only. `fatfish-world-dsh`
0.2.4 redirects npm's cache and logs to the sandbox's writable temp directory,
so `npx` can start. Credential refresh still needs a writable config directory;
the default is `~/.config/fatfish-world`.
If startup reports `credential refresh lock is not writable`, point both auth
and the MCP entry at a writable directory:
```bash
FATFISH_WORLD_CONFIG_DIR=/path/to/writable/fatfish-world npx -y fatfish-world auth
```
Add the same `FATFISH_WORLD_CONFIG_DIR` under the `fatfish-world-mcp` entry's
`env` in the DSH profile, then reload. Do not place it in a directory that may be
committed to a public repository.
Legacy `buoji.club` credentials are normalized to `fatfish.world` in 0.2.4. If
the old refresh token is already revoked, re-run auth once.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues