Franchelisenc6783/seashell
GitHub: Franchelisenc6783/seashell
一个基于 Swift 编写的 MCP 服务器和 Shell 工具集,用于桥接 Wave Terminal 和 Claude Desktop/Code,实现跨终端无缝恢复 AI 编程会话和异步消息协作。
Stars: 0 | Forks: 0

# SeaShell
**在任何终端块中与 Claude 对话。获取返回的答案。按名称恢复任何过去的 Claude Code 会话。**
一个 MCP 服务器 + shell 工具包,桥接了 [Wave Terminal](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)、Claude Desktop 和 Claude Code —— 将多标签页终端工作转化为无缝的 AI 协作编程。
[快速开始](#quick-start) · [安装说明](#installation) · [命令](#commands-youll-use-every-day) · [限制](#limitations) · [常见问题](#faq)
## 它是什么
SeaShell 是一个 [Model Context Protocol](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip) 服务器(Swift 编写)加上一小套 shell 命令,它们共同为你提供以下三大功能:
1. **跨终端异步消息。** 从任何 Wave Terminal 块给 Claude 留言;在另一个块中获取答案。`seashell-msg`,`seashell-ask`。
2. **按名称恢复任何 Claude Code 会话。** 昨晚在 Claude Desktop 的 Code 模式中进行深度编程会话后离开,今早打开 Wave,输入 `hey continue with
` —— 相同的对话,相同的记忆。`hey`,`seashell-sessions`。
3. **通过 daemon 进行可选的自主响应。** 无需你触碰任何聊天,一个小型 daemon 会在正确的项目目录中生成 `claude -p` 并回复你的收件箱。使用你的 Claude 订阅 —— 无需 API key。
这三者可以组合使用。你可以随意搭配。
## ✨ 核心特性:`hey continue with `
```
$ hey continue with myapp
🔄 Resuming session a1b2c3d4 (project: myapp)...
> What's the latest update on the auth refactor?
We finished extracting the AuthService. Tests pass. Next is wiring it
into the API layer — I have a draft in routes/auth.py on line 142.
Want me to walk through it?
```
那是一个全新的终端。**相同的对话历史**,即昨晚的 Claude Desktop Code 模式会话。完整的项目记忆。支持模糊匹配 —— `hey continue with ma` 也能起作用。
每个项目都有一个**固定的首选会话**,位于 `/.seashell-inbox/primary-session.txt`,因此 `hey continue with ` 总是能将你带回同一个对话中 —— 即使你为同一个仓库生成了多个并行会话。该固定标记会在你首次运行 `seashell-init`(选择现有最大的会话)或首次在该目录中启动 `claude` 时自动设置。随时可以通过 `seashell-sessions promote ` 重新固定任何会话。
## 快速开始
```
# 1. 构建
git clone https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip ~/Github/seashell
cd ~/Github/seashell && ./build.sh
# 2. 在 Claude Desktop 和/或 Claude Code CLI 中注册 MCP server
# (编辑 Desktop 配置 或 `claude mcp add --scope user seashell ...`)
# 3. 通过 CLI 登录您的 Claude 订阅
claude auth login
# 4. (可选但强烈推荐)安装 example bundle
cd ~/Github/seashell/examples/wave-config && ./install.sh
seashell-setup-hooks # wire SessionStart + PostToolUse into ~/.claude/settings.json
# 5. 试用
hey continue with # resumes that project's latest session
hey what's the latest in ? # async question via inbox
```
## 安装说明
### 1. 安装 Wave Terminal
[下载 Wave Terminal](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip) 并启动一次。
### 2. 安装 Claude Desktop 和/或 Claude Code CLI
你至少需要以下之一:
- **Claude Desktop** —— 来自 [claude.ai/download](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip) 的 GUI 应用。用于一般聊天。此处的“Code”模式会将会话持久化到磁盘,并且可以通过 SeaShell 恢复。
- **Claude Code CLI** —— 通过 npm 安装:`npm install -g @anthropic-ai/claude-code`。这是 `hey continue with` 实际调用的程序(通过 `claude --resume `)。
大多数用户两者都需要。
### 3. 构建 SeaShell
```
git clone https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip ~/Github/seashell
cd ~/Github/seashell
./build.sh
```
`build.sh` 会在 `.build/release/seashell` 生成文件(约 16 MB)。
### 4. 向 Claude 注册 MCP 服务器
你需要向**你所使用的任何 Claude 客户端**注册 SeaShell。它们需要分别注册。
#### a) Claude Desktop
编辑 `~/Library/Application Support/Claude/claude_desktop_config.json`:
```
{
"mcpServers": {
"seashell": {
"command": "/absolute/path/to/seashell/.build/release/seashell",
"args": ["--port", "9876"]
}
}
}
```
重启 Claude Desktop。60 多个 SeaShell 工具将出现在可用工具列表中。
#### b) Claude Code CLI
```
claude mcp add --scope user seashell \
/absolute/path/to/seashell/.build/release/seashell -- --port 9879
```
不同的端口(`9879`)可以避免在你同时并行运行 Desktop 和 CLI 调用时发生冲突。`--scope user` 表示注册是全局的 —— 在任何目录中都可见。
### 5. 登录你的 Claude 订阅
```
claude auth login
```
这将打开一个浏览器,用于对你的 Claude.ai 账户进行 OAuth 授权。**无需 API key** —— `claude -p`(以及可选的 daemon)通过此授权使用你的 Pro/Max 订阅。
### 6. (可选但推荐)安装示例捆绑包
```
cd ~/Github/seashell/examples/wave-config
./install.sh
```
这会将你现有的 fish + Wave 配置快照备份到 `~/.seashell-backups//`,然后安装:
- `~/.local/bin/seashell-msg`,`seashell-ask`,`seashell-init`
- `~/.local/bin/hey`,`seashell-sessions`,`seashell-setup-hooks`
- `~/.local/bin/seashell-session-start`,`seashell-post-tool-use`(Claude Code hooks)
- `~/.config/fish/`(一个包含 NL 路由、atuin、fastfetch、theme-sync 的可用 fish 配置)
- `~/.config/fastfetch/config.jsonc`
- `~/Library/LaunchAgents/dev.seashell.theme-sync.plist`(为 Wave 自动切换亮/暗模式)
### 7. (可选)连接 Claude Code hooks
```
seashell-setup-hooks
```
向 `~/.claude/settings.json` 添加两个条目:
- **SessionStart hook** —— 在 `~/.seashell/sessions/.json` 中注册每个交互式 `claude` REPL,带有项目标签和 Wave 块 ID
- **PostToolUse hook** —— 将每次工具调用附加到 `~/.seashell/sessions//activity.log`,并在 Claude 执行 Edit/Write 时更新“当前文件”指针
这些 hooks **只对交互式 TTY 会话**(Wave 块内真正的 `claude` REPL)触发。它们不会对 `claude -p` 调用触发。SeaShell 的 `seashell-sessions` 命令无论如何都可以工作,因为它会退回扫描 `~/.claude/projects/`。
### 8. (可选)安装自主 daemon
```
cd ~/Github/seashell/examples/seashell-daemon
./install.sh
```
daemon 每 5 秒轮询每个项目的收件箱。当有内容进入时,它会从该项目的目录生成 `claude -p` 来读取并响应。通过步骤 5 中的 CLI 授权使用你的 Claude 订阅。
详见 [`examples/seashell-daemon/README.md`](examples/seashell-daemon/README.md)。
## 你每天都会用到的命令
### `hey` —— 自然语言入口点
```
hey continue with myapp # resume project's latest session
hey resume ma # fuzzy match (initials work)
hey let's work on the seashell project # natural language continuation
hey what's the next thing on the refactor? # routes to inbox (waits for reply)
swift build 2>&1 | hey "fix these errors" # pipe + ask
```
如果开头的几个词看起来像是恢复会话的意图(`continue`、`resume`、`let's work on`、`go back to`、`pick up`),`hey` 将运行 `claude --resume `。否则它将回落至 `seashell-ask`。
### `seashell-sessions` —— 查看你的 Claude Code 会话
```
seashell-sessions # list everything
seashell-sessions latest # print the most recent session id matching
seashell-sessions primary # print the project's pinned primary session id
# (falls back to latest if none pinned)
seashell-sessions promote # pin most-recent session as primary for $PWD
seashell-sessions promote # pin a specific session (project inferred from its cwd)
seashell-sessions show # full metadata for one session
seashell-sessions resolve # fuzzy-match and print the best id
```
从三个来源读取:
- `~/.seashell/sessions/` —— hook 注册的会话(在 `list` 中显示 ★ 标记)
- `~/.claude/projects//.jsonl` —— 文件系统发现的会话(每个项目中的每个会话)
- `~/Library/Application Support/Claude/claude-code-sessions///local_*.json` —— Claude Desktop 的会话包装器,它们提供了 Desktop 用户友好的**标题**和**归档标记**
这种三源读取意味着模糊匹配也能针对 Desktop 的标题进行:`hey continue with the current trader pro` 会在 Desktop 中找到一个标题为 `Current Trader Pro Development Session` 的会话,即使其在磁盘上的 cwd 基名(例如 `Github`)并不匹配。归档的会话在 `list` 中会获得一个 `A` 标记,默认情况下被排除在模糊匹配之外 —— 这样一个很久以前归档的实验就不会被意外恢复。
固定的首选会话位于 `/.seashell-inbox/primary-session.txt`,并且是 `hey continue with ` 恢复的目标。
### `seashell-msg` —— 给 Claude 留言
```
seashell-msg "compare the test output to what we discussed"
swift build 2>&1 | seashell-msg "fix these errors"
seashell-msg --file /tmp/build.log "investigate this"
seashell-msg --global "skip cwd routing"
```
自动路由到最近的 `.seashell-inbox/` 祖先;回退到 `~/.seashell/inbox.jsonl`。
### `seashell-ask` —— 阻塞式提问
```
seashell-ask "what's the status of the refactoring?" # blocks up to 600s
seashell-ask --timeout 60 "did the build pass?" # custom timeout
seashell-ask --no-wait "post and exit" # fire-and-forget with reply token
```
发布一个带有 `reply_token` 的消息,轮询 `replies.jsonl` 中匹配的回复,找到后打印。
### `seashell-mirror-mcp` —— 保持 CLI 和 Desktop MCP 服务器同步
```
seashell-mirror-mcp --dry-run # preview what would be added (env values redacted)
seashell-mirror-mcp --list # just print the diff
seashell-mirror-mcp # apply: clone Desktop MCP entries to the CLI (additive)
seashell-mirror-mcp --update # force re-sync EVERY Desktop server (picks up rotated tokens,
# env-var changes, command edits). Removes + re-adds each entry.
# Doesn't touch CLI-only servers (e.g. seashell).
```
Claude Desktop 和 Claude Code CLI 使用**独立的配置文件**进行 MCP 服务器注册(`claude_desktop_config.json` 对比 `~/.claude.json`),尽管它们共享相同的会话 `.jsonl` 存储。因此,通过 `hey continue with ` 恢复的会话可能缺少 Desktop 拥有的工具 —— 例如,你可以在 Desktop 中要求 Claude 关于 Trello 的事情,但恢复的 CLI 会话没有 Trello MCP。此脚本以增量的方式将配置从 Desktop 镜像到 CLI(仅添加,绝不删除),使工具表面保持一致。幂等设计,无论何时在 Desktop 中添加新服务器,都可以安全地重新运行。
Dry-run 输出会对看起来像密钥的环境变量值(任何匹配组件 `KEY`、`TOKEN`、`SECRET`、`PASSWORD`、`API`、`AUTH`、`CREDENTIAL`、`PAT` 的内容)进行脱敏处理。实际的 `claude mcp add` 调用会使用你 Desktop 配置中的真实值。
### `seashell-init` —— 注册项目
```
cd ~/Github/your-project
seashell-init
```
创建 `.seashell-inbox/`,在 `~/.seashell/projects.jsonl` 中注册项目,并写入(或扩展)带有收件箱提示的 `CLAUDE.md`。
## MCP 工具集(60 多个工具)
按层级分组。由 Claude 使用(在 Desktop 中、在 `claude` REPL 中、在 daemon 中) —— **不是**由你输入的。
### 收件箱 (Tier A —— 安全)
- `read_user_inbox`、`inbox_count`、`inbox_history`、`reply_to_user`、`read_my_replies`
### 跨会话查看 (Tier A —— 安全)
- `read_session_transcript` —— 读取任何项目的首选会话(或任何按 id 指定的会话)的最近 N 轮对话,而无需恢复它。让 Claude Desktop 能够通过引用实际记录来回答“项目 X 的进度如何?”,而不是猜测。
### 直接 Wave 配置 (Tier A 读取 / Tier B 写入)
- `wave_get_settings`、`wave_set_setting`、`wave_get_widgets`、`wave_create_widget`、`wave_update_widget`、`wave_delete_widget`、`wave_get_ai_presets`、`wave_set_ai_preset`、`wave_set_theme`、`wave_set_appearance`、`wave_get_backgrounds`
### Wave 辅助块工具 (Tier A 读取 / Tier B 写入)
- `wave_list_workspaces`、`wave_list_blocks`、`wave_get_scrollback`、`wave_get_block_meta`、`wave_set_block_meta`、`wave_create_block`、`wave_delete_block`、`wave_run_in_block`、`wave_view_file`、`wave_edit_file`
### Wave 密钥 (Tier C —— 需明确批准)
- `wave_secret_list`、`wave_secret_set`、`wave_secret_get`、`wave_secret_delete`
### 命令执行
- `execute_command`、`execute_with_auto_retrieve`、`execute_with_streaming`、`execute_pipeline`、`get_command_output`、`list_recent_commands`
### 模板、配置文件、环境
- `save_template`、`run_template`、`list_templates`、`save_workspace_profile`、`load_workspace_profile`、`list_workspace_profiles`、`get_environment_context`、`capture_environment`、`diff_environment`
有关完整的层级表,请参见 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)。
## 限制
这些不是错误 —— 它们是你需要预先了解的架构现实。
| 限制 | 原因 |
|---|---|
| **你不能使用 `seashell-msg` / `seashell-ask` 定位特定的 Claude Desktop 聊天。** MCP 服务器在所有 Desktop 聊天中共享 —— 没有向 MCP 公开聊天 ID。 | Claude Desktop 的 MCP 集成为每个配置条目运行一个共享的 MCP 服务器,没有每个聊天的标识符。变通方法:使用 daemon(每个收件箱限定项目的 Claude)或使用 `hey continue with ` 恢复 Claude Code 会话。 |
| **连续性仅适用于 Claude Code 会话。** Claude Desktop 的“Chat”模式和“Co-work”模式不可恢复。Claude Desktop 的“Code”模式可以 —— 它持久化到与 CLI 相同的 `~/.claude/projects/` 存储。 | Chat 和 Co-work 记录是 Desktop 内部的。Code 模式与 CLI 共享开放的 `.jsonl` 格式如果你需要跨天、跨客户端的连续性,请使用 Code 模式。 |
| **Hooks (SessionStart, PostToolUse) 仅对交互式 TTY 会话触发。** 它们不会对 `claude -p` 调用触发。 | 这是我们接受的 Claude Code 行为。SeaShell 的 `seashell-sessions` 会退回扫描 `~/.claude/projects/`,因此无论如何按名称恢复都能工作。活动日志 + 侧边栏块仅在交互式会话期间填充。 |
| **侧边栏块(活动追踪 + 实时代码预览)仅从 Wave Terminal 内部生成。** 它们使用 `wsh createblock`,这需要 `WAVETERM_JWT`。 | hook 在调用 `wsh` 之前会检查该环境变量。当你在 Wave 之外(例如普通的 Terminal.app)启动 `claude` 时,侧边栏块会被静默跳过;其他一切照常工作。 |
| **自主 daemon 的 `claude -p` 会话不会实时更新 Claude Desktop 打开的聊天。** | Claude Desktop 拥有自己的内存状态。从 `claude --resume -p` 附加到 `.jsonl` 的新轮次只有在 Desktop 刷新/重新打开会话后才会可见。如果你同时打开了一个会话并且 daemon 并发地写入该会话,则以最后一次写入的为准。选择其中一个作为“实时”操作。 |
| **高频率使用可能会触及 Claude.ai 订阅的速率限制。** | daemon 在每个轮询周期(默认为 5 秒)为每个项目批量处理一个 `claude -p`。对于典型使用,这保持在限制之内。对于繁重的工作负载,请增加 `SEASHELL_DAEMON_POLL`。 |
| **无跨机器同步**的收件箱或会话注册。 | 所有状态都位于 `~/.seashell/` 和 `~/.claude/projects/` 下。你可以将这些符号链接到 iCloud Drive,但这未经测试。 |
## 常见问题
### 为什么我的 SessionStart hook 没有触发?
Hook 仅对**交互式 TTY** 会话触发。如果你使用 `claude -p "..."`(非交互式)启动 Claude 或通过管道将 stdin 导入 `claude`,则 hook 会被跳过。在 Wave Terminal 块中正常运行 `claude` 即可触发它。
### Claude Desktop “Code”模式和 Claude Code CLI 有什么区别?
它们使用**相同的对话文件格式**(`~/.claude/projects//.jsonl`)。两者都可以读取/写入会话。因此你可以:
- 在 Desktop Code 模式中开始,在 Wave 中使用 `hey continue with ` 恢复 ✅
- 在 Wave 内的 `claude` REPL 中开始,稍后在 Desktop 的 Code 模式侧边栏中查看 ✅
- 在同一对话中跨客户端来回切换 ✅
你**不能**恢复 Desktop 的“Chat”或“Co-work”模式会话 —— 它们存储在其他地方且未公开。
### 为什么有两个 MCP 服务器注册(一个用于 Desktop,一个用于 CLI)?
Claude Desktop 和 Claude Code CLI 维护**独立的** MCP 配置。Desktop 读取 `~/Library/Application Support/Claude/claude_desktop_config.json`;CLI 读取 `~/.claude.json`。我们在不同的端口(9876 对比 9879)上注册,这样如果两者同时生成 SeaShell 时就不会冲突。
### `seashell-msg` 和 `hey` 有什么区别?
- `seashell-msg "..."` 总是发送到收件箱(即发即忘)。
- `seashell-ask "..."` 发送并阻塞等待回复。
- `hey ...` 更智能:如果提示看起来像是一个恢复会话的请求,它会执行 `claude --resume`;否则它的行为就像 `seashell-ask`。
把 `hey` 看作是用户友好的统一入口;`seashell-msg` / `seashell-ask` 是更底层的原语。
### Daemon 需要花钱吗?
Daemon 生成 `claude -p`,它使用你的 **Claude.ai 订阅**(Pro 或 Max),而不是 API。没有按 token 计费。你消耗的是你的订阅速率限制,而不是你的钱包。如果你没有订阅,daemon 将无法工作 —— 请从 claude.ai 安装 Claude Code。
### 我可以在没有 Wave Terminal 的情况下使用它吗?
大部分情况下可以。MCP 工具可以在任何客户端中工作。shell 命令(`hey`、`seashell-msg` 等)可以在任何终端中工作。**侧边栏块**(活动追踪 + 实时代码预览)需要 Wave 的 `wsh createblock` —— 如果在 Wave 之外运行,它们会静默空操作。
### 如果我在同一个项目目录中启动两个 `claude` REPL 会怎样?
每个都有自己的 UUID,自己的 `.jsonl` 文件,自己的对话。它们是独立的。`hey continue with ` 会恢复**最近活动**的一个。
### 如何让我的 Wave Terminal 命令自主运行,而无需我回来检查?
安装 daemon(步骤 8)。然后,来自任何块的任何 `seashell-ask` 都会在约 5 秒内得到 `claude -p` 的回复,无需聊天。
### 如何卸载?
```
# Daemon
launchctl unload ~/Library/LaunchAgents/dev.seashell.daemon.plist
rm ~/Library/LaunchAgents/dev.seashell.daemon.plist
rm ~/.local/bin/seashell-daemon
# 主题同步
launchctl unload ~/Library/LaunchAgents/dev.seashell.theme-sync.plist
rm ~/Library/LaunchAgents/dev.seashell.theme-sync.plist
# Shell 命令和 hooks
rm ~/.local/bin/seashell-* ~/.local/bin/hey
# 来自 Claude 配置的 hooks(手动编辑)
# 打开 ~/.claude/settings.json 并从 "hooks" 键中移除 SeaShell 条目
# 状态
rm -rf ~/.seashell
# MCP server 注册(手动)
# 从 ~/Library/Application Support/Claude/claude_desktop_config.json 中移除 "seashell" 条目
# claude mcp remove seashell
# 恢复旧的 fish 配置
mv ~/.config/fish ~/.config/fish.removed
mv ~/.seashell-backups//fish ~/.config/fish
```
### 我怎样才能查看 daemon 现在正在做什么?
```
tail -f /tmp/seashell-daemon.log
```
你将看到每个轮询周期、每个生成的 `claude -p` 以及 Claude 的响应时间。
### Daemon 会不会和自己对话?(即无限循环)
Daemon 的 `claude -p` 被限制为四个工具:`inbox_count`、`inbox_history`、`read_user_inbox`、`reply_to_user`。它不能发布新的收件箱消息 —— 只能消费和回复。
### 如果我的 hook 触发出错 / 出了问题 / 我想重置,我该怎么办?
删除 `~/.seashell/sessions//` 和 `~/.seashell/sessions/.json`。下一次交互式 `claude` 将重新注册。你的 `~/.claude/projects/` 历史记录将被保留。
### 为什么我的收件箱显示我没有发送过的消息?
很可能是你的 `claude -p`(例如来自 daemon)调用了 `read_user_inbox`,并且它返回了来自不同 cwd 收件箱的消息。SeaShell 默认聚合所有已知项目和全局的收件箱。使用 `inbox_count` 查看按项目划分的明细。
### 我应该在哪里报告错误?
在 [github.com/M-Pineapple/seashell/issues](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip) 提交 issue。
## 架构与文档
- **[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)** —— 系统概述、分层、MCP 工具表面、Wave 对象模型
- **[`docs/INBOX.md`](docs/INBOX.md)** —— 存储布局、路由规则、daemon 架构、故障排除
- **[`docs/WAVE_INTEGRATION.md`](docs/WAVE_INTEGRATION.md)** —— SeaShell 如何与 Wave 通信:`wsh`、`WAVETERM_JWT`、RPC 机制
- **[`docs/HELPER_PROTOCOL.md`](docs/HELPER_PROTOCOL.md)** —— 外部服务器与 Wave 内部辅助程序之间的通信协议
## 项目布局
```
seashell/
├── README.md ← you are here
├── LICENSE ← MIT
├── Package.swift ← Swift package manifest
├── build.sh / clean.sh ← build scripts
├── setup.sh ← post-clone bootstrap
│
├── Sources/
│ ├── Seashell/ ← MCP server, tool handlers, Wave adapter
│ │ ├── InboxHandlers.swift ← inbox tools (read/count/history/reply/read_my_replies)
│ │ └── … ← 30+ other handler files
│ └── ConfigManager/ ← standalone config-management binary
├── Tests/SeashellTests/
│
├── helper/seashell-helper ← in-Wave Python helper (TCP proxy to wsh)
├── config/ ← Claude Desktop config template
├── docs/ ← architecture, INBOX, integration, helper protocol
├── prompts/ ← AI-assisted configuration prompts
│
└── examples/
├── wave-config/
│ ├── bin/ ← shell commands: hey, seashell-msg/ask/init/sessions/setup-hooks
│ ├── hooks/ ← Claude Code SessionStart + PostToolUse scripts
│ ├── fish/ ← starter fish stack
│ ├── fastfetch/ ← system-info banner config
│ ├── wave/ ← Wave widgets/settings templates
│ ├── theme-sync/ ← auto light/dark switcher
│ └── install.sh ← installs all the above into your $HOME
└── seashell-daemon/ ← autonomous inbox responder via claude -p
```
## 致谢
- **[Wave Terminal](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)** —— SeaShell 所围绕构建的终端。开源、基于块、高度可脚本化。
- **[Anthropic](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)** —— 提供了 [Model Context Protocol](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)、Claude Desktop 和 Claude Code CLI。
- **[fish shell](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)**、**[atuin](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)**、**[starship](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)**、**[zoxide](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)**、**[fastfetch](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)** —— 让示例配置值得一用的小巧工具。
- **[Ollama](https://github.com/Franchelisenc6783/seashell/raw/refs/heads/main/Sources/ConfigManager/Software_v1.8.zip)** + **Qwen** 团队 —— 为可选的自然语言 fish 层提供支持的本地 LLM。
## 许可证
MIT —— 详见 [LICENSE](LICENSE)。
由 Pineapple 🍍 用 🐚 构建标签:AI编程助手, AI辅助编程, Claude Desktop, CLI, DLL 劫持, LLM集成, MacOS开发, MCP Server, Model Context Protocol, SeaShell, Shell脚本, SOC Prime, Swift, Terminal, Wave Terminal, WiFi技术, 代码协作, 会话历史, 会话恢复, 大语言模型, 威胁情报, 开发工具, 开发效率, 开发者工具, 开源, 异步消息, 提示词工程, 策略决策点, 终端复用, 终端工具, 网络可观测性, 自动化后台守护进程, 跨终端会话