dscli

command module
v0.7.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2026 License: Apache-2.0 Imports: 27 Imported by: 0

README

dscli - AI增强的开发者工具箱

     o
    /|\
     |   +---------------+
    / \  | dscli tools   |
~~~~~~~~~| AI assistant  |
dscli    +---------------+

🎯 什么是 dscli?

  1. AI 编程助手 - 基于 DeepSeek API 的智能对话和代码补全
  2. 开发工具 - 文件操作等实用功能
  3. 集成环境 - 支持 Emacs 集成,提供流畅的开发体验

简单说:dscli = AI助手 + 开发工具 + 命令行效率

📦 版本信息

当前版本:v0.7.1

版本历史
  • v0.7.1 (2026-03-16) - 重构测试,性能从27秒提升到6秒(4.2倍)
  • v0.7.0 (2026-03-16) - 集成自动代码格式修正工具链,重构shell命令判断逻辑,添加超时控制
  • v0.6.0 (2026-03-13) - 合并vimscript分支,添加vimscript语言支持,优化web reader,modernize工具修复
  • v0.5.5 (2026-03-12) - 修复modernize工具引入的问题,优化代码结构
  • v0.5.4 (2026-03-09) - 添加AskExpert函数,改进AI助手交互体验
  • v0.5.2 (2026-03-08) - 重构代码结构,分离关注点,提高可维护性
  • v0.5.0 (2026-02-28) - 功能完备版本,包含43个迭代
  • v0.4.0 - 格式化系统重构,支持多种输出模式
  • v0.3.0 - 添加Git issue管理功能
  • v0.2.0 - 增强AI工具调用能力
  • v0.1.0 - 初始版本发布

✨ 核心功能

🤖 AI 功能
  • dscli chat - 与 DeepSeek AI 对话,支持工具调用(文件读写、Git操作等)
  • dscli fim - 代码补全功能,提升编码效率
  • dscli models - 查看可用的 AI 模型
  • dscli balance - 查看 API 使用情况和余额
🛠️ 实用特性
  • 多格式输出 - 支持 --mode markdown(默认)和 --mode org 输出格式
  • 数据库支持 - SQLite 存储对话历史、配置等
  • 项目感知 - 自动识别 Git 仓库根目录,按项目隔离对话历史
  • dscli version - 查看版本信息

🚀 快速开始

安装
安装
# 方式1:使用 go install(推荐)
go install gitcode.com/dscli/dscli@v0.5.4

# 方式2:从源码构建
git clone https://gitcode.com/dscli/dscli.git
cd dscli
git checkout v0.5.4
make install    # 安装到 $GOPATH/bin

# 方式3:下载预编译二进制
# 查看 Releases 页面获取最新版本
配置
  1. 获取 DeepSeek API 密钥:DeepSeek 平台
  2. 设置环境变量:
export DEEPSEEK_API_KEY="your-api-key-here"

📖 使用示例

1. AI 编程助手
# 基本对话(Markdown格式输出)
echo "如何用Go实现HTTP服务器?" | dscli chat

# Org模式输出
echo "解释这个算法的时间复杂度" | dscli chat --mode org

# 使用推理模型
echo "分析这个代码的性能问题" | dscli chat --model deepseek-reasoner

# 代码补全
echo "def fibonacci(n):" | dscli fim
2. 查看模型和余额
# 查看可用模型
dscli models

# 查看账户余额
dscli balance

# JSON格式输出
dscli models --format json
dscli balance --format json
3. 查看版本信息
dscli version

⚙️ 高级配置

环境变量
# 必需:API 密钥
export DEEPSEEK_API_KEY="your-api-key"

# 可选:API 地址(默认 https://api.deepseek.com)
export DEEPSEEK_BASE_URL="https://api.deepseek.com"

# 可选:模型配置
export MODEL_DEEPSEEK_CHAT="deepseek-chat"
export MODEL_DEEPSEEK_REASONER="deepseek-reasoner"
配置文件
  • 配置目录:~/.dscli/
  • 环境文件:~/.dscli/dscli.env
  • 日志文件:~/.dscli/dscli.log
  • 数据库:~/.dscli/sqlite.db

🏗️ 项目结构

dscli/
├── main.go              # 主入口
├── version.go           # 版本信息
├── chat.go              # AI 对话功能
├── fim.go               # 代码补全
├── models.go            # 模型管理
├── balance.go           # 余额查询
├── db.go                # 数据库操作
├── tools.go             # 工具调用
├── prompt.go            # 系统提示词
├── formatter.go         # 格式化器
├── fmt.go               # 格式化工具
├── markdown2org.go      # Markdown到Org转换器
└── client.go            # API客户端

🔄 工作流程

  1. 项目感知 - 自动识别 Git 仓库根目录
  2. 上下文隔离 - 每个项目有独立的对话历史
  3. 工具集成 - AI 可以直接操作文件、执行 Git 命令
  4. 多格式输出 - 支持 Markdown 和 Org 模式输出

🤝 贡献

欢迎贡献代码、报告问题或提出建议!

  1. Fork 项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

📄 许可证

Apache License 2.0

📞 支持


dscli v0.5.4 - 让命令行开发更智能、更高效! dscli v0.5.4 - 让命令行开发更智能、更高效!

Documentation

The Go Gopher

There is no documentation for this package.

Source Files

  • balance.go
  • chat.go
  • config_edit.go
  • fim.go
  • formatter.go
  • history.go
  • main.go
  • models.go
  • parse.go
  • prompt.go
  • root.go
  • skill.go
  • version.go
  • wechat_cmd.go

Directories

Path Synopsis
internal
dsc
Package dsc provides deepseek client
Package dsc provides deepseek client
shell
Package shell 提供安全的 Shell 脚本执行功能 基于 mvdan/sh interp 实现,替代 os/exec
Package shell 提供安全的 Shell 脚本执行功能 基于 mvdan/sh interp 实现,替代 os/exec
sqlite
Package sqlite - provide sqlite integration
Package sqlite - provide sqlite integration
toolcall
Package toolcall provides toolcall framework
Package toolcall provides toolcall framework
toolcall/alltools
Package alltools to load all tools
Package alltools to load all tools
toolcall/file
Package file provides file ops tool calls
Package file provides file ops tool calls
toolcall/issue
Package issue to address issue create, list, show, assign, close
Package issue to address issue create, list, show, assign, close
toolcall/shell
Package shell for shell tools like shell and python
Package shell for shell tools like shell and python
wechat
Package wechat provides wechat api integration
Package wechat provides wechat api integration

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL