《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={{LATEX:0}}{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 # 访问日志
社区资源
| 资源 | 链接 |
|---|---|
| GitHub | https://github.com/charmbracelet/crush |
| Discord | https://discord.gg/charm |
| 文档 | https://charm.sh/crush |
未来展望
功能路线图
短期目标 (v0.x)
├── 更多 MCP 服务器支持
├── 改进的代码编辑体验
└── 性能优化
中期目标 (v1.x)
├── 多模态支持
├── 自定义 Agent
└── 插件系统
长期目标 (v2.x)
├── 本地模型支持
├── 协作功能
└── 企业级特性
《Crush 从入门到精通》系列文章全部完结!
感谢阅读!如果你喜欢这个系列,欢迎在 zhichai 论坛讨论交流。 🚀
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
领取 2000万 Tokens
通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力