dscli

command module
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: Apache-2.0 Imports: 37 Imported by: 0

README

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

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

🎯 什么是 dscli?

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

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

📦 版本信息

当前版本:v0.7.0

版本历史
  • 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

  • ask_expert.go
  • ask_user.go
  • balance.go
  • chat.go
  • client.go
  • code_format.go
  • code_read_section.go
  • code_read_structure.go
  • code_review.go
  • code_search_semantic.go
  • code_write_section.go
  • context.go
  • db.go
  • editor.go
  • emacs_waiting.go
  • file.go
  • file_read.go
  • file_read_with_line_range.go
  • file_search.go
  • file_search_with_pattern.go
  • file_write.go
  • file_write_with_line_range.go
  • fim.go
  • formatter.go
  • git.go
  • git_add.go
  • git_am.go
  • git_amend.go
  • git_commit.go
  • git_diff.go
  • git_format_patch.go
  • git_log.go
  • git_output.go
  • git_push.go
  • git_status.go
  • history.go
  • issue.go
  • issue_assign.go
  • issue_close.go
  • issue_create.go
  • issue_lib.go
  • issue_list.go
  • issue_reopen.go
  • issue_show.go
  • issue_update.go
  • main.go
  • markdown2org.go
  • message.go
  • models.go
  • netrc.go
  • output.go
  • parse.go
  • prompt.go
  • prompt_analyze_tool.go
  • root.go
  • segment.go
  • segment_cli.go
  • segment_examples.go
  • segment_init.go
  • segment_manager.go
  • segment_template.go
  • session.go
  • shell.go
  • shell_python.go
  • shell_shell.go
  • shell_validate.go
  • skill.go
  • skill_by_name.go
  • skill_sql.go
  • sqlite.go
  • system_prompt.go
  • system_prompt_template.go
  • system_prompt_tool.go
  • tabwrt.go
  • tool.go
  • tool_def.go
  • tool_truncate.go
  • types.go
  • version.go
  • waiting_animation.go
  • web.go

Directories

Path Synopsis
internal
shell
Package shell 提供安全的 Shell 脚本执行功能 基于 mvdan/sh interp 实现,替代 os/exec
Package shell 提供安全的 Shell 脚本执行功能 基于 mvdan/sh interp 实现,替代 os/exec

Jump to

Keyboard shortcuts

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