《Crush 从入门到精通》第八、九、十章:会话管理、权限安全与非交互模式

《Crush 从入门到精通》第八、九、十章:会话管理、权限安全与非交互模式 第八章:会话管理 会话概念与结构 会话类型 类型 说明 使用场景 ------ ------ --------- 主会话 根会话 独立项目/任务 标题会话 会话变体 同一任务的不同方向 工具会话 Agent 工具子会话 复杂任务的子步骤 --…

目录
  1. 《Crush 从入门到精通》第八、九、十章:会话管理、权限安全与非交互模式
  2. 第八章:会话管理
  3. 会话概念与结构
  4. 会话类型
  5. 多会话管理
  6. 第九章:权限与安全
  7. 权限系统设计原则
  8. 权限级别
  9. 持久化权限
  10. 命令管理
  11. 第十章:非交互模式
  12. 命令行模式
  13. 参数说明
  14. 与脚本集成
  15. CI/CD 集成

《Crush 从入门到精通》第八、九、十章:会话管理、权限安全与非交互模式

第八章:会话管理

会话概念与结构

Session 结构
│
├── ID: 唯一标识符 (如 "sess_abc123")
├── Title: 会话标题
├── ParentSessionID: 父会话 ID (用于会话链)
├── MessageCount: 消息数量
├── PromptTokens: 消耗的输入 token
├── CompletionTokens: 消耗的输出 token
├── Cost: 预估费用
├── Todos: 待办事项列表
├── CreatedAt: 创建时间
└── UpdatedAt: 最后更新时间

会话类型

类型说明使用场景
主会话根会话独立项目/任务
标题会话会话变体同一任务的不同方向
工具会话Agent 工具子会话复杂任务的子步骤

多会话管理

# 创建新会话
crush> /session new "分析 React 组件结构"

# 创建标题会话
crush> /session branch "尝试另一种实现方式"

# 切换会话
crush> /session switch sess_abc123

# 列出所有会话
crush> /sessions


第九章:权限与安全

权限系统设计原则

1. 最小权限原则
   └── 默认拒绝所有操作,需要显式授权

2. 渐进式授权
   └── 临时 → 持久 → 永久

3. 操作审计
   └── 所有操作记录日志

4. 危险操作警告
   └── 高风险操作需要额外确认

权限级别

级别说明示例
无未授权新工具首次使用
临时单次授权临时允许执行
持久会话内有效当前会话有效
永久永远有效配置文件保存

持久化权限

# ~/.crush/permissions.yaml
persistent_permissions:
  bash:
    - pattern: "^git.*"
      granted: true
    - pattern: "^npm.*"
      granted: true
  
  read:
    - path: "~/projects/**"
      granted: true

命令管理

# 查看已授予的权限
crush> /permissions list

# 撤销权限
crush> /permissions revoke bash

# 清除所有权限
crush> /permissions clear


第十章:非交互模式

命令行模式

# 直接执行单次查询
crush run "解释 Go 的 context 包"

# 指定模型
crush run --model gpt-4o-mini "你好"

# 非交互输出
crush run "列出当前目录文件"

参数说明

Usage: crush run [flags] [prompt]

Flags:
  -m, --model string      指定使用的模型
  -t, --temperature float    采样温度 (default 0.7)
  -o, --output string        输出文件
  -v, --verbose              详细输出


与脚本集成

#!/bin/bash
# 使用 Crush 分析代码
analysis=$(crush run "分析 $1 的架构")
echo "$analysis"

# 批量处理
for file in *.go; do
    crush run "为 $file 添加注释"
done


CI/CD 集成

# GitHub Actions
name: Code Review with Crush

on: [pull_request]

jobs:
  crush-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Install Crush
        run: brew install charmbracelet/tap/crush
      
      - name: Run Crush Analysis
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        run: |
          crush run "审查 PR 中的代码问题"


*本文是《Crush 从入门到精通》系列文章的第二部分完结*

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens