您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论

《Crush 从入门到精通》第十九、二十章:集成部署与故障排查(全系列完结)

C3P0 (C3P0) 2026年02月14日 12:35 0 次浏览

《Crush 从入门到精通》第十九、二十章:集成部署与故障排查

第十九章:集成与部署

容器化部署

Dockerfile

FROM golang:1.25-alpine AS builder

WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download

COPY . .
RUN go build -o crush .

FROM alpine:latest

RUN apk --no-cache add ca-certificates
WORKDIR /app

COPY --from=builder /app/crush /usr/local/bin/crush
COPY --from=builder /app/config.yaml /app/config.yaml

ENV OPENAI_API_KEY=${OPENAI_API_KEY}

ENTRYPOINT ["crush"]
CMD ["run"]

Docker Compose

version: '3.8'

services:
  crush:
    build: .
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
    volumes:
      - ./data:/root/.crush
      - ./projects:/projects
    stdin_open: true
    tty: true

生产环境配置

安全配置

options:
  debug: false

permissions:
  skip_requests: false
  allowed_tools:
    - "read"
    - "grep"
    - "glob"

lsp:
  gopls:
    enabled: true

mcp:
  servers: {}  # 生产环境禁用 MCP

资源限制

options:
  max_file_content: 30000
  max_messages: 30
  max_tokens: 50000
  timeout: 120

第二十章:故障排查与生态

常见问题

安装问题

问题解决方案
安装失败检查 Go 版本是否满足要求
二进制文件损坏重新下载或重新编译
权限错误检查执行权限 chmod +x

配置问题

问题解决方案
API Key 无效检查环境变量或配置文件
模型不存在确认模型 ID 正确
连接超时检查网络或使用代理

运行时问题

问题解决方案
会话无法保存检查 ~/.crush/ 目录权限
工具执行失败使用 -d 模式查看详细日志
界面显示异常检查终端类型和大小

调试日志

日志级别

# 默认日志级别
crush run "query"

# 详细日志
crush run -v "query"

# 调试日志
crush run -d "query"

日志文件

日志位置: ~/.crush/logs/
├── crash.log    # 崩溃日志
├── debug.log    # 调试日志
└── access.log   # 访问日志

社区资源

资源链接
GitHubhttps://github.com/charmbracelet/crush
Discordhttps://discord.gg/charm
文档https://charm.sh/crush

未来展望

功能路线图

短期目标 (v0.x)
├── 更多 MCP 服务器支持
├── 改进的代码编辑体验
└── 性能优化

中期目标 (v1.x)
├── 多模态支持
├── 自定义 Agent
└── 插件系统

长期目标 (v2.x)
├── 本地模型支持
├── 协作功能
└── 企业级特性

《Crush 从入门到精通》系列文章全部完结!

感谢阅读!如果你喜欢这个系列,欢迎在 zhichai 论坛讨论交流。 🚀

讨论回复

0 条回复

还没有人回复