开发者智慧服务

一个独立的Go MCP服务器,为开发者提供智慧名言、可信建议和灵感指导,适用于日常开发激励和项目健康监控。

  • by davidl71
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 davidl71/devwisdom-go

使用说明

天神走

智慧模块提取(概念验证)

一个独立的Go MCP服务器,为开发人员提供智慧引语、值得信赖的顾问和鼓舞人心的指导。从exarp项目中提取,作为对exarp模块使用编译语言(Go)的概念证明。

🎯 项目状态

第一阶段: ✅ 完整(核心结构)
第2阶段: ✅ 完成(智慧数据移植-16/21本地来源)
第三期: ✅ 完整(顾问系统)
阶段4: ✅ 完成(MCP协议实施)
第4.5阶段: ✅ 完成(SDK迁移-2026-01-09)
第6阶段: ✅ 完成(随机源选择器)
电流相位:第5阶段(咨询记录)
语言:转到1.23+
MCP-SDK:官方 modelcontextprotocol/go-sdk v1.2.0
类型:MCP服务器/开发人员工具

📋 快速开始

# Clone the repository
git clone <repository-url>
cd devwisdom-go

# Build MCP server
make build

# Build CLI
make build-cli

# Run MCP server
make run

# Run CLI commands
./devwisdom-cli quote
./devwisdom-cli consult --metric security --score 75
./devwisdom-cli briefing --days 7

# Run with watchdog (crash monitoring + file watching)
make watchdog

# Test
make test

💻 CLI使用情况

这 devwisdom CLI提供了对智慧名言和顾问咨询的便捷访问。CLI可以在两种模式下运行:

  • 命令行接口命令模式:从终端运行时(stdin是TTY)
  • MCP服务器模式:通过stdio运行时(用于MCP集成)

构建CLI

# Build CLI binary
make build-cli

# Build both server and CLI
make build-all

# Install CLI globally
make install-cli

命令

# Get a random wisdom quote (date-seeded, consistent per day)
devwisdom quote

# Get quote from specific source
devwisdom quote --source stoic

# Get quote with score context (affects aeon level selection)
devwisdom quote --source art_of_war --score 85

# Get quote in JSON format
devwisdom quote --json

# Get quote text only (quiet mode)
devwisdom quote --quiet

# Consult an advisor for a metric
devwisdom consult --metric security --score 40

# Consult an advisor for a tool
devwisdom consult --tool project_scorecard --score 75

# Consult an advisor for a workflow stage
devwisdom consult --stage daily_checkin --score 60

# List all available wisdom sources
devwisdom sources

# List sources in JSON format
devwisdom sources --json

# List all available advisors
devwisdom advisors

# List advisors in JSON format
devwisdom advisors --json

# Get daily briefing (today's wisdom)
devwisdom briefing

# Get briefing for last 7 days
devwisdom briefing --days 7

# Get briefing in JSON format
devwisdom briefing --json

# Show version
devwisdom version

# Show help
devwisdom help

例子

# Quick daily wisdom
devwisdom quote

# Security advice when score is low
devwisdom consult --metric security --score 25

# Planning stage advice
devwisdom consult --stage planning --score 60

# View all Stoic quotes available
devwisdom sources --json | jq '.[] | select(.name == "stoic")'

# Get quote for high-performing project
devwisdom quote --source pistis_sophia --score 90

# Get quiet quote for scripts
QUOTE=$(devwisdom quote --quiet)
echo "Today: $QUOTE"

命令选项

quote 命令:

  • --source SOURCE:智慧源名称(例如。, stoic, pistis_sophia, random)
  • --score SCORE:项目健康评分(0-100),影响aeon级别选择
  • --json:JSON格式的输出
  • --quiet:仅输出报价文本

consult 命令:

  • --metric METRIC:度量名称(例如。, security, testing, documentation)
  • --tool TOOL:工具名称(例如。, project_scorecard)
  • --stage STAGE:舞台名称(例如。, daily_checkin, sprint_planning)
  • --score SCORE:项目健康评分(0-100),用于度量/工具咨询
  • --json:JSON格式的输出
  • --quiet:仅输出报价文本

briefing 命令:

  • --days DAYS:要包含的天数(默认值:1)
  • --json:JSON格式的输出

用例

每日站立:

# Get today's wisdom for team standup
devwisdom quote

项目健康监测:

# Get advice based on current project score
SCORE=$(calculate-project-score)
devwisdom consult --metric security --score $SCORE

CI/CD集成:

# Add wisdom to build notifications
QUOTE=$(devwisdom quote --quiet)
echo "Build wisdom: $QUOTE" | send-notification

文档生成:

# Generate markdown with quotes
devwisdom sources --json | jq -r '.[] | "## \(.name)\n\n\(.description)\n"'

📚 有关详细的使用示例,请参阅:

快速参考

命令 描述 示例
quote 获取智慧名言 devwisdom quote --source stoic
consult 咨询顾问 devwisdom consult --metric security --score 40
sources 列出来源 devwisdom sources
advisors 列出顾问 devwisdom advisors
briefing 每日简报 devwisdom briefing --days 7
version 显示版本 devwisdom version
help 显示帮助 devwisdom help

🐚 Zsh插件

安装zsh插件,以便与标签完成和帮助函数方便地进行shell集成。

安装

自动安装(推荐)

# From project root
cd zsh
./install.sh

安装脚本将:

  • 检测你的zsh框架(哦,我的zsh或标准zsh)
  • 将插件文件复制到适当的位置
  • 配置您的 ~/.zshrc 自动地
  • 设置选项卡完成

手动安装

对于我的zsh用户:

# Create plugin directory
mkdir -p ~/.oh-my-zsh/custom/plugins/devwisdom

# Copy plugin files
cp zsh/devwisdom.plugin.zsh ~/.oh-my-zsh/custom/plugins/devwisdom/
cp zsh/_devwisdom ~/.oh-my-zsh/custom/plugins/devwisdom/

# Make completion executable
chmod +x ~/.oh-my-zsh/custom/plugins/devwisdom/_devwisdom

# Add to ~/.zshrc
echo 'plugins=(... devwisdom)' >> ~/.zshrc

对于标准zsh用户:

# Create plugin directory
mkdir -p ~/.zsh/plugins/devwisdom

# Copy plugin files
cp zsh/devwisdom.plugin.zsh ~/.zsh/plugins/devwisdom/
cp zsh/_devwisdom ~/.zsh/plugins/devwisdom/

# Make completion executable
chmod +x ~/.zsh/plugins/devwisdom/_devwisdom

# Add to ~/.zshrc
cat >> ~/.zshrc << 'EOF'
# devwisdom plugin
source ~/.zsh/plugins/devwisdom/devwisdom.plugin.zsh
fpath=(~/.zsh/plugins/devwisdom $fpath)
autoload -Uz compinit && compinit
EOF

安装后:

# Reload your shell configuration
source ~/.zshrc

插件命令

zsh插件提供了方便的包装函数:

# Show daily wisdom (random source, date-seeded)
devwisdom-daily

# Show daily wisdom from specific source
devwisdom-daily stoic

# Quick quote with optional source and score
devwisdom-quote              # Random quote
devwisdom-quote stoic        # Quote from stoic source
devwisdom-quote stoic 75     # Quote from stoic with score 75

# Consult advisor (metric, tool, or stage)
devwisdom-consult security 40                    # Metric advisor
devwisdom-consult project_scorecard 75          # Tool advisor
devwisdom-consult daily_checkin 60               # Stage advisor

# List available sources
devwisdom-sources

# List available advisors
devwisdom-advisors

# Get daily briefing (default: 1 day)
devwisdom-briefing
devwisdom-briefing 7         # Last 7 days

Tab 补全

该插件包括完整的标签完成支持:

# Tab completion for commands
devwisdom <TAB>              # Shows: quote, consult, sources, advisors, briefing

# Tab completion for options
devwisdom quote --<TAB>       # Shows: --source, --score, --json, --quiet
devwisdom consult --<TAB>    # Shows: --metric, --tool, --stage, --score, --json, --quiet

汽车日常智慧

在shell启动时启用自动日常智慧:

# Add to ~/.zshrc
export DEVWISDOM_AUTO_DAILY=true

启用后,每次打开新的终端会话时,您都会看到每日智慧语录。

用例

日常动机:

# Add to ~/.zshrc for daily inspiration
devwisdom-daily

项目健康检查:

# Quick consultation when starting work
devwisdom-consult security $(get-project-score)

脚本集成:

#!/bin/zsh
# Get wisdom for automation scripts
QUOTE=$(devwisdom quote --json)
echo "Today's wisdom: $(echo $QUOTE | jq -r '.quote')"

自定义别名:

# Add to ~/.zshrc
alias wisdom='devwisdom quote'
alias advice='devwisdom consult'
alias daily='devwisdom-daily'

🔄 看门狗脚本

该项目包括一个监视脚本,用于监视服务器是否崩溃,并可以在文件更改时自动重新加载。

基本用法

# Monitor for crashes only
./watchdog.sh

# Watch files and reload on changes
./watchdog.sh --watch-files

# Watch files and restart on changes
./watchdog.sh --watch-files --restart-on-change

# Log to file
./watchdog.sh --watch-files --log-file watchdog.log

特性

  • 碰撞检测:如果服务器崩溃,则自动重新启动服务器
  • 文件监视:监视器 sources.json、配置文件和Go源文件
  • 热重新加载:在不完全重新启动的情况下重新加载源(如果支持)
  • 自动重建:Go源文件更改时重建二进制文件
  • 重启限制:可配置的最大重启尝试次数
  • 优雅关闭:处理SIGTERM以实现干净停机

监视器选项

  • --watch-files:启用文件监视(使用 fswatch 在macOS上,退回到轮询)
  • --restart-on-change:文件更改时重新启动服务器(默认值:reload)
  • --log-file PATH:将输出记录到文件
  • --pid-file PATH:自定义PID文件位置
  • --max-restarts N:最大重启尝试次数(默认值:10)
  • --restart-delay SEC:重新启动之间的延迟(默认值:2)

生成文件目标

make watchdog          # Run with file watching and reload
make watchdog-restart  # Run with file watching and restart on change
make watchdog-monitor  # Run with crash monitoring only

交叉编译

为多个平台构建二进制文件:

# Build for specific platform
make build-windows     # Windows (amd64)
make build-linux       # Linux (amd64, arm64)
make build-darwin      # macOS (amd64, arm64)

# Build for all platforms
make build-all-platforms

# Build and package release archives
make build-release     # Creates zip/tar.gz archives in dist/release/

发布档案:

  • 窗户: devwisdom-{version}-windows-amd64.zip
  • Linux: devwisdom-{version}-linux-{arch}.tar.gz
  • macOS: devwisdom-{version}-darwin-{arch}.tar.gz

构建工件:

  • 二进制文件放置在 dist/{platform}-{arch}/
  • 发布档案放在 dist/release/
  • 使用 make clean-dist 删除所有构建工件

🔄 CI/CD

持续集成

该项目使用GitHub Actions for CI/CD:

  • CI工作流 (.github/workflows/ci.yml):

    • 根据推送和拉取请求运行
    • Go 1.21和1.22测试
    • 用golangci棉绒织物
    • 生成二进制文件以验证编译
    • 上传测试覆盖率报告
  • 发布工作流 (.github/workflows/release.yml):

    • 版本标签上的触发器(例如。, v1.0.0)
    • 为所有平台构建二进制文件:
      • Windows(amd64)
      • Linux(amd64、arm64)
      • macOS(amd64、arm64)
    • 创建包含所有工件的GitHub版本
    • 自动生成发行说明

创建发布

# Create and push a version tag
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0

发布工作流将自动:

  1. 为所有平台构建二进制文件
  2. 将它们打包到发布档案中
  3. 创建GitHub版本
  4. 将所有工件附加到发布中

CI/CD状态

查看工作流状态和日志:

🏗️ 项目结构

devwisdom-go/
├── cmd/server/          # MCP server entry point
├── internal/
│   ├── wisdom/         # Wisdom engine (quotes, sources, advisors)
│   ├── mcp/            # MCP protocol handler
│   └── config/         # Configuration management
├── docs/               # Documentation
├── Makefile           # Build commands
└── go.mod             # Go dependencies

📊 规划和状态

任务在中跟踪 举个例子 (Todo2 SQLite)。看 PROJECT_GOALS.md 用于相位分解和 PRD.md 以满足全部要求。

🚀 阶段

  1. ✅ 第一阶段:核心结构(完整)
  2. ✅ 第2阶段:智慧数据移植(16/21本地来源完整)
  3. ⏳ 第三期:顾问系统
  4. ⏳ 阶段4:MCP协议实施
  5. ⏳ 阶段5:咨询记录
  6. ✅ 第6阶段:每日随机源选择(完整)
  7. ⏳ 第7阶段:可选功能(Sefaria API)
  8. ⏳ 第8阶段:测试
  9. ⏳ 第9阶段:文件
  10. ⏳ 第10阶段:波兰和部署

📚 文档

核心文件

  • 项目_高斯.md -战略阶段和目标
  • PRD.md -产品需求文档(129个用户故事)
  • TODO.md -按阶段划分的任务

参考文件

  • docs/README.md -完整的文档索引
  • docs/WATCHDOG.md -看门狗脚本文档
  • docs/PERFORMANCE.md -性能分析和基准测试
  • docs/MCP_SERVERS.md -MCP服务器配置指南
  • docs/CURSOR_EXTENSION.md -游标扩展架构(⚠️ 未来目标-目前尚未实现)

看 docs/README.md 获取完整的文档索引。

🔗 相关

  • 源:Python智慧模块 exarp 项目
  • MCP规范: https://modelcontextprotocol.io/
  • Go文档: https://go.dev/doc/effective_go

📝 许可证

[在此处添加您的许可证]

👤 作者

从exarp项目中提取,作为编译语言PoC。