-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathconfig.sample.edn
More file actions
132 lines (131 loc) · 5.95 KB
/
Copy pathconfig.sample.edn
File metadata and controls
132 lines (131 loc) · 5.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
;; Sample of immutable Yetibot configuration.
;; This is equivalent to profiles.sample.clj.
;; Keys must not have "-" in them in order to remain compatible with multiple
;; forms of configuration.
{:yetibot
{:features {:github {:user "", :token ""}},
:wolfram {:appid ""},
:github {:endpoint "", :org ["" ""], :token ""},
:google {:api {:key ""}
:custom {:search {:engine {:id ""}}}
:options {:safe "high"}}
:db {:url "postgresql://localhost:5432/yetibot"
:table {:prefix "yetibot_"}},
:history {:disabled "false"},
:twitter {:search {:lang "en"},
:consumer {:secret "", :key ""},
:secret "",
:token ""},
:mail {:from "", :bcc "", :host "", :user "", :pass ""},
:alphavantage {:key ""}
:pagerduty {:token ""}
:jira {:default {:project {:key "Optional"}, :issue {:type {:id "3"}}},
:user "",
:projects [{:default {:version {:id "42"}}, :key "FOO"}],
:subtask {:issue {:type {:id "27"}}},
:domain "",
:password ""
:cloud "true"},
:monitoring {:host "" :port 5555 :interval 10}
;; the keys in adapters can be named anything you like so long as they do not
;; container "-" and are globally unique.
:adapters {:myteam {:type "slack",
:token "xoxb-111111111111111111111111111111111111"}
:k8s {:type "slack",
:token "xoxb-9999999999999999"}
:mydiscord {:type "discord"
:token "mt111111111111111111111"}
:freenode {:type "irc",
:username "yetibot",
:host "chat.freenode.net",
:port "7070",
:ssl "true"}
:mymattermost {:type "mattermost"
:host "yetibot-mattermost.herokuapp.com"
:token "h1111111111111111111111111"
:secure "true" ;; true by default
}},
:ssh {:groups
[{:user "",
:servers [{:host "", :name ""} {:host "", :name ""}],
:key "path-to-key"}]},
:url "http://localhost:3003",
:ebay {:appid ""},
;; Gemini powers image (banana) and video (veo) generation. The monthly budget
;; below is a single USD pool shared across banana + veo + agent.
:gemini {:key ""
;; optional: override the default image model (gemini-3.1-flash-image-preview)
;; :model "gemini-3.1-flash-image-preview"
;; shared monthly budget in USD (default: 5.00)
;; :monthly {:budget 5.00}
;; estimated cost per image in USD (default: 0.039)
;; :cost {:per 0.039}
;; how much one agent reply draws from the shared budget (default: 0.05)
;; :agent {:cost-per-session 0.05}
}
;; The `agent` command answers with a fast Kimi model, routed through a
;; Cloudflare AI Gateway (below) for unified observability and cost control.
:agent {:model "kimi-k2.5"}
;; Cloudflare AI Gateway: proxies the agent's model calls to an upstream
;; provider. Moonshot/Kimi is reached via a custom provider — create one in the
;; gateway with base URL https://api.moonshot.ai/v1 and name it (e.g. "moonshot").
:cloudflare {:ai-gateway {:account-id ""
:gateway-id ""
;; provider route prefix; for a custom provider named
;; "moonshot" this is "custom-moonshot" (the default)
:provider "custom-moonshot"
;; the upstream provider's API key (sent as the Bearer token)
:api-key ""
;; optional: only when the gateway has Authenticated Gateway on
;; :auth-token ""
}}
:giphy {:key ""},
:weather {:weatherbitio {:key "" :default {:zip ""}}},
:command {:prefix "!"
;; Whether or not embedded commands should be globally available
;; (enabled by default)
:embedded {:enabled "false"}
;; Whether to enable having a fallback command. Default is true.
:fallback {:enabled "true"
;; Override the default fallback help text. Default is
;; empty.
:help {:text "Welcome to Yetibot 👋"}}
;; Whitelists and blackists: these can be used to enable/disable
;; specific commands. Only one of these must be specified. If both
;; are specified, it is considered an error and will crash Yetibot
;; on startup. By default there is no whitelist or blacklist.
;;
;; Whitelist: when whitelist is specified, all commands are disabled
;; except those present in the `whitelist` collection. Example:
;;
;; :whitelist ["echo" "list"]
;;
;; Blacklist: when blacklist is specified, all commands are enabled
;; except those present in the `blacklist` collection. Example:
;;
;; :blackist ["echo" "list"]
}
;; the default command to fall back to if no other commands match
:default {:command "giphy"}
:jenkins {:cache {:ttl "3600000"},
:default {:job ""}
:instances
[{:user "jenkins-user",
:name "yetibot",
:apikey "abc",
:uri "http://yetibot/",
:default {:job "default-job-name"}}
{:name "yetibot.core"
:uri "http://yetibot.core/"}]},
:endpoint "http://my-yetibot.com",
:log {:level "debug"
:path "/var/log/yetibot/yetibot.log"
:rolling {:enabled "true"}},
:s3 {:secret {:key ""},
:access {:key ""}},
:wordnik {:key ""},
:imgflip {:username "", :password ""},
:admin {:commands ["observer" "obs"]
:users ["U123123" "~awesomeperson"]},
:nrepl {:port ""}
:karma {:emoji {:positive ":taco:" :negative ":poop:"}}}}